Home » エクセルマクロ・Excel VBAの使い方 » FileDialogの戻り値を確認する

対象:Excel2007, Excel2010, Excel2013, Windows版Excel2016

このサイト『インストラクターのネタ帳』に、
「filedialog(msofiledialogfilepicker) 戻り値」
といった検索キーワードでアクセスがありました。

マクロの実行中にフォルダーやファイルを選択してもらうFileDialogオブジェクトの、

FileDialogの戻り値を確認するExcelマクロ

戻り値について調べていた方による検索です。

FileDialogオブジェクトで主に利用する戻り値は2つあることと、ファイルやフォルダーのパスの戻り値が少々わかりくい作りになっていますから、
「filedialog(msofiledialogfilepicker) 戻り値」
と検索なさった方の気持ちは、共感できます。

[スポンサードリンク]

FileDialogの戻り値を確認するサンプル

VBE(Visual Basic Editor)のデバッグ機能の一つ、ローカルウィンドウを使って、FileDialogオブジェクトが何を返すのか確認してみましょう。

Sub 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つのファイルを選択して

FileDialogの戻り値を確認するExcelマクロ

[OK]ボタンをクリックすると以下のような状態となります。

FileDialogの戻り値を確認するExcelマクロ

Showメソッドの戻り値

変数・blnには「True」が、

FileDialogの戻り値を確認するExcelマクロ

格納されています。

これがFileDialogオブジェクトのShowメソッドを使ったあとに登場する、キャンセル時に関係する戻り値です。

上記のマクロを再度実行して、[キャンセル]ボタンをクリックしたときに、変数・blnの値がどうなっているか、確認してみてください。

SelectedItemsプロパティの戻り値

また、オブジェクト変数・itmsの[値]欄の、
[Item 1]に「C:\temp\samp_1.xlsx」、
[Item 2]に「C:\temp\samp_2.xlsx」
というフルパスが表示されています。

FileDialogの戻り値を確認するExcelマクロ

これがFileDialogからの戻り値としてよく使われる、「.SelectedItems(1)」といった式で取得できるフルパスです。

最終更新日時:2021-01-07 04:49

[スポンサードリンク]

Home » エクセルマクロ・Excel VBAの使い方 » FileDialogの戻り値を確認する

「エクセルマクロ・Excel VBAの使い方」の記事一覧

検索


Copyright © インストラクターのネタ帳 All Rights Reserved.

.