一日の終わりに、すべての注文ファイルを 1 つのファイルにコピーしようとしています。これが私のコードです。誰かがエラーを修正してください。エラーが発生しないcFol
ように、ディレクトリの完全な名前を入力するとエラーが発生します。C:\Customers\ABF\Orders
しかし、与えるcFol
とエラーが発生します0x80041002
。
showfolderlist "c:\Customers"
Sub ShowFolderList(folderspec)
Dim fs, f, f1, fc, s
s = ""
Set fs = CreateObject("Scripting.FileSystemObject")
Set f = fs.GetFolder(folderspec)
Set fc = f.SubFolders
For Each f1 in fc
s = f1.name
Msgbox s
Const ForReading = 1
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objOutputFile = objFSO.CreateTextFile("C:\New\output.txt")
strComputer = "."
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
cFol = "C:\Customers\" & s & "\Orders"
msgbox cFol
Set FileList = objWMIService.ExecQuery _
("ASSOCIATORS OF {Win32_Directory.Name='cFol'} Where " _
& "ResultClass = CIM_DataFile")
For Each objFile In FileList
Set objTextFile = objFSO.OpenTextFile(objFile.Name, ForReading)
strText = objTextFile.ReadAll
objTextFile.Close
objOutputFile.WriteLine strText
Next
objOutputFile.Close
s=""
Next
End Sub
エラーは次の行で発生します。
Set FileList = objWMIService.ExecQuery _
("ASSOCIATORS OF {Win32_Directory.Name='cFol'} Where " _
& "ResultClass = CIM_DataFile")