ランチャーアプリのような動作アプリを作成する場合に必要になるVBAです。
ここでは「ExcelからExcelファイルを開くVBA」「ExcelからEXEファイルを実行するVBA」「Excelから関連付けされているアプリケーションで開くVBA」の3種類を掲載しています。
ExcelからExcelファイルを開くには、Workbooks.Openメソッドを使用します。
構文は、Workbooks.Open("フルパス")になります。
ExcelからEXEファイルを実行するには、Shell関数を使用します。
構文は、Shell(pathname[,windowstyle])になります。
引数のpathnameには、実行するプログラムの名をフルパスで指定します。
windowstyleは省略可能で、実行時のウィンドウ形式を指定します。使用できる定数は下記になります。
定数 | 値 | 内容 |
vbHide | 0 | フォーカスを持ち非表示で表示されます。 |
vbNormalFocus | 1 | 元のサイズと位置に、フォーカスを持ち表示されます。 |
vbMinimizedFocus | 2 | フォーカスを持ち最小化で表示されます。 |
vbMaximizedFocus | 3 | フォーカスを持ち最大化され表示されます。 |
vbNormalNoFocus | 4 | 元のサイズと位置に、フォーカスを持たずに表示されます。 |
vbMinimizedNoFocus | 6 | フォーカスを持たずに最小化で表示されます。 |
Excelから関連付けされているアプリケーションで開くには、ShellExecuteとGetDesktopWindowのWindows APIを使用します。
ShellExecuteは、指定したファイルを関連付けられたアプリケーションで開くAPIです。
ShellExecuteの構文は下記になります。
Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" _
(ByVal hwnd As Long, ByVal lpOperation As String, ByVal lpFile As String, _
ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long
定数 | 値 | 内容 |
SW_HIDE | 0 | 非表示で表示されます。 |
SW_SHOWMINIMIZED | 2 | 最小化で表示されます。 |
SW_SHOWMINIMIZED | 3 | 最大化され表示されます。 |
SW_SHOW | 5 | 現在の位置とサイズで表示されます。 |
SW_RESTORE | 6 | 元の位置とサイズで表示されます。 |
GetDesktopWindowは、ウィンドウハンドルを取得するAPIです。
GetDesktopWindowの構文は下記になります。
Declare Function GetDesktopWindow Lib "user32" () As Long
ShellExecuteについては「関連付けられたファイルを開く」を掲載していますので、参考にしてください。
■■■
このサイトの内容を利用して発生した、いかなる問題にも一切責任は負いませんのでご了承下さい
■■■
当ホームページに掲載されているあらゆる内容の無許可転載・転用を禁止します