Что нового

Сохранение книги excel с поддержкой макросов

vovsla

Осваивающий
Сообщения
607
Репутация
36
Пытаюсь сохранить книгу excel, офис 2016. Результаты ниже

Код:
#include <Excel.au3>

$HWin=WinGetHandle('(по умолчанию)')
$Workbook=_Excel_BookAttach(WinGetTitle($HWin), 'Title')
;~ _Excel_BookSaveAs($Workbook, 'C:\1\test.xlsm') ; невозможно сохранить без поддержки макросов
_Excel_BookSaveAs($Workbook, 'C:\1\test.xlsm', $xlIntlMacro) ; @error = 5, @extended = -2147352567


как можно сохранить книгу? поддержка макросов не важна
 
Автор
V

vovsla

Осваивающий
Сообщения
607
Репутация
36
Разобрался

Код:
_Excel_BookSaveAs($Workbook, 'C:\1\test.xls', $xlWorkbookNormal)
 

Feonaru

Новичок
Сообщения
2
Репутация
0
Добрый день!

Код:
_Excel_BookSaveAs($Workbook, 'C:\1\test.xls', $xlWorkbookNormal)


Спасибо автору за пост, описанный выше способ работает. Получилось хоть как-то сохранить книгу эксель. Теперь нужно разобраться как сохранить файл в директорию, определяемую переменной? например

Код:
$dir="C:\...\files\"
 _Excel_BookSaveAs($Workbook, $dir & "test.xls", $xlWorkbookNormal)


Пример описанный autoit-script.ru/autoit3_docs/menu/libfunctions.htm у меня почему-то не работает

Код:
_ExcelBookSaveAs($oExcel, @TempDir & "\SaveAsExample", "xls", 0, 1) ; Сохраняем книгу в директории временных файлов с именем "SaveAsExample.xls", при необходимости перезаписывая, без оповещений


Помогите пожалуйста разобраться, 2ой день мучаюсь
 

ra4o

AutoIT Гуру
Сообщения
1,165
Репутация
246
Пример описанный autoit-script.ru/autoit3_docs/menu/libfunctions.htm у меня почему-то не работает
Это пример под устаревшую UDF "Excel.au3" , в новой версии он работать не будет, смотрите англоязычную справку.
Этот пример
Код:
$dir="C:\...\files\"
 _Excel_BookSaveAs($Workbook, $dir & "test.xls", $xlWorkbookNormal)
вполне работоспособен (при условии, что путь правильный), приведите весь участок кода, где он не работает, так-же смотрите , какую ошибку возвращает функция , например сразу после функции вставьте строку
Код:
ConsoleWrite('BookSaveAs error='&@error&@CR)
 

Feonaru

Новичок
Сообщения
2
Репутация
0
ra40, спасибо большое, разобрался. Поменялось название процедуры. Я пытался использовать приведенное в старом примере "_ExcelBookSaveAs", без 2ого подчеркивания
 
Верх