このサイト『インストラクターのネタ帳』に、
「filedialog(msofiledialogfilepicker) 戻り値」
といった検索キーワードでアクセスがありました。
マクロの実行中にフォルダーやファイルを選択してもらうFileDialogオブジェクトの、
戻り値について調べていた方による検索です。
FileDialogオブジェクトで主に利用する戻り値は2つあることと、ファイルやフォルダーのパスの戻り値が少々わかりくい作りになっていますから、
「filedialog(msofiledialogfilepicker) 戻り値」
と検索なさった方の気持ちは、共感できます。
FileDialogの戻り値を確認するサンプル
VBE(Visual Basic Editor)のデバッグ機能の一つ、ローカルウィンドウを使って、FileDialogオブジェクトが何を返すのか確認してみましょう。
Dim bln As Boolean
Dim itms As FileDialogSelectedItems
With Application.FileDialog(msoFileDialogFilePicker)
.AllowMultiSelect = True
bln = .Show
Set itms = .SelectedItems
End With
Stop
End Subサンプルマクロで確認すべきこと
上記のマクロを実行すると、Stopステートメントでステップ実行モードになりますから、ローカルウィンドウを表示して、変数・blnとitmsに何が入っているか、確認してみてください。
例えば、「C:\temp」フォルダーの「samp_1.xlsx」「samp_2.xlsx」という2つのファイルを選択して
[OK]ボタンをクリックすると以下のような状態となります。
Showメソッドの戻り値
変数・blnには「True」が、
格納されています。
これがFileDialogオブジェクトのShowメソッドを使ったあとに登場する、キャンセル時に関係する戻り値です。
上記のマクロを再度実行して、[キャンセル]ボタンをクリックしたときに、変数・blnの値がどうなっているか、確認してみてください。
SelectedItemsプロパティの戻り値
また、オブジェクト変数・itmsの[値]欄の、
[Item 1]に「C:\temp\samp_1.xlsx」、
[Item 2]に「C:\temp\samp_2.xlsx」
というフルパスが表示されています。
これがFileDialogからの戻り値としてよく使われる、「.SelectedItems(1)」といった式で取得できるフルパスです。
最終更新日時:2021-01-07 04:49
Home » エクセルマクロ・Excel VBAの使い方 » FileDialogの戻り値を確認する