他のファイルの実行、他のファイルを開く : Excel(エクセル)

Excel Tipsメニューに戻る

スポンサーリンク






ExcelからExcelファイルを開く

'Excelファイルを開く
Workbooks.Open Filename:="c:\test.xls"

ExcelからEXEファイルを実行する

'EXEファイルを実行する
Shell "c:\test.exe", 1

スポンサーリンク


Excelから関連付けされているアプリケーションで開く

'関連付けされているアプリケーションで開く 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_SHOWNORMAL = 1
Private Const SW_SHOWMINIMIZED = 2
Private Const SW_SHOWMAXIMIZED = 3
Private Const ERROR_FILE_NOT_FOUND = 2&
Private Const ERROR_PATH_NOT_FOUND = 3&
Private Const ERROR_BAD_FORMAT = 11&

'デスクトップのハンドルを取得する
Private Declare Function GetDesktopWindow Lib "user32" () As Long


'関連付けされているアプリケーションで開く
Public Sub ExKanrenFileOpen(hwnd As Long, FilePath As String, parameter As String, WorkPath As String, WindowSize As Long)
     Dim ret As Long
     Dim msg As String

     ret = ShellExecute(hwnd, "Open", FilePath, parameter, WorkPath, WindowSize)

     If ret < 31 Then   'エラー発生の場合
         Select Case ret
             Case 0
                 msg = "メモリ不足です。"
             Case ERROR_FILE_NOT_FOUND
                 msg = "ファイルが見つかりません。"
             Case ERROR_PATH_NOT_FOUND
                 msg = "ファイルのパスが見つかりません。"
             Case Else
                 msg = ret & "その他のエラー"
         End Select
         MsgBox msg, vbCritical, "Excelランチャー"
     End If
End Sub

'関連付けされているアプリケーションで開く 実行例
Dim hwnd As Long
hwnd = GetDesktopWindow
ExKanrenFileOpen hwnd, "c:\test.txt", "", "", SW_SHOWNORMAL

スポンサーリンク






Excel Tipsメニューに戻る

■■■
このサイトの内容を利用して発生した、いかなる問題にも一切責任は負いませんのでご了承下さい
■■■
当ホームページに掲載されているあらゆる内容の無許可転載・転用を禁止します


Copyright (c) Excel-Excel ! All rights reserved