0

一日の終わりに、すべての注文ファイルを 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")
4

1 に答える 1