以前、開発プロジェクトで一緒にお仕事をしていた方から、Excel VBAのツールに関するこんな相談がありました。
Excelファイルのデータを取り込むツールで、
ファイル選択時のダイアログに
「.xls」ファイルは表示されるけど
「.xlsx」ファイルが表示されないんだけど・・・
おおよその検討はつききましたが、
まずは調査をということで、コードを確認しました。
■問題の事象
sampleフォルダには、確かに「.xlsx」ファイルが存在している↓

同じsampleフォルダなのに、表示されるダイアログには
「.xls」ファイルしか表示されていない。

■対処法
例)VBAで“Application.GetOpenFilename”というファイルを開くコードがあります。
Excelで指定のファイルを開く際にファイルの種類を選択することができます。 これを、上記のコードで指定しているのですが、今回ご相談があったツール内では
Application.GetOpenFilename(“Microsoft Excelブック,.xls”)
と記載されていました。
ここで、拡張子の部分を”.xls”としてしまうと、「.xls」ファイルしか選べなくなってしまいます。
よって
Application.GetOpenFilename(“Microsoft Excelブック,*.xls?“)
コードを上記に直しました。
“.xls”を”.xls?”とすることで、「.xlsx」や「.xlsm」ファイルが選択肢として表示されるようになります。
結果、無事ファイルが選択できるようになりました。
お役に立てるのは嬉しいことです。