お世話になっております。
下記参考サイトを元に、コードを作成しました。
http://officetanaka.net/excel/vba/file/file07.htm
http://www.asahi-net.or.jp/~ef2o-inue/vba_o/sub05_110_120.html
VBA
1Private Sub hoge(folderPath As String) 2 Dim targetFileName As String 3 'ファイル名格納① 4 targetFileName = Dir(folderPath & "*.xlsx",vbNormal) 5 6 Do while targetFileName <> "" 7 'openfileは渡されたファイル名を持つファイルを開く処理です。 8 Call openFile(targetFileName) 9 10 '新しく開かれたtargetFileNameのBookオブジェクトを格納 11 Dim targetWorkBook As WorkBook 12 Set targetWorkBook = ActiveWorkBook 13 14 '新しく開かれたtargetFileNameの一番目のシートオブジェクトを格納 15 Dim targetWorkSheet As WorkSheet 16 Set targetWorkSheet = targetWorkBook.WorkSheets(1) 17 18 'dataEditは渡されたシートオブジェクトのデータにいろいろ設定する 19 Call dataEdit(targetWorkSheet) 20 21 '開かれたファイルを閉じる 22 Application.DisplayAlerts = False 23 targetWorkBook.Close 24 Application.DisplayAlerts = True 25 26 '--問題となっているところ。ファイル名格納②-- 27 targetFileName = Dir() 28 Loop 29 30End Sub
説明しやすいように、前提として
folderPath には2件のファイル「ふげ.xlsx」「ほげ.xlsx」があるとします。
参考のサイトの意図する通りに動作するのであれば、
①の処理でふげ.xlsxがtargetFileNameに格納され、
②の処理でほげ.xlsxがtargetFileNameに格納されること思うのですが、
①の処理は上手く動作し、②の処理ではtargetFileNameに""が入っています。
なぜ「ほげ.xlsx」が取れないのでしょうか。
どうぞよろしくお願いいたします。
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/03/01 05:40
2018/03/01 05:43
2018/03/01 06:03 編集
2018/03/01 06:24
2018/03/01 08:43