- ベストアンサー
VBでフリーソフトを起動する方法とは?
- VBAを使用してフリーソフトを起動する方法について教えてください。
- 特に、QR Code EditorというソフトをVBAで開く方法について教えてください。
- 試した方法ではファイルが見つからずエラーになってしまいます。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
ご質問者様に絶対に不足しておられるのはpathという概念ではないでしょうか。 無条件にファイル名だけで動かせるのはpathを通してあるディレクトリだけです。 このpathは環境変数より確認できます。C:\windowsなどが該当します。 それ以外のファイルはフルパスが必要になります。当然、この場合もフルパスでなければなりません。 rc = Shell("C:\Program Files (x86)\Psytec\QR Code Editor\PsQREdit.exe",vbNormalFocus) とすれば動きます。 このソフトが必ずここにあればいいのですが、入れる人によって場所が違うでしょうから、 普通はenv.datなどのデータファイルに必要な情報を保存するようにします。 例えばこのファイルのフルパスを アプリ起動時に読み込んで、Edit_filepathとかの変数に記憶しておけば rc=Shell(Edit_filepath,vbNormalFocus) とかなりスマートにできるわけです。
その他の回答 (1)
- ss-ak
- ベストアンサー率58% (23/39)
rc = Shell("PsQREdit.exe", vbNormalFocus) ↓ rc = Shell("""C:\Program Files (x86)\Psytec\QR Code Editor\PsQREdit.exe""", vbNormalFocus) で、動くのではないかと思います。 notepad.exeの場合は、path環境変数に、実行ファイルの置かれているパスが入っているため、フルパスを省略できますが、そうでない場合は、フルパス指定が必要。 その際に、フルパスに半角スペースが含まれる場合は、上記の通り、ダブルクォートで囲む必要があります。 参考情報の例: http://support.microsoft.com/kb/417089/ja
お礼
ご回答ありがとうございます。
お礼
notepad.exeが起動するのは、 「pathを通してあるディレクトリ」だからのようですね。 仰る通り、フルパスにしたら起動しました。 [env.dat][Edit_filepath]という単語についてよく理解できなかったので勉強します。ありがとうございました。