【MOS】【Microsoft Office Excel】【マクロ/VBA】参照ファイルのパスを取得するユーザーフォーム
- 2015/04/24 13:25
- GetOpenFilenameメソッド
- ユーザーフォーム
- 50
こんなユーザーフォームがあるとします。
ユーザーフォームのオブジェクト名 : UserForm1
テキストボックスのオブジェクト名 : TextBox1
コマンドボタンのオブジェクト名 : CommandButton1
コマンドボタンをクリックするとファイル参照ダイアログが表示され、選択したファイルのパスをSheet1シートのA1セルの値として入力し、フォームを終了する方法
- VBEを起動する。
- フォームの「UserForm1」上で右クリックし、「コードの表示」をクリック。
- 表示されたモジュールに下記の通りコピペする。
Private Sub CommandButton1_Click() '=================================================================== ' 参照ボタン押下時の動作 ' →ファイルを参照しパスを指定セルに入力・フォームを終了 '=================================================================== '//ダイアログのタイトルを設定 Dim Dialog_Title As String Dialog_Title = "ファイルを選択して下さい" '//ファイル参照ダイアログの表示 Dim filePath As Variant filePath = Application.GetOpenFilename(, , Dialog_Title) '//ファイル参照ダイアログの表示 If filePath = False Then '//キャンセルされたら処理を終了します End Else '//ファイルが指定されたらファイルパスをセルに入力 Worksheets("Sheet1").Range("A1").Value = filePath End If '//メッセージを表示 MsgBox ("参照ファイルのアドレスを変更しました。") '//フォームを終了 Unload UserForm1 End Sub
コマンドボタンをクリックするとファイル参照ダイアログが表示され、選択したファイルのパスをフォーム内のテキストボックスに表示する方法
- VBEを起動する。
- フォームの「UserForm1」上で右クリックし、「コードの表示」をクリック。
- 表示されたモジュールに下記の通りコピペする。
Private Sub CommandButton1_Click() '=================================================================== ' 参照ボタン押下時の動作 ' →ファイルを参照しパスをテキストボックスに表示 '=================================================================== '//ダイアログのタイトルを設定 Dim Dialog_Title As String Dialog_Title = "ファイルを選択して下さい" '//ファイル参照ダイアログの表示 Dim filePath As Variant filePath = Application.GetOpenFilename(, , Dialog_Title) '//ファイル参照ダイアログの表示 If filePath = False Then '//キャンセルされたら処理を終了します End Else '//ファイルが指定されたらファイルパスをセルに入力 TextBox1.Value = filePath End If '//メッセージを表示 MsgBox ("参照ファイルのアドレスを変更しました。") End Sub
GetOpenFilenameメソッドについて
GetOpenFilenameメソッドの特徴
GetOpenFilenameメソッドでは、[ファイルを開く]ダイアログボックスを表示し、ユーザーが選択したファイルのフルパスを返します。
GetOpenFilenameメソッドの書き方
Object.GetOpenFilename FileFilter, FilterIndex, Title, ButtonText, MultiSelect
FileFilter | 表示するファイルの種類を指定できます。 「ファイルの種類を表す任意の文字列」と「表示するファイルの拡張子(ワイルドカード利用可)」をセットで設定する。 |
---|---|
FilterIndex | 上記「FileFilter」で複数のフィルターを設定した際、デフォルトで表示するフィルターを指定できます。 |
Title | 表示されるダイアログのタイトルを設定できます。 |
ButtonText | Macintoshのみ利用可。 |
MultiSelect | True:複数ファイルを選択できる。 False:単一ファイルのみ指定可。 |