F0000018_ファイルダイアログを開き、1つの任意のファイルを選択させる

ファイルダイアログを開き、1つの任意のファイルを選択させる 関数リファレンス

この関数について

ExcelVBA(マクロ)でマクロ実行者に選択させるファイルの種類として多いのはExcelもしくはcsvファイルかと思います。ファイルの選択を求める場合、なるべくファイルの拡張子を指定することが望ましいです。しかし、自社のシステムからデータを抽出・ダウンロードし、そのファイルをマクロに取り込み加工・出力するような場合、自社のシステムから抽出できるファイルの拡張子がExcel/csvで選択できるような場合があります。この場合、マクロの設定で選択できるファイルを制限する手もありますが、システムからのデータ抽出には時間がかかることも多く、拡張子の選択を間違えたために再度データ抽出からのやり直しを求めることは、RPA(自動化)ツールの本来の目的に反します。そのため取り込むファイルがExcelファイルでもcsvファイルでも、同じ出力となるツールの設計をすべきだと私は考えています。この関数はファイルダイアログを表示しマクロの実行者が選択した任意のファイルの絶対パスを取得することができます。

関数コピペ ~コードをクリックするだけでコピー完了!~



使い方 ①引数

■引数1:title
 ファイルダイアログに表示するタイトルを指定できます。下記画像を参照

■引数2:initial_folder_path
 ファイルダイアログが表示されたときにデフォルトで開くフォルダを指定できます。

使い方 ②戻り値

マクロ実行者がファイルを選択した場合、ファイルの絶対パスを返します。選択しなかった場合、空の文字列を返します。そのため、返値が空文字列か否かの判定でファイルの選択有無を判断できます。

サンプルコード(クリックでコピー)






【結果】任意のファイルの絶対パスを取得することができました

サンプルコードを実行すると、選択したファイルの拡張子に応じてメッセージが表示されます。実務上では、想定と異なる拡張子のファイルが選択された場合は処理を終了し、想定の拡張子のファイルだった場合、後続の処理を記述するという流れになります。

関数リファレンスにはコピペで使用可能な便利関数を多数掲載!

関数リファレンスでは私が開発の中で必要になったコード部品を汎用化・関数化して公開しています。この記事で紹介した関数以外にもコピペで利用できる関数を多数用意しています。検索窓から必要な機能を検索してみましょう!解説記事も続々公開中。

Comment