Сохранение файла excel xlsm не работает из-за ошибки

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

person Stefan Ciobanu    schedule 03.08.2020    source источник
comment
что-то не так с дорожкой. Я бы попытался сохранить документ по очень простому пути, чтобы убедиться, что все работает, а затем попытаться динамически построить путь, который вы хотите, проверяя, что все символы в порядке и что путь существует!   -  person rustyBucketBay    schedule 03.08.2020
comment
Если ваша папка & "\M" & Mth & "\" не существует, вы получите сообщение об ошибке. Во-первых, я бы изменил Paths на sPath и FileNames на fName меньше шансов на проблему. Во-вторых, проверьте, существует ли ваш путь с использованием mkDir или FSO, и если это не так, создайте каталог перед сохранением файла.   -  person GMalc    schedule 04.08.2020
comment
Я не могу проголосовать за ваши комментарии по какой-то причине, но это исправило это, путь месяца включал 0, поэтому он должен был быть либо Mth var = '04, а не 4, либо путь \M0 & Mth & \. В любом случае проблема решена! Большое спасибо за поддержку!   -  person Stefan Ciobanu    schedule 06.08.2020


Ответы (1)


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

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

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

person Stefan Ciobanu    schedule 06.08.2020