アプリ版:「スタンプのみでお礼する」機能のリリースについて

エクセル2010のVBAにてCSVファイルを開き結合させるプログラムを組もうとしているのですが、2つ目のCSVファイルを開こうとすると、何故かエラーが出てしまいます。
--------------------------------------------------------------------------------
1つ目
Sub mobile_FileSearch(Path As String)

'test.csvのデータを検索して開く
Dim FSO As Object, Folder As Variant, File As Variant
Set FSO = CreateObject("Scripting.FileSystemObject")
For Each Folder In FSO.GetFolder(Path).SubFolders
Call mobile_FileSearch(Folder.Path)
Next Folder
For Each File In FSO.GetFolder(Path).Files
If File.Name = "test.csv" Then
Workbooks.Open ("test.csv")
End If
Next File

End Sub
----------------------------------------------------------------------------
2つ目
Sub local_FileSearch(Path As String)

'bbb.csvのデータを検索して開く
Dim FSO As Object, Folder As Variant, File As Variant
Set FSO = CreateObject("Scripting.FileSystemObject")
For Each Folder In FSO.GetFolder(Path).SubFolders
Call local_FileSearch(Folder.Path)
Next Folder
For Each File In FSO.GetFolder(Path).Files
If File.Name = "bbb.csv" Then
Workbooks.Open ("bbb.csv")'←ここでエラー
End If
Next File
End Sub
------------------------------------------------------------------------

まったく同じプログラムで、csvファイル名だけ変えただけで実行時エラー1004が出てしまいます。
一体全体何が問題なのでしょうか?

A 回答 (2件)

Pathが必要なのは、ファイルを開くときだけで、


"\bbb.csv"と先頭に\が付いているのは、Pathがその前にあるからです。

File.Nameでファイル名を判定するときは、\は必要ありません。
If File.Name = "bbb.csv" Then
と元に戻してください。
    • good
    • 0
この回答へのお礼

教えて頂いた方法で、できました!!!
本当にありがとうございました!!!

お礼日時:2012/07/10 10:21

ファイルを開くときはPathも必要です。



Workbooks.Open Path & "\test.csv"

Workbooks.Open Path & "\bbb.csv"

1つ目がうまくいったのは、たまたま既定の場所にあったからでは?

この回答への補足

返事が遅くなりました。すみません。
返信ありがとうございます。
教えて頂いた方法を試したのですが、

Dim FSO As Object, Folder As Variant, File As Variant
Set FSO = CreateObject("Scripting.FileSystemObject")
For Each Folder In FSO.GetFolder(Path).SubFolders
Call mobile_FileSearch(Folder.Path)
Next Folder
For Each File In FSO.GetFolder(Path).Files
If File.Name = "\bbb.csv" Then
Workbooks.Open Path & "\bbb.csv"
End If
Next File

としたのですが、csvが発見できないようです。
If文に入らずに抜けてしまいました。
うまくいきません・・・・・

補足日時:2012/07/09 15:06
    • good
    • 0

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