|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
макрос из Личной книги Excel не доступен при обращении через OLE
Добрый день,
Обращение из приложения 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? Спасибо. Последний раз редактировалось 6136, 01.05.2020 в 13:09. |