Добрый день,
Обращение из приложения Delphi к макросу Excel, сохраненному в Книге.xls, работает.
При переносе на другие РС у Excel вопросы к безопасности такого макроса, для работы требуется устанавливать для макросов в Excel уровень безопасности "Низкий".
Для обхода проблемы разместил файл Personal.xla (xla - у меня Excel2003) с макросами в спец.папке,
при штатном открытии файла xls макросы из Personal автоматически доступны.
При открытии файла Excel из Delphi-приложения макросы в соотв. окне Excel со списком макросов не видны. Пробовал после begin принудительно открывать файл Personal.xla процедурой ShellExecute - открывается, макросы в окне доступны;
затем открывается ftmp в
отдельном окне без доступа к макросам.
Код:
var XL:variant;
ftmp:string;
begin
(*
ExcelFName:='C:\Program Files (x86)\Microsoft Office\OFFICE11\XLSTART\Personal.xla';
ShellExecute(Form1.Handle, 'open', PChar(ExcelFName),nil, nil, SW_SHOWNORMAL);
*)
ftmp:='<имя файла>';
XL:=CreateOleObject('Excel.Application');
XL.Workbooks.Add(ftmp);
XL.Visible:=true;
XL.Application.Run('Макрос2');
//...
end;
Админ: Пользуемся тегами при оформлении кода!
Как открыть ftmp корректно, с макросами из Personal?
Спасибо.