OfficeType

VBA~ファイル選択ダイアログボックスからパスを取得しよう~Excel

VBAでファイル選択ダイアログボックスからユーザーが指定したファイルのフルパスを取得する方法を解説します。

Application.GetOpenFilenameメソッドを使うとダイアログボックスを表示しユーザーがファイルを選び、そのファイルのフルパス(ファイル名を含んだパス)を取得できます。

下のコードはmyfilename = Application.GetOpenFilenameを実行すると[ファイルを開く]ダイアログボックスが表示されます。ここでキャンセルを押すと"FALSE"を返すのでmyfilenameという変数に"FALSE"が格納されIf文の条件式myfilename = "False"を満たすのでExit Subを実行しコードを終了します。ダイアログボックスでユーザーがファイルを選択し開くをクリックすると、その時点では開かずmyfilenameという変数に選択したファイルのフルパスが格納されます。myfilenameにフルパスが格納されているのでIf文の条件式myfilename = "False"を満たさないのでIfとEnd Ifの間に書かれたコードは実行しないのでExit Subは実行せずに最後に書かれているWorkbooks.Open (myfilename)を実行し、ここで選択したファイルが開きます。

Sub test1()

Dim myfilename As String
myfilename = Application.GetOpenFilename

If myfilename = "False" Then
Exit Sub
End If

Workbooks.Open (myfilename)

End Sub