【VBA】エクセルファイルを読み込んでファイルパスを返すコード

ファイル選択ダイアログを表示してエクセルファイルを選択し、読み込みます。

ファイルパスは文字列として返します。

オブジェクトとして返すより、文字列として返した方が使いやすいと個人的には思います。

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セルの値をメッセージボックスに表示します。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA