いつもお世話になります。
デスクトップ上にフォルダ「新しいフォルダ」があり、その中に6つエクセルブックがあります。
Book1.xls Book2.xls Book3.xls Book4.xls Book5.xls と test.xls です。
test.xlsに、Book1~Book5を開く というマクロを作り実行したところ、実行時エラー1004
『Book1.xlsがみつかりません』と表示されます。
Sub test()
Dim buf As String, i As Long
buf = Dir("C:\Documents and Settings\tsasaki\デスクトップ\新しいフォルダ\*.xls")
Do While buf <> ""
i = i + 1
Workbooks.Open Filename:=buf
'Cells(i, 1) = buf
buf = Dir()
Loop
End Sub
どのが間違っているか教えてもらえますか。
No.3ベストアンサー
- 回答日時:
Const DefaultPath = "D:\tmp\tmp\"
ここは自分の環境に合わせる。
Option Explicit
Sub DirSearch()
Const DefaultPath = "D:\tmp\tmp\"
Const Selector = "*.xls*"
Dim xSheet As Worksheet
Dim FilePath As String
Dim buf As String, i As Long
Application.ScreenUpdating = False
Set xSheet = ActiveSheet
buf = Dir(DefaultPath & Selector)
Do While buf <> ""
i = i + 1
'Workbooks.Open Filename:=buf
With Workbooks.Open(Filename:=(DefaultPath & buf))
xSheet.Cells(i, "A").Value = buf
xSheet.Cells(i, "B").Value = Cells(1, "A").Value
Application.CutCopyMode = False
.Close False
End With
buf = Dir()
Loop
xSheet.Columns("A:B").AutoFit
Application.ScreenUpdating = True
End Sub
お礼が遅くなりごめんなさい。
ご回答頂きありがとうございます。
とても勉強になりました。Dir関数はブック名を引いてくるので見つからないのですね。
もっと勉強しなきゃです。ありがとうございました。
No.2
- 回答日時:
自ブックが「C:\Documents and Settings\tsasaki\デスクトップ\新しいフォルダ」に居ないのでは?
buf = Dir("C:\Documents and Settings\tsasaki\デスクトップ\新しいフォルダ\*.xls")
↓
buf = Dir(ThisWorkbook.Path & "\*.xls")
こう変更するとどうなります?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・【お題】絵本のタイトル
- ・【大喜利】世界最古のコンビニについて知ってる事を教えてください【投稿~10/10(木)】
- ・メモのコツを教えてください!
- ・CDの保有枚数を教えてください
- ・ホテルを選ぶとき、これだけは譲れない条件TOP3は?
- ・家・車以外で、人生で一番奮発した買い物
- ・人生最悪の忘れ物
- ・【コナン30周年】嘘でしょ!?と思った○○周年を教えて【ハルヒ20周年】
- ・ハマっている「お菓子」を教えて!
- ・最近、いつ泣きましたか?
- ・夏が終わったと感じる瞬間って、どんな時?
- ・10秒目をつむったら…
- ・人生のプチ美学を教えてください!!
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・都道府県穴埋めゲーム
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
フォルダ内の全ブックのシート...
-
【ExcelVBA】指定の書式で、マ...
-
VBA フォルダ内にあるブックを...
-
エクセルでマッチング
-
ExcelVBAで今開いているユーザ...
-
【Excel VBA】ブックを複数開い...
-
エクセルファイルを自身のファ...
-
Pictures.Insertメソッド⇒Shape...
-
ファイル名を今日の日付、時刻...
-
MIFESマクロで検索文字をコピー...
-
Excel VBAで、実行時にsheet上...
-
Powerpointでランダムな数字の...
-
コピーしたファイルのマクロを...
-
複数のデータ系列の線の太さを...
-
マクロの有効無効
-
サクラエディタのマクロ設定を...
-
エクセルでツールバーに「縮小...
-
Excel>マクロを使っていないは...
-
cellsで特定の離れた範囲を選択...
-
Excelが勝手にシート移動してし...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
フォルダ内の全ブックのシート...
-
ExcelVBAで今開いているユーザ...
-
エクセルVBA Workbook変数に変...
-
VB2010でExcelの行をコピーして...
-
EXCELマクロでxlsとxlsxを開く方法
-
【Excel VBA】ブックを複数開い...
-
すでに開いているブックのマク...
-
【ExcelVBA】指定の書式で、マ...
-
Excel VBAを後ろで動かす方法
-
他のBookのユーザー定義関数を使う
-
フォルダ内の全ブックのシート...
-
VBA セル入力された日付データ...
-
[Excel VBA] フォルダ内の複数...
-
VBA、Excelのworkbook.open に...
-
コマンドボタンでマクロを起動...
-
フォルダ内の全てのBookに同じ...
-
excelマクロ、任意セルの値で名...
-
エクセルVBAでブックを開くと処...
-
excelでハイパーリンク 別ブッ...
-
Excelの一括印刷で通し番号をつ...
おすすめ情報