Workbook.save - "Следующие функции не могут быть сохранены в книгах без макросов..."
Моя подпрограмма открывает файл.xlsm в новом экземпляре Excel, вносит изменения в файл и сохраняет изменения.
Однако, несмотря на тот факт, что открываемый файл -.xlsm, при workbook.save я получаю сообщение с предупреждением "следующие функции не могут быть сохранены в книгах без макросов..."
Это не имеет смысла для меня, потому что файл.xlsm. Есть идеи?
Изменить: я думаю, что я нашел источник проблемы. Хотя переменная "путь" содержит C:\file.xlsm, wkb.path пуст. (см. Debug.print ниже). Почему wkb.path пуст?
Set XL = New Excel.Application
XL.Visible = False
For Each Path In XLSMPaths
Set wkb = XL.Workbooks.Add(Path)
Debug.Print Path ' "C:\file.xlsm"
Debug.Print wkb.path ' ""
Debug.print wkb.name ' "file"
wkb.Save '<- alert message "The following features cannot be saved in macro-free workbooks..."
Next Path
1 ответ
По умолчанию метод.save сохраняет файл как.xls или.xlsx (в зависимости от вашей версии excel), вам нужно принудительно установить это с помощью.saveas
wkb.SaveAs Filename:=MyNewPathFilename, FileFormat:=xlOpenXMLWorkbookMacroEnabled
очевидно, измените переменную "MyNewPathFilename" на то, что вы хотите сохранить файл, как, вероятно, хотите взять путь и проверить, что он заканчивается в.xlsm, а затем передать его в эту переменную