表紙 > VB6 サンプル >

VB6

関連付けられたアプリケーションでファイルを開く

 

以下の関数ShellExecuteを使用するとWindowsの関連付けで設定されているアプリケーションでファイルを開くことができる。たとえば、拡張子がxlsのファイルを指定すると自動的にExcelが起動してそのファイルを開く。

この関数はファイルが開けた場合にはTrue、そうでない場合にはFalseを返す。

VB6対応 

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

Public Function ShellEx(FileName As String) As Boolean

    Const SW_SHOWNORMAL = 1
    Dim Ret As Long

    '関連付けられている実行可能ファイルによりファイルを開く
    Ret = ShellExecute(0, "open", FileName, vbNullString, Environ("windir"), SW_SHOWNORMAL)

    ShellEx = Ret > 32

End Function

研究:Shell "rundll32.exe url.dll,FileProtocolHandler " & FileNameでも同様のことができるようだが、当サイトではフルパスに日本語名やスペースがある場合の動作確認ができていない。


VB.NET2002対応 VB.NET2003対応 VB2005対応関連付けられたアプリケーションでファイルを開く参照