• ベストアンサー

フリーソフトをVBで起動させるには

フリーソフトをVBで立ち上げたいのですが、やり方がわかりません。コマンドボタンを押すと立ち上がるようにしたいです。ご存知の方ご教授お願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • chie65536
  • ベストアンサー率41% (2512/6032)
回答No.6

>エラーが出てしまいます。 >他のパソコンでも使えるようにしたいので、出来れば相対パスがいいんですが…。 VBプロジェクトがあるフォルダと同じフォルダに vkey.bat という名前でバッチファイルを作ります。 バッチファイルの中は vkey.exe とだけ書いておきます。 そのvkey.batのプロパティを開き、プログラム・タブの 作業フォルダを「vkey.exeがあるフォルダ」に 実行時の大きさを「通常のウィンドゥ」に 「プログラムの終了時にウィンドゥを閉じる」のチェックを付けます。 あとは、実行するコードを Private Sub コマンド1_Click()   Call Shell("vkey.bat") End Sub に変えます。 他のPCに持って行って使う時は、VBプロジェクト本体とvkey.batをコピーし、コピー先のvkey.batのプロパティを開き、プログラム・タブの 作業フォルダを「vkey.exeがあるフォルダ」に 実行時の大きさを「通常のウィンドゥ」に 「プログラムの終了時にウィンドゥを閉じる」のチェックを付けます(このプロパティの設定は、コピー先のPCすべてで行う必要があります) VBプロジェクト本体は、どのPCにコピーしても一切変更の必要はありませんし、vkey.exeがどこにあっても「vkey.batのプロパティの作業フォルダの場所」を正しく設定する事で、動作環境の違いを吸収できます。 この方法であれば、VBプロジェクト本体がDドライブのどこか、vkey.exeがCドライブどこか、と言う構成でもOKです。

cross22
質問者

お礼

お礼が遅くなってすいません。大いに参考にさせて頂き、解決することができました。ありがとうございました。

その他の回答 (5)

  • KenKen_SP
  • ベストアンサー率62% (785/1258)
回答No.5

EXE の場所を起点とするなら、 Shell App.Path & "\..\test\test.exe", vbNormalFocus こんな感じで、一つ上のディレクトリーにあるテストフォルダのtest.exe を実行できますが、こういうことかな?

cross22
質問者

お礼

お礼が遅くなってすいません。何とか解決できました。ありがとうございました。

  • investyou
  • ベストアンサー率23% (13/56)
回答No.4

起動する*.vbpのあるところがカレントディレクトリになってる。 いま絶対パスを打ち込んで起動できるようになったわけですね? ChDirをつかえば、カレントディレクトリが変更できるよ。 その後にフリーソフトのVB(*.exe)をShellで叩けばいいと思います。 あ、ちなみVB6ね

cross22
質問者

お礼

お礼が遅くなってすいませんでした。参考にさせていただきました。

  • teiou68k
  • ベストアンサー率28% (202/721)
回答No.3

思いつき(^^;) カレントディレクトリが違うから? カレントかえてみたらどうなりますか?

cross22
質問者

補足

ご回答ありがとうございます。できました!もうひとつ質問なんですが、相対パスでは出来ないのでしょうか?他のパソコンでも使えるようにしたいので、出来れば相対パスがいいんですが…。ご存知ご教授よろしくお願いします。

  • chie65536
  • ベストアンサー率41% (2512/6032)
回答No.2

Private Sub コマンド1_Click()   Call Shell("c:\windows\notepad.exe",vbNormalFocus) End Sub

cross22
質問者

補足

chie65536さん。素早いご回答ありがとうございました。サンプルコードを書いて頂いたのでたすかりました。KENKEN_SPさんへの補足にも書いたのですが、エラーが出てしまいます。どうにかエラーがでないようにしたいです。いい方法がありましたらご教授願います。

  • KenKen_SP
  • ベストアンサー率62% (785/1258)
回答No.1

こんにちは。KenKen_SP です。 簡単なのは Shell 関数です。引数にパスを渡すだけです。これを Click イベントに書いてください。 例) Shell("calc.exe")

cross22
質問者

補足

KenKen_SPさん。素早いご回答ありがとうございます。 さっそくやってみたのですが、エラーが出てしまいます。”キー定義ファイル(vkey.kdf)がありません”と出て、ファイルを開くダイアログが出てきます。それでvkey.kdfというファイルを開くと立ちあがるのですが、エラーを出ないようにするにはどうすればいいでしょうか? フリーソフトはvkeyというソフトキーボードを使っています。

関連するQ&A