ファイルの関連付け情報を元にアプリケーションを起動する

VB標準のShell関数では、ファイルの関連付けよりファイルを起動することはできません。

しかし、APIを使用すれば可能になります。

以下のソースをコードに貼り付け、shellexebyFileName関数をコールしてください。


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

'標準Window
Public Const SW_SHOWNORMAL = 1
'最大化
Public Const SW_SHOWMAXIMIZED = 3
'最小化
Public Const SW_SHOWMINIMIZED = 2

'
'ファイルの関連付けを元にしてファイルを起動する
'strFileName 対象ファイル(フルパス名を渡す)
'lngWindow 開くときのWindow状態を指定する
'標準:SW_SHOWNORMAL
'最大:SW_SHOWMAXIMIZED
'最小:SW_SHOWMINIMIZED
'
'戻り値としてprocessIDを返す
'
Public Function shellexebyFileName(ByVal strPath As String, ByVal lngWindow As Long) As Long

shellexebyFileName = ShellExecute(0, "Open", strPath, "", vbNullString, lngWindow)

End Function


トップページに戻る

Tips一覧に戻る