Показать сообщение отдельно
Старый 19.01.2006, 18:26   #5  
Kirvisniemi is offline
Kirvisniemi
Moderator
 
342 / 13 (1) ++
Регистрация: 21.12.2004
Цитата:
Сообщение от Дуд Посмотреть сообщение
А можно подробнее насчет динамического создания макроса и его вызова?
пж

файл c:\test.bas:
Public Sub SayHello()
MsgBox "Hello world"
End Sub

понятно что такой файл можно создать "на лету"

Код:
CREATE(ExcelApp);
ExcelApp.Visible := TRUE;
ExcelWorkBook := ExcelApp.Workbooks.Add;
ExcelWorkSheet := ExcelWorkBook.Sheets.Item(1);
ExcelApp.VBE.ActiveVBProject.VBComponents.Import('c:\test.bas');
ExcelApp.Run('SayHello');
CLEAR(ExcelApp);
P.S. В Excel предварительно должен быть разрешен Programmatic Access. Подробнее тут