Сохранение файла Excel xlsm не работает из-за ошибки - PullRequest
0 голосов
/ 03 августа 2020

У меня есть этот макрос, который обновляет некоторые таблицы, и последние две недели он работал нормально, однако он внезапно начал выдавать мне ошибку времени выполнения 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

1 Ответ

0 голосов
/ 06 августа 2020

Это было исправлено путем проверки того, что папка пути существует в соответствии с рекомендациями @RustyBucketBay и @ GMal c.

Явно, путь месяца включал 0, поэтому он должен был быть либо Mth var = '04, а не 4 или путь "\ M0" & Mth & ""

Большое спасибо, ребята за помощь!

...