###質問内容
エクセルのマクロから別のエクセルを開く際にファイル名を部分一致検索で取得したかったのですが、
Dir関数にワイルドカードを使用した時の挙動がなぜそうなるのか分からなかったのでご教授お願いします。
###事象・再現手順
1.任意のフォルダに"あいうえお.xlsx"という名前のファイルを作成する。
2.1のフォルダのパスをA1のセルに記入し、下記マクロを実行する。
3.fileNameが取得できない。
Sub test() Dim path As String Dim fileName As String path = Sheets(1).Range("A1").Value fileName = Dir(path & "*あいうえ*.xls") End Sub
4.fileName = Dir(path & "あいうえ.xls")の部分を下記に変更し、実行する。
5.fileNameが取得できる。
fileName = Dir(path & "*あいう*.xls")
###試したこと
fileName = Dir(path & "あいうえ.xls") → 取得できない
fileName = Dir(path & "あいう.xls") → 取得できる
fileName = Dir(path & "いうえ.xls") → 取得できない
fileName = Dir(path & "いう.xls") → 取得できる
fileName = Dir(path & "あいうえ.xlsx") → 取得できる
###補足情報(言語/FW/ツール等のバージョンなど)
Excel2010
拡張子をxlsxで検索することで実装はできた(ほかのパターンも基本的に取得可能)のですが、同じような記述で何故挙動に差異が生まれるのか分からなかったのでご教授お願いします。

回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/09/30 03:55
2017/10/02 01:34