マクロで他アプリを起動させる方法

このQ&Aのポイント
  • マクロを使用して他のアプリを起動する方法について説明します。
  • 普段使用しているWindows標準ツール以外のアプリをマクロで起動する方法についてお教えします。
  • .exeがつかないアプリを起動するための指示方法を紹介します。
回答を見る
  • ベストアンサー

マクロで他アプリを起動させる

マクロで他アプリを起動させたいと思っているのですが 色々調べてみても解決できなかったので質問させていただきます。 ●他アプリを起動・・・ notepadなどのWindows標準ツールではなく、その他のアプリを起動したい と思っています。 以下のようにLhacaの「.exe」ファイルは開けました。 Dim rc As Long rc = Shell("C:\Program Files\Lhaca\Lhaca.exe", vbNormalFocus) If rc = 0 Then MsgBox "起動に失敗しました" 「.exe]がつかないアプリについてどういう指示を出せば起動できるのでしょうか? よろしくお願いします。

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

  • ベストアンサー
  • bin-chan
  • ベストアンサー率33% (1403/4213)
回答No.1

> 「.exe]がつかないアプリについてどういう 具体的にはなんですか? ショートカットのプロパティ>リンク先 を見るとヒントになるかも。

hiro7th
質問者

補足

回答ありがとうございます。 ショートカットのプロパティを見てみました。 たとえばSKYPEなどです「"C:\Program Files\Skype\"」

関連するQ&A

  • VBAでフリーソフトを起動する事は可能でしょうか?

    Sub Sample1() Dim rc As Long rc = Shell("notepad.exe", vbNormalFocus) If rc = 0 Then MsgBox "起動に失敗しました" End Sub でメモ帳は開けるのですが、 QR Code Editorというソフトを入れていて、 それをVBAで開きたいのですがどうすればいいでしょうか? QR Code Editorは、 "C:\Program Files (x86)\Psytec\QR Code Editor\PsQREdit.exe" に入っています。 Sub Sample1() Dim rc As Long rc = Shell("PsQREdit.exe", vbNormalFocus) End Sub にすると、ファイルが見つかりません。 (Error 53)になってしまいます。 ご教授よろしくお願いします。

  • エクセルVBAで外部ソフトFFFTPを操作(2)

    「FFFTPを立ち上げて、ホスト一覧からサイト名を選んで接続」 この作業をエクセルVBAで行いたいと前回質問した者です。 http://okwave.jp/qa/q7596470.html そこで、 Sub Sample1() Dim rc As Long rc = Shell("C:~\FFFTP.exe"-s サイト名", vbNormalFocus) If rc = 0 Then MsgBox "起動に失敗しました" End Sub この書き方で、成功したのですが、エクセルSheet1、A1のセルにサイト名があるとして、サイト名のところにA1セルを入れるにはどのように書けばいいのでしょうか? rc = Shell("C:~\FFFTP.exe"-s (ここにA1のセルを入れたい)", vbNormalFocus) VBAがほとんど分からず苦労してます。どなたか教えていただけないでしょうか?

  • エクセルVBAで外部ソフトFFFTPを操作したい

    「FFFTPを立ち上げて、ホスト一覧からサイト名を選んで接続」 この作業をVBAで行いたいのですが、どうすればいいでしょうか? あらかじめFFFTPには、新規ホストを登録した状態で、エクセルには、A1にサイト名、A2にはホスト名、A3にはユーザー名、A4にはパスワードがあるとします。 ちなみに、以下のような感じでFFFTPを立ち上げるところまでは出来たのですが、その先がわかりません。 -------------------------------------------------- Sub Sample() Dim rc As Long rc = Shell("C:~\FFFTP.exe", vbNormalFocus) If rc = 0 Then MsgBox "起動に失敗しました" End Sub --------------------------------------------------

  • Excelのセルから読み込んだ値に応じて異なるアプリを起動する方法

    Excelのセルから読み込んだ値に応じて異なるアプリを起動する方法を教えてください。 具体的にはワークシートのセルに書き込まれたアプリの名前(test1.exeまたはtest2.exe)を読み込んでそれに対応したアプリを実施したいと思っております。なお、それぞれのアプリのプログラムは同一フォルダーに保存されております。 現在以下の様なマクロを書いてトライしておりますが、これを実行すると 実行時エラー '53': ファイルが見つかりません。 というメッセージが出てしまいます。どなたか対策を教えてください。 Sub Macro1() Dim strKeywords As String strKeywords = "ThisWorkbook.Path" & Worksheets("wave_data").Range("G5").Value 'セルG5に起動すべきアプリの名前が記入されています。 MsgBox strKeywords 'アプリ名の読み込みが正しくできたか確認してます。 Shell strKeywords, vbNormalFocus 'この行を実行した直後に実行時エラー'53'がでます。 End Sub

  • PDFファイルを開き、印刷し、閉じるマクロ

    Excel 2003 VBAにて、 PDFファイルを開き、印刷し、閉じるマクロを作りたいと思っています。 Dim AA, AAA AA = "C:\Program Files\Adobe\Reader 11.0\Reader\AcroRd32.exe C:\Scan\20131101160734050_001.pdf" AAA = Shell(AA, vbNormalFocus) にて、PDFファイルを開くことは出来ました。 このPDFファイルを、「印刷し、閉じる」ためには、 このPDFファイルを指定する必要があると思いますが、 その構文が判りません。 知っている方、教えて下さい。

  • Market Speed をVBAで制御したいのですが・・・

    楽天証券のツール Market Speed(MS)をVBAを使って、shellにて起動させることは出来ました。 加えて以下のことをしたいのですが可能でしょうか。 1、起動したMSでログインする。 2、すでにMSが起動しているときは、何もしない。(起動しているかをチェックし回避) 3、色々調べるとshellは古いので、winAPIが良いとの記述が多いのですが、上記のことをwinAPIで記述するにはどうしたらよいか。 以上の3点ですが、ご教授いただけないでしょうか。 実コードでなくても、参考意見や考え方だけでも結構ですので、色々な方の教えをいただけたら幸いです。 よろしくお願い致します。 なお、shellによる起動は以下のとおりです。(一部を抜粋) Sub kidou() Dim strPass As String Dim strMsg As String Dim varRetval As Variant strPass = "C:\Program Files\MarketSpeed\MarketSpeed\MarketSpeed.exe" strMsg = "MSを開きますか。" If vbYes = MsgBox(strMsg, vbYesNo) Then varRetval = Shell(strPass, vbNormalFocus) End If Exit Sub End Sub

  • Access2000vbaで、shell関数で起動させたExcellを終了する方法を教えてください。

    Access2000vbaで、shell関数で起動させたExcellを終了する方法を教えてください。 以下のように、shell関数で、既存のExcelファイルを起動させました。 どうすれば、Excelファイルを終了できますか? 宜しくお願いします。 Dim fl_name As String fl_name = "C:\XE2.xls" Shell "C:\Program Files\Microsoft Office\Office\EXCEL.EXE " & fl_name, vbNormalFocus

  • 動画再生のマクロ.について教えて下さい

    エクセルVBA2003対応 の マクロについて教えて下さい 現在 エクセルシートのセルC20とセルC10に、下記の場所に保存された動画を再生するようにハイパーリンクが設定してあります C20 → C:\Documents and Settings\ビデオ\○×.mpg C10 → C:\Documents and Settings\ビデオ\○×.vob 上記の環境の中で、下記のマクロsample1は、mpg動画の為、mplay32.exeで再生が出来ます。 しかし、マクロsample2は、VOB動画の為、VOB動画を再生するvlc.exeに書き変えてありますが,「ファイルが見つかりません」のエラーがでて、再生が出来ません。 ちなみに、vlc.exeの保存場所は、C:\Program Files\Vlc\vlc.exeに存在しています。 VOB動画を再生するためには、マクロsample2をどのように改造すればよいのか どなたか教えてください よろしくお願いいたします Sub sample1() Dim sAddr As String On Error Resume Next sAddr = Range("C20").Hyperlinks(1).Address On Error GoTo Err_ sAddr = Chr(34) & sAddr & Chr(34) Call Shell("mplay32.exe /play /close " & sAddr, vbNormalFocus) Bye_: Exit Sub Err_: MsgBox Err.Description, vbCritical Resume Bye_ End Sub Sub sample2() Dim sAddr As String On Error Resume Next sAddr = Range("C10").Hyperlinks(1).Address On Error GoTo Err_ sAddr = Chr(34) & sAddr & Chr(34) Call Shell("vlc.exe /play /close " & sAddr, vbNormalFocus) Bye_: Exit Sub Err_: MsgBox Err.Description, vbCritical Resume Bye_ End Sub

  • Vbscriptエラー

    vbでメッセージBOXを用いてプログラムを起動できるようにしたいのですがエラーが出てしまいます。「インデックスが有効範囲にありません。」 どこが間違っているのでしょうか? ーーーーーーー Dim objWShell Dim a Dim b a = MsgBox (" 「」を利用。"&Chr(13)&Chr(13)&_ "    「」?    "&Chr(13)&Chr(13)&Chr(13)&_ " ---------------------------- "&Chr(13)&_ "  お問い合わせください。" , vbYesNo,"「r」") ' MsgBox vbYes&"="&a If a = vbYes Then Set objWShell = CreateObject("WScript.Shell") b = WScript.Arguments(0) If b = 0 Then objWShell.Run "C:\Windows\System32\notepad.exe" ,vbNormalFocus,False ' End If End If ーーーーー

  • VBA Shell について(アプリの起動)

    Shellを使用して特定のアプリケーションの起動および操作をしたいと考えています。 起動は以下の式で出来たのですが、 Sub VbaToCmd() Call Shell("C:...........................................................................exe", vbNormalFocus) End Sub 起動後の画面でパスワード入力が求められます。 (1)パスワードを自動入力にしたい。 (2)起動後、キーボード操作を行いたい。 VBA初心者ですみません。。 ご回答よろしくお願いします。

専門家に質問してみよう