
13.09.2011, 07:10
|
Начинающий
|
|
Регистрация: 27.05.2009
Сообщения: 100
Репутация: -1277
|
|
Сам спроси сам ответь =)
Код:
procedure TForm1.Button1Click(Sender: TObject);
var
E, B: OleVariant;
i: OleVariant;
begin
E := CreateOleObject( 'Excel.Application' );
B := E.Workbooks.Add;
E.Visible := true;
i := E.VBE.ActiveVBProject.VBComponents.Count;
E.VBE.ActiveVBProject.VBComponents.Add( 1 );
// Добавляем в модуль книги код на VB
B.VBProject.VBComponents.Item( i+1 ).CodeModule.InsertLines( 1, 'Sub Macros()' );
B.VBProject.VBComponents.Item( i+1 ).CodeModule.InsertLines( 2, ' ActiveSheet.Shapes.AddChart.Select' );
B.VBProject.VBComponents.Item( i+1 ).CodeModule.InsertLines( 3, 'ActiveChart.ChartType = xlLine' );
B.VBProject.VBComponents.Item( i+1 ).CodeModule.InsertLines( 4, 'End Sub' );
// Добавляем то же самое в код листа
B.VBProject.VBComponents.Item( 'Лист1' ).CodeModule.InsertLines( 1, 'Sub Macros()' );
B.VBProject.VBComponents.Item( 'Лист1' ).CodeModule.InsertLines( 2, ' ActiveSheet.Shapes.AddChart.Select' );
B.VBProject.VBComponents.Item( 'Лист1' ).CodeModule.InsertLines( 3, 'ActiveChart.ChartType = xlLine' );
B.VBProject.VBComponents.Item( 'Лист1' ).CodeModule.InsertLines( 4, 'End Sub' );
E.Application.Run( 'Macros' );
E.Application.Run( 'Лист1.Macros' );
end;
|