| 関連付けられたファイルを開く | ||
実行ファイル(Exeファイル)は、Shellで開くことができますが、テキストファイルやHtmlファイルなどのデータ用ファイルを開く場合は、ShellExecuteを使います。 ShellExecuteを使うと関連付けられたファイルを開くことができます。もし、開かない場合は、ファイルの関連付けを事前に行う必要があります。 ファイルの関連付けを変更する方法 1. マイ コンピュータまたはエクスプローラで関連付けを変更する拡張子のファイルを右クリックし、[プログラムから開く] をクリック 2. [プログラムの選択] ダイアログ ボックスで、ファイルを開くプログラムをクリックするか、[参照] をクリックして使用するプログラムを指定 3. [この種類のファイルを開くときは、選択したプログラムをいつも使う] チェック ボックスをオンにする
Option Compare Database Option Explicit '関連付けられたファイルを開くAPI 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_HIDE = 0 'ウィンドウ非表示 Private Const SW_SHOWNORMAL = 1 '通常の状態で開く Private Const SW_SHOWMINIMIZED = 2 'ウィンドウ最小化 Private Const SW_SHOWMAXIMIZED = 3 'ウィンドウ最大化 Private Const SW_SHOW = 5 'ウィンドウを現在の位置とサイズで表示 Private Const SW_RESTOR = 6 'ウィンドウを元の位置とサイズで表示 Private Const ERROR_FILE_NOT_FOUND = 2& Private Const ERROR_PATH_NOT_FOUND = 3& Private Const ERROR_BAD_FORMAT = 11& '関連付けられたファイルを開く Private Sub AcOpenKanrenFile() Dim lret As Long Dim msg As String lret = ShellExecute(0, "open", "c:\sitemap.html", vbNull, vbNull, SW_SHOW) If lret < 31 Then Select Case lret Case 0 msg = "メモリ不足です。" Case ERROR_FILE_NOT_FOUND msg = "ファイルが見つかりません。" Case ERROR_PATH_NOT_FOUND msg = "ファイルのパスが見つかりません。" Case Else msg = lret & "その他のエラー" End Select MsgBox msg, 16 End If End Sub Private Sub コマンド6_Click() AcOpenKanrenFile End Sub [関連付けられたファイルを開く]ボタンで実行を開始します。 ![]() 成功すると指定したファイルを開きます。 ![]() 失敗するとエラーメッセージが表示されます。 ![]() |
||
Copyright(C) FeedSoft