Приветствую Вас, Гость
Главная » Статьи » Работа с документами MSOFFICE в DELPHI

Работа с макросами в документе MSEXCEL через Delphi

Работа с макросами в документе MSEXCEL через Delphi

Фрагмент кода, выполняющий следующие функции:

- создает новую книгу Excel

- создает новый макрос в ней

- запускает макрос на выполнение

- сохраняет книгу

unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ComObjStdCtrlsExcelXPOleServer;

type
TForm1 = class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;
Excel, WorkBook, Sheet: variant;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
var
temp: WideString;
 

begin
Excel:= CreateOleObject('Excel.application');
Excel.visible:= True;
WorkBook:= Excel.WorkBooks.Add;
WorkBook.SaveAs('c:\test.xls');
Excel.modules.add(emptyparam,emptyparam,1);
 

// создание строк макроса
temp:= 'sub macro1()'+ #13;
temp:= temp + 'dim a as integer' + #13;
temp:= temp + 'ThisWorkBook.Sheets("
Лист1").Range("a1") = 10' + #13;
temp:= temp + 'ThisWorkBook.Sheets("
Лист1").Range("b1") = 30' + #13;
temp:= temp + 'end sub';
WorkBook.vbproject.vbcomponents.item(1).codemodule.addfromstring(temp);
Excel.run('macro1');  // 
запуск макроса на выполнение

WorkBook.Save;
WorkBook.Close;
Excel.Quit;
Excel:= null;
end;

end.

 

Категория: Работа с документами MSOFFICE в DELPHI | Добавил: mihalych_2013 (10.01.2014)
Просмотров: 1543 | Рейтинг: 0.0/0
Всего комментариев: 0
Имя *:
Email *:
Код *: