VBA сравнивает две папки, чтобы найти разные файлы

У меня есть 2 папки textFiles & excelFiles, они имеют одно и то же имя файла, но с разными расширениями (для textFiles = .txt & excelFiles = .xlsx), я пишу код, чтобы найти, если файл в textFiles не существует в excelFiles для вызова функция, которая создает это.

Sub LookForNew()
Dim dTxt As String
Set fso = CreateObject("Scripting.FileSystemObject")
Set filsTxt = fso.GetFolder("C:\txtFiles").Files
Set filsExcel = fso.GetFolder("C:\excelFiles").Files
Set oFileExcel = CreateObject("Scripting.Dictionary")
Set tFileExl = CreateObject("Scripting.Dictionary")
Set oFileExl = CreateObject("Scripting.Dictionary")
For Each fil In filsTxt
  dTxt = fil.Name
    For Each exl In filsExcel
       oFileExcel = exl.Name
       oFileExl = Split(oFileExcel, ".")
       tFileExl = oFileExl(0)
        Next exl
        If Not (tFileExl.Exists(dTxt)) Then
           ' Call function
        Else
        MsgBox "No more files to convert"
        End If
Next fil
Set fso = Nothing

End Sub

Но поле "oFileExcel" в моем коде не возвращает словарь, а строка справки плз

1 ответ

Вы не можете присвоить значение так, как вы это сделали oFileExcel = exl.Nameнужно использовать oFileExcel.Add = exl.Name,

Взгляните на документацию словаря:

Dim d                   'Create a variable
Set d = CreateObject(Scripting.Dictionary)
d.Add "a", "Athens"     'Add some keys and items
d.Add "b", "Belgrade"
d.Add "c", "Cairo"
...
Другие вопросы по тегам