• 虹色ミツバチ
  • freoカスタマイズメモ、テンプレート・プラグイン配布/officeTIPS
検索プラグイン
虹色ミツバチ

> Entry >MOS>Microsoft Office Excel>マクロ/VBA> 参照ファイルのパスを取得するユーザーフォーム

【MOS】【Microsoft Office Excel】【マクロ/VBA】参照ファイルのパスを取得するユーザーフォーム

こんなユーザーフォームがあるとします。

01.png

ユーザーフォームのオブジェクト名 : UserForm1
テキストボックスのオブジェクト名 : TextBox1
コマンドボタンのオブジェクト名 : CommandButton1

コマンドボタンをクリックするとファイル参照ダイアログが表示され、選択したファイルのパスをSheet1シートのA1セルの値として入力し、フォームを終了する方法

  1. VBEを起動する。
  2. フォームの「UserForm1」上で右クリックし、「コードの表示」をクリック。
    02.png
  3. 表示されたモジュールに下記の通りコピペする。
    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
    

コマンドボタンをクリックするとファイル参照ダイアログが表示され、選択したファイルのパスをフォーム内のテキストボックスに表示する方法

  1. VBEを起動する。
  2. フォームの「UserForm1」上で右クリックし、「コードの表示」をクリック。
    02.png
  3. 表示されたモジュールに下記の通りコピペする。
    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:単一ファイルのみ指定可。

ページ移動

関連記事

ユーティリティ

Twitter

ページ上部へ