Я сделал обширный поиск в Интернете, но все еще не смог найти решение. Интересно, что мой код работал раньше. Я использую HTML-страницу с VBScript код, открыт с помощью IE 9.Странная ошибка VBScript: Требуемый объект: 'objFolder'
Мой код ниже:
29: Function TraverseDirectory(objFolder, searchTerm, outFile)
30: if objFolder.SubFolders.Count > 0 then <-- ERROR shown in this line: Object required: 'objFolder'
31: MsgBox objFolder.SubFolders.Count <-- This message is shown without an issue
32: Set fc = objFolder.SubFolders
33: For Each f1 in fc
34: ProcessFolder f1, searchTerm, outFile
35: TraverseDirectory f1, searchTerm, outFile
36: Next
37: else
38: ProcessFolder objFolder, searchTerm, outFile
39: end if
40: End Function
Я показываю ошибку в строке 30: требуется объект 'objFolder'
Я добавил окно сообщения в строке 31, и оно было достигнуто, выводя окно сообщения с количеством подпапок в папке с выдачей. Если проблема действительно была в строке 30, она никогда не достигнет линии 31. Если я полностью удалю строку 31 (ту, которая имеет окно сообщения), я все равно получаю ту же ошибку в строке 30.
Моя функция выше называется следующим образом:
Set objFolder = objFSO.GetFolder("C:\Test")
TraverseDirectory objFolder, str, outFile
Папка существует и извлекается без проблем. Не уверен, что происходит. Может кто-то пролить свет на этот вопрос?
Я не могу воспроизвести проблему, но это * возможно * быть проблемой обзорной с 'переменной objFolder'. Можете ли вы проверить это, изменив 'objFolder' на нечто уникальное в функции, например' objFolderInsideFunction'? – langstrom
Какой вывод из MSGBOX VarType (objFolder) & vbTab & TypeName (objFolder) 'между строками 29 и 30 и перед первым' TraverseDirectory'? – JosefZ
выход «8 Папка», за которым следует «9 Nothing» – ElenaDBA