VB6
関連付けられたアプリケーションでファイルを開く
以下の関数ShellExecuteを使用するとWindowsの関連付けで設定されているアプリケーションでファイルを開くことができる。たとえば、拡張子がxlsのファイルを指定すると自動的にExcelが起動してそのファイルを開く。
この関数はファイルが開けた場合にはTrue、そうでない場合にはFalseを返す。
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でも同様のことができるようだが、当サイトではフルパスに日本語名やスペースがある場合の動作確認ができていない。