Я пытаюсь выяснить, что вдруг изменилось в excel, чтобы мой код перестал работать именно из-за подстановочного знака звездочки. У меня был этот код в качестве внешнего интерфейса для объединения файлов данных (как .xls, так и .xlsx) в пустой файл, содержащий код, показанный ниже. Это работало нормально и использовалось много раз без проблем. Сам файл и код были сделаны на Excel 2016 несколько недель назад.
Теперь, когда он запускается, я получаю "ошибка времени выполнения 1004, определенная приложением или ошибкой объекта", и я понятия не имею, почему. Я возился с текстом в каждой строке и почти уверен, что причиной ошибки является ".xl".
Я заменил «.xl» на фактическое имя файла из папки назначения, и это сработало без проблем. Почему использование звездочки может внезапно вызвать эту ошибку?
Кто-нибудь сталкивался с этим раньше? Я искал сверху и снизу и не мог найти никого, кто сообщил бы что-то точно такое же. Вот то, что я использовал, и снова, это работало нормально в течение пары недель.
Sub MergeDataFiles()
Dim sPath As String
Dim MyFile As String
Dim wBk As Workbook
sPath = InputBox("Paste File Path Here")
MyFile = Dir(sPath & "\*.xl*")
Application.EnableEvents = False
Application.ScreenUpdating = False
Do While Len(MyFile) > 0
Set wBk = Workbooks.Open(sPath & MyFile)
wBk.Sheets(1).Copy After:=ThisWorkbook.Sheets(1)
wBk.Close True
MyFile = Dir()
Loop
ActiveWorkbook.Save
Application.EnableEvents = True
Application.ScreenUpdating = True
End Sub
sPath & "\" & "*.xl*"
- person CallumDA   schedule 22.02.2017sPath
еще не содержит символ обратной косой черты? - person JiheL   schedule 22.02.2017MyFile
при возникновении ошибки? - person Comintern   schedule 22.02.2017ThisWorkbook
Sheets(1)
. - person YowE3K   schedule 22.02.2017