他のアプリケーションを起動・指定ファイルを開く |
外部アプリケーションの起動及び、指定ファイルを開きます。
@Shell 関数を使う
#1 アクティブなメモ帳を開く
#2 フルパスで電卓を開く
ACreateObject メソッドを使う
#1 Internet Explorerを起動し、指定のWeb ページを開く
#2 Excelを起動し、指定のExcelファイルを開く
BWindows Script Host - WScript.Shellを使う
#1 アクティブなメモ帳を開く
#2 アプリケーションを指定してファイルを開く
CWin32API - ShellExcuteを使う
#1 拡張子に関連付けされたアプリケーションでファイルを開く
#2 アプリケーションを指定してファイルを開く
@Shell 関数を使う
Shell(pathname[,windowstyle])
引数:pathname(必ず指定します)
windowstyle(省略可:ヘルプを参照してください)
使用例
#1 アクティブなメモ帳を開きます
Call Shell("NOTEPAD.EXE", 1) #2 フルパスで電卓を開きます
Call Shell("C:\WINDOWS\system32\CALC.EXE", 1)
ACreateObject メソッドを使う
使用例
#1 Internet Explorerを起動し、指定のWeb ページを開く
Sub ShowIE() Dim objIE As Object, strURL As String Set objIE = CreateObject("InternetExplorer.Application") strURL = "URLまたは、ファイルパスを指定" With objIE .Visible = True .Navigate strURL End With End Sub
#2 アプリケーションを指定してファイルを開きます。
Sub WSHShowFileOpen() Dim WshShell As Object Dim strFullPath As String strFullPath = "フルパス名" Set WshShell = CreateObject("WScript.Shell") WshShell.Run "C:\WINDOWS\NOTEPAD" & strFullPath Set WshShell = Nothing End Sub
AWindows Script Host - WScript.Shellを使う
使用例
#1 アクティブなメモ帳を開きます
Sub WSHShowAppOpen() Dim WshShell As Object Set WshShell = CreateObject("WScript.Shell") WshShell.Run "%windir%\NOTEPAD" Set WshShell = Nothing End Sub
#2 アプリケーションを指定してファイルを開きます。
Sub WSHShowFileOpen() Dim WshShell As Object Dim strFullPath As String strFullPath = "フルパス名" Set WshShell = CreateObject("WScript.Shell") WshShell.Run "C:\WINDOWS\NOTEPAD" & strFullPath Set WshShell = Nothing End Sub
BWin32API - ShellExcuteを使う
宣言します。
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 Const SW_SHOW = 1 'ウインドウをアクティブにする Const SW_SHOWMAXIMIZED = 3 'ウィンドウをアクティブにして最大化する Const SW_SHOWMINIMIZED = 7 'ウィンドウをアクティブにして最小化する
#1 拡張子に関連付けされたアプリケーションでファイルを開きます。
Sub ShowFileOpen() Dim lnghwnd As Long Dim strFullPath As String strFullPath = "フルパス名" ShellExecute lnghwnd, "Open", strFullPath, "", "", SW_SHOW End Sub
#2 アプリケーションを指定してファイルを開きます。
Sub ShowFileOpenSETApp() Dim lnghwnd As Long Dim strApp, strFilePath, strFileName As String 'デスクトップにあるTest.txtを最大化したワードパッドで開きます(...はユーザー名) strApp = "C:\Program Files\Windows NT\Accessories\wordpad.exe" strFilePath = "C:\Documents and Settings\...\デスクトップ\" strFileName = "Test.txt" ShellExecute lnghwnd, "Open", strApp, strFileName, strFilePath, SW_SHOWMAXIMIZED End Sub