ハマっている「お菓子」を教えて!

いつもお世話になります。
デスクトップ上にフォルダ「新しいフォルダ」があり、その中に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

どのが間違っているか教えてもらえますか。

A 回答 (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
    • good
    • 0
この回答へのお礼

お礼が遅くなりごめんなさい。
ご回答頂きありがとうございます。
とても勉強になりました。Dir関数はブック名を引いてくるので見つからないのですね。
もっと勉強しなきゃです。ありがとうございました。

お礼日時:2012/12/19 13:07

自ブックが「C:\Documents and Settings\tsasaki\デスクトップ\新しいフォルダ」に居ないのでは?



buf = Dir("C:\Documents and Settings\tsasaki\デスクトップ\新しいフォルダ\*.xls")

buf = Dir(ThisWorkbook.Path & "\*.xls")

こう変更するとどうなります?
    • good
    • 0
この回答へのお礼

お礼が遅くなりごめんなさい。
自ブックtest.xlsも同じフォルダ内にあります。
変更してみましたがダメでした。

お礼日時:2012/12/19 12:48

「\デスクトップ\新しいフォルダ」



「\desktop\新しいフォルダー」
にするとか。

それから、質問のコードを実行しても、
『Book1.xlsがみつかりません』
なんて表示しないと思うが。
    • good
    • 0
この回答へのお礼

okormazdさん
早速お返事いただきありがとうございます。

フォルダ名が「新しいフォルダ」ですので、「新しいフォルダー」にしてもダメでした。

お礼日時:2012/11/29 15:34

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!