|
▼にしもり さん:
こんにちは!
私からも少し。
> パス = ドライブ & ":\" & フォルダ & "\"
ここのコード以外「ドライブ」と「フォルダ」というのが使われていませんね。
ドライブ = "C:"(こちらは例です)
というコードもないのでもちろん「ドライブ」という変数は「""」が格納
されています。文字なしですね。
最初にもいいましたが、変数宣言を行わないとこういったエラーが
出てきてしまうと思います。
変数宣言がわからなければ調べてほしいです。
例だけみせればこんな感じです。
Const シート名 As String = "ファイル一覧"
Dim ファイル名 As String
今回、色々問題がありそうですが、コードを見た感じこのようなことが
したいのではないかと思い編集してみました。
コードの中にはファイル検索をする「FileSearch」と「Dir」の2種類が
あったので2つに分けました。
どちらもMsgboxに表示されるテストコードです。
Sub test1() 'FileSearchの方法
Const シート名 As String = "ファイル一覧"
Const 親フォルダへのパス As String = "C:\_cosmos_all"
Const 検索するファイル名 As String = "*COSMOS*" & ".*"
Dim 各ファイルのフルパス
Dim 貼付行 As Long
With Application.FileSearch
.NewSearch '検索条件をリセット
.LookIn = 親フォルダへのパス '検索対象のフォルダ名
.Filename = 検索するファイル名 '検索するファイルの名前
.SearchSubFolders = True 'サブフォルダも含める
.Execute '検索を開始する
For Each 各ファイルのフルパス In .FoundFiles
MsgBox 各ファイルのフルパス
Next
End With
End Sub
Sub Test2() 'Dir()の方法
Const シート名 As String = "ファイル一覧"
Const 親フォルダへのパス As String = "C:\_cosmos_all"
Const 検索するファイル名 As String = "*COSMOS*" & ".*"
Dim ファイル名 As String
Dim 貼付行 As Long
ファイル名 = Dir(親フォルダへのパス & "\" & 検索するファイル名) '指定された名前含むファイル名を取得 <==ここでerr
Worksheets(シート名).Activate
Cells.Clear
貼付行 = 0 '貼付行カウンタ
Do While ファイル名 <> "" '取り出したファイル名が""でなければ
MsgBox 親フォルダへのパス & "\" & ファイル名
ファイル名 = Dir()
Loop
End Sub
これで動作しましたら、「変数の宣言」「ファイルの検索方法」について
調べてみるといいかと思います。
長々と書き、また色々と言いたいこと言ってしまい失礼しました。
|
|