У меня есть сценарий VBA, используемый для обработки документов Word. Первым делом программа создает индекс документов в определенном наборе папок. Затем он обрабатывает список всех проиндексированных документов.
Проблема, с которой я сталкиваюсь, заключается в том, что иногда он решает, что конкретный документ не может быть найден, даже если он ранее проиндексировал документ, а быстрая выборочная проверка показывает, что документ находится в правильном месте.
Может кто-нибудь пролить свет на то, почему VBA должен отображать это поведение?
Сценарий использует функцию Dir$
для индексации файлов и функцию Documents.Open
для открытия каждого текстового документа для обработки.
Пример кода:
ChangeFileOpenDirectory (folderName)
inputFileName = Dir$(folderName & "*.doc")
Do While inputFileName <> ""
... call various functions here ...
inputFileName = Dir$
Loop
Одна из функций, вызываемых в блоке, имеет следующую строку:
Set currentDoc = Documents.Open(fileName:=docFileName, AddToRecentFiles:=False, Visible:=False)
Это точка, в которой код не работает.