#excel #vba #save
Вопрос:
Я пытаюсь написать код, который берет файл .xls и изменяет значения в нем, после чего сохраняет его в заданном месте с заданным именем файла, которое всегда может изменяться в зависимости от строки «NewSaveName», но это выдает мне ошибку «Закрыть» объекта «_Workbook» не удалось», и я не могу понять, почему. Иногда это работает, а иногда нет. Код, который я написал:
Workbooks("FormatSketch_DesignTable").Close SaveChanges:=True, Filename:="E:FORMATTemp" amp; SaveName amp; ".xls"
Не мог бы кто-нибудь, пожалуйста, помочь мне решить эту проблему?
Комментарии:
1. С какой версией были созданы исходные файлы?
2. Он был создан в Excel 2013
3. Я не думаю, что это повлияет на ситуацию. Что произойдет, если вы разделите сохранение и закрытие на 2 строки?
4. Я смог воспроизвести ошибку с
SaveName = ""
помощью или сSaveName = "a"
помощью .SaveName
Всегда ли содержит правильное значение?5. В выражении есть ровно один неочевидный момент — переменная
SaveName
. Попробуйте сделатьfn = "E:FORMATTemp" amp; SaveName amp; ".xls"
, проверьте полный путь, а затем используйтеfn
в.Close