- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:ShellExecuteってなんで関数?)
なぜShellExecuteは関数なのか?
このQ&Aのポイント
- ShellExecuteは、ファイルを開く際に使用する関数です。
- ShellExecuteは、ファイルのパスを引数に取り、関数内部でファイルを開く処理を行います。
- 関数は戻り値を返すことができるため、ShellExecuteも関数として設計されています。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
http://msdn.microsoft.com/en-us/library/windows/desktop/bb774094(v=vs.85).aspx にメソッド (methods)と載っています。 質問者さんが探し当てたのは、API?関連のだと思います。 でも、関数|メソッド の境界線はぼやけていて厳密でもないような気がします。
その他の回答 (2)
- keithin
- ベストアンサー率66% (5278/7941)
回答No.2
>ファイル名 = "C:\Test用テキストファイル.txt" >CreateObject("Shell.Application").ShellExecute ファイル名 指定のファイルは必ず開けるものだと、思い込んでる限りはメソッドのように使ってるので構いません。関数として使う価値が無い、と言い換える事もできます。 ご覧になった資料で「戻り値」について解説されていますが、成功した時、失敗した時にそれぞれ戻り値が変わります。 そういう「戻り値」があるから(用意されているから)関数なワケですが、shellexecuteの続きの処理で実行結果に応じて何かをしなきゃならない場合に、例えばそもそも成功したのか失敗したのかを何か別の手立てで確認しなきゃならないとか、あるいは失敗した時にいちいちエラー処理ルーチンに分岐して状況を調べて手当てをしてresumeするなんて事をしないでも、関数にして戻り値を受け取ることで一発で済みます。
- notnot
- ベストアンサー率47% (4900/10358)
回答No.1
あなたが書いているように、戻り値があるので、関数です。 戻り値が無いと、失敗したかどうかわからないじゃ無いですか。 指定したファイル名のファイルが存在しないとエラーですよ。
質問者
お礼
ありがとうございました。
お礼
ありがとうございました。