Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как через 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]

неужели никто не знает, хоть скажите, вообще это возможно или нет??


Наверх

Титульная страница Поиск, карта сайта Написать письмо