Я пытаюсь выяснить, что внезапно изменилось в excel, чтобы мой код переставал работать специально из-за подстановочного символа звездочки. У меня был этот код в качестве интерфейса для объединения файлов данных (оба .xls и. xlsx) в пустой файл, содержащий код, показанный ниже. Это работало отлично и использовалось много раз без проблем. Сам файл и код были выполнены в Excel 2016 несколько недель назад.excel 2016 Подстановочный знак звездочки VBA, вызывающий заданное приложение 1004 или определяемое объектом
Теперь, когда он запускается, я получаю «ошибка времени выполнения 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 *»' ' – CallumDA
использование Set wBk = Workbooks.Open (sPath & "\" & MyFile) ' – user3598756
Вы уверены, что ваш' sPath' еще не содержит символ обратной косой черты? – JiheL