ファイル選択ダイアログを表示してエクセルファイルを選択し、読み込みます。
ファイルパスは文字列として返します。
オブジェクトとして返すより、文字列として返した方が使いやすいと個人的には思います。
function SelectExcelFile() As String
Dim filePath As String
' ファイルの選択ダイアログを表示し、ファイルパスを取得
filePath = Application.GetOpenFilename("Excelファイル (*.xls; *.xlsx), *.xls; *.xlsx")
' ダイアログがキャンセルされた場合は処理を終了
If filePath = "False" Then
Exit Function
End If
SelectExcelFile = filePath
End function
実際に使うときはこんな感じで使います。
sub test()
dim wb as workbook
dim filePath as string
' ファイルの選択ダイアログを表示し、ファイルパスを取得
filePath = SelectExcelFile
'エクセルファイエルを開く
set wb = workbooks.open(filePath)
'好きな処理
MsgBox wb.Worksheets(1).Range("A1").Value
wb.close
End sub開いたエクセルのA1セルの値をメッセージボックスに表示します。










コメントを残す