この関数について
ExcelVBA(マクロ)でマクロ実行者に選択させるファイルの種類として多いのはExcelもしくはcsvファイルかと思います。ファイルの選択を求める場合、なるべくファイルの拡張子を指定することが望ましいです。しかし、自社のシステムからデータを抽出・ダウンロードし、そのファイルをマクロに取り込み加工・出力するような場合、自社のシステムから抽出できるファイルの拡張子がExcel/csvで選択できるような場合があります。この場合、マクロの設定で選択できるファイルを制限する手もありますが、システムからのデータ抽出には時間がかかることも多く、拡張子の選択を間違えたために再度データ抽出からのやり直しを求めることは、RPA(自動化)ツールの本来の目的に反します。そのため取り込むファイルがExcelファイルでもcsvファイルでも、同じ出力となるツールの設計をすべきだと私は考えています。この関数はファイルダイアログを表示しマクロの実行者が選択した任意のファイルの絶対パスを取得することができます。
関数コピペ ~コードをクリックするだけでコピー完了!~
使い方 ①引数
■引数1:title
ファイルダイアログに表示するタイトルを指定できます。下記画像を参照
■引数2:initial_folder_path
ファイルダイアログが表示されたときにデフォルトで開くフォルダを指定できます。
使い方 ②戻り値
マクロ実行者がファイルを選択した場合、ファイルの絶対パスを返します。選択しなかった場合、空の文字列を返します。そのため、返値が空文字列か否かの判定でファイルの選択有無を判断できます。
サンプルコード(クリックでコピー)
【結果】任意のファイルの絶対パスを取得することができました
サンプルコードを実行すると、選択したファイルの拡張子に応じてメッセージが表示されます。実務上では、想定と異なる拡張子のファイルが選択された場合は処理を終了し、想定の拡張子のファイルだった場合、後続の処理を記述するという流れになります。
Comment