У меня есть этот макрос, который обновляет некоторые таблицы, и последние две недели он работал нормально, однако он внезапно начал выдавать мне ошибку времени выполнения 1004 - изначально это была ошибка времени выполнения 1004, метод saveas объекта _workbook failedub SaveAs(), теперь это просто Ошибка времени выполнения 1004 «Ошибка, определяемая приложением или объектом.
Я подозреваю, что это как-то связано с сохранением файла, так как это дает мне ошибку, все остальное работает нормально. Я отделил код сохранения в другом макросе, и он все еще выдает эту ошибку.
Я попытался сделать строку пути одной частью (Mth var — это переменная, которую мы изменяем каждый месяц отчетности, и она загружается из значения листа, но мне пришлось добавить ее вручную для целей тестирования). Первоначально путь и имя файла пропускали (S) в конце, так как я думал, что имена могут конфликтовать с чем-то в библиотеке.
Обратите внимание, что до того, как код использовал ActiveWorkbook.Saveas и работал нормально, я не уверен, что проблема в том, что Excel знает, на какой лист или книгу смотреть.
Как я могу это исправить? Пожалуйста, смотрите код ниже:
ThisWorkbook.Activate
Dim Mth As Integer
Mth = 4
Dim FileNames As String
Dim Paths As String
Dim Fullstring As String
Application.DisplayAlerts = False
Paths = "\\RL1VMFIL02\Finance$\Financial Management\SITES & SERVICES\Corporate\2020-21\C - Statements & Trends" & "\M" & Mth & "\"
FileNames = Format(Now(), "dd.mm.yy") & " Budget Statement & Trend M" & Mth & " - " & Format(Now(), "hh.mm") & ".xlsm"
Fullstring = Paths & FileNames
ThisWorkbook.Activate
ThisWorkbook.SaveAs Fullstring
Application.DisplayAlerts = True
End Sub
& "\M" & Mth & "\"
не существует, вы получите сообщение об ошибке. Во-первых, я бы изменилPaths
наsPath
иFileNames
наfName
меньше шансов на проблему. Во-вторых, проверьте, существует ли ваш путь с использованиемmkDir
илиFSO
, и если это не так, создайте каталог перед сохранением файла. - person GMalc   schedule 04.08.2020