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"
...