以前、開発プロジェクトで一緒にお仕事をしていた方から、Excel VBAのツールに関するこんな相談がありました。
Excelファイルのデータを取り込むツールで、
ファイル選択時のダイアログに
「.xls」ファイルは表示されるけど
「.xlsx」ファイルが表示されないんだけど・・・
おおよその検討はつききましたが、
まずは調査をということで、コードを確認しました。
■問題の事象
sampleフォルダには、確かに「.xlsx」ファイルが存在している↓
ExcelVBAのツールで、ファイル選択を実行した時、
同じsampleフォルダなのに、表示されるダイアログには
「.xls」ファイルしか表示されていない。
■対処法
例)VBAで“Application.GetOpenFilename”というファイルを開くコードがあります。
Excelで指定のファイルを開く際にファイルの種類を選択することができます。 これを、上記のコードで指定しているのですが、今回ご相談があったツール内では
Application.GetOpenFilename(“Microsoft Excelブック,.xls”)
と記載されていました。
ここで、拡張子の部分を”.xls”としてしまうと、「.xls」ファイルしか選べなくなってしまいます。
よって
Application.GetOpenFilename(“Microsoft Excelブック,*.xls?“)
コードを上記に直しました。
“.xls”を”.xls?”とすることで、「.xlsx」や「.xlsm」ファイルが選択肢として表示されるようになります。
結果、無事ファイルが選択できるようになりました。
お役に立てるのは嬉しいことです。
The following two tabs change content below.
KomatsuAsami
これまでIT関連企業、システム開発プロジェクトに多数参画し、事務~プログラミングまで幅広く経験。現在、ExcelVBAによるツール開発をメインに従事。
最新記事 by KomatsuAsami (全て見る)
- 【Microsoft Excel】シート操作のコツ - 2020年5月12日
- 【Microsoft Excel VBA】64ビット(bit)版でエラーが出たときの対応例 - 2020年3月2日
- 【Microsoft Excel】CSV ファイルを開く前に確認すること - 2020年2月14日