![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как через OLE добавить строку\столбец в Excel'e?? [D7, Win2k]
ZSergey © (2005-09-01 09:18:00)и еще
Как запустить в Excel VBA-макрос через OLE?
Спасибо
ZSergey (2005-09-06 15:52:00) [1]to Попову Виталию
Большое спасибо, все работает :)
Попов Виталий (2005-09-02 17:12:00) [2]вот пример добавления столбцов/строк, а также выполнения макроса
procedure TForm1.Button1Click(Sender: TObject);
Var
Exl,WB,Sh:OleVariant;
begin
Exl:=CreateOleObject('Excel.Application');
try
WB:=exl.Workbooks.Add('C:\Книга1.xls');
Sh:=Wb.WorkSheets[1];
//Добавление строки
Sh.Rows[2].Insert;
//2-это номер строки по образцу и перед котрой будет
//добавлена новая.
Sh.Columns[2].Insert;
//Аналогично добавлению строки
//Выполнение макроса
Exl.Run('Макрос1');
Exl.Visible:=True;
finally
Exl:=Unassigned;
WB:=Unassigned;
Sh:=Unassigned;
end;
Примечание: макрос вызовется при любом выбранном уровне безопасности; если у макроса есть входные параметры их надо задавать через переменные типа OleVariant;
Например: Exl.Run('TestFunction', Arg1, Arg2).
Макрос можно выполнять только после инициализации книги, в которой он храниться
WB:=exl.Workbooks.Add('C:\Книга1.xls');
Карелин Артем (2005-09-01 22:23:00) [3]Имелась в виду работа с макросами. Остальное без проблем.
Карелин Артем (2005-09-01 22:13:00) [4]На это дело будут сильно влиять вплоть до запрета этого такие веши, как функции обеспечения безопасности и антивирусы.
YurikGL (2005-09-01 20:45:00) [5]app := CreateOleObject('Excel.Application');
>добавить строку\столбец в Excel'e??
что-то типа
app.activesheet.Rows('2:2').Select;
app.Selection.Insert Shift:=xlDown
app.activesheet.Columns('D:D').Select
app.Selection.Insert Shift:=xlToRight
>Как запустить в Excel VBA-макрос через OLE?
Попробуй ExcelApplication1.Run('имя макроса')
ZSergey (2005-09-01 12:46:00) [6]Насколько я понял запуск приложение? В чем смысл? :)
jack128 (2005-09-01 12:22:00) [7]Application.Run
ZSergey (2005-09-01 11:26:00) [8]неужели никто не знает, хоть скажите, вообще это возможно или нет??