3.関連付けられたアプリケーションでファイルを開く |
1.関連付けされたファイルを起動 2.WshShell オブジェクトを使って関連付け起動 3. 4. 5. 6. |
下記プログラムコードに関する補足・注意事項 動作確認:Windows Vista・Windows 7 (32bit) / VB6.0(SP6) Option :[Option Explicit] 参照設定:追加なし 使用 API:ShellExecute その他 :このサンプルは、 Win32 APIを使用しておりますので、ある程度Win32 API が理解できる方がお使い下さい。 :
|
1.関連付けされたファイルを起動(050) 2002.05.12 (1) 2007.01.15 |
関連付けられたファイルを ShellExecute で起動する Option Explicit '拡張子に関連付けられたプログラムを実行する (P699) Private 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 Private Const SW_SHOW = 5 'ウィンドウをアクティブにして、現在の位置とサイズで表示します。 第1引数 親ウィンドウのハンドルを指定します。 このフォームのハンドルを指定します。 Me.hwnd 第2引数 通常は、次の操作が有効です。 関連付けファイルを開くので、"open" を指定します。 第3引数 操作対象のファイル名またはフォルダー名。 関連付け起動するファイルのフルパスを指定します。 第4引数 lpFile パラメーターで文書ファイルを指定した場合は、NULL を指定するべきです。。 文書ファイルを指定したので、NULL を指定します。 第5引数 既定のディレクトリ名を保持している、NULL で終わる文字列へのポインターを指定します。 作業ディレクトリは、カレントディレクトリを指定します。 第6引数 アプリケーションの表示方法を指示するフラグを指定します。 現在の位置とサイズで表示します。 Private Sub Command1_Click() 'Win32API を使って関連付け起動 Dim Ret As Long Dim MyFile1 As String MyFile1 = "c:\my test\test.xls" Ret = ShellExecute(Me.hwnd, "Open", MyFile1, vbNullString, vbNullString, SW_SHOW) End Sub |
2.WshShell オブジェクトを使って関連付け起動 |
Private Sub Command2_Click() Dim Path As String Path = Chr$(34) & "C:\my test\test.xls" & Chr$(34) CreateObject("WScript.Shell").Run Path End Sub |
3. |
4. |
5. |
6. |
検索キーワード及びサンプルコードの別名(機能名) |
関連付けられたアプリケーションでファイルを開く 関連付け起動 ファイルをダブルクリックしたときに起動する 拡張子の関連づけでファイルを開く ファイルの関連付けに基づいてファイルを起動する 拡張子 関連付け 起動 |