- ベストアンサー
excelVBAにて開くフォルダを指定
エクセル上にボタンを作成し、押下するとファイルを選択するダイアログが開き、ファイル(csv)を指定して読み込みエクセルに貼り付けていくというのをつくったのですが、これをフォルダを指定してそのフォルダ内のファイルをすべてループさせて読み込ませたいのですが、フォルダの指定がよくわかりません。参考になるHPなどありましたらご紹介下さい。宜しくお願いいたします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
こんな感じで良いでしょうか? Sub bar() ''' Dim pathname As String Dim fileext As String Dim file2get As String ''' ここではこの2つの変数を書いてしまってますが ''' 本来はコマンドボタンのほうのコードから渡される値ですよね? pathname = "C:\directory\" fileext = "cvs" ''' file2get = Dir(pathname + "*."+fileext) Do While file2get <> "" ''' この下の行は各cvsをそれぞれ1bookとして開きます ''' Workbooks.Open Filename:=file2get ''' なのでこの部分はお好みに置き換えてください ''' file2get = Dir Loop End Sub 要は最初のDir()では最初に見つかったファイル名を取得して、 その次のファイルは Loop直前の引数なしの Dir で取得 ってことです
その他の回答 (1)
- picklse
- ベストアンサー率65% (26/40)
こちらが参考になると思います。 モーグ->即効テクニック集->ExcelVBA->フォルダ内のファイル名を取得する http://www.moug.net/tech/exvba/0060001.htm