unit MainForm;
interface
uses
Business.System, Business.Forms,System;
type
TMainForm = class(TForm)
Button1: TButton;
Button2: TButton;
Button3: TButton;
OpenDialog1: TOpenDialog;
GroupBox1: TGroupBox;
Button4: TButton;
Memo1: TMemo;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure Button4Click(Sender: TObject);
private
{private declarations}
public
{public declarations}
Fxls , docs bject;
FApp,FDocs ispatchHelper;
end;
implementation
procedure TMainForm.Button1Click(Sender: TObject);
var
lFileName: String;
begin
if OpenDialog1.Execute then
begin
lFileName := OpenDialog1.FileName;
fxls := ComObj.CreateOleObject('Excel.Application');
FApp := DispatchHelper.Create(fxls);
FApp.PropertyPut('Visible', [True]);
docs := FApp.PropertyGet('Workbooks', []);
FDocs := DispatchHelper.Create(docs);
FDocs.InvokeMethod('Open', [lFileName]);
end;
end;
procedure TMainForm.Button2Click(Sender: TObject);
begin
//fapp.InvokeMethod('save', []);
fapp.InvokeMethod('quit', []);
(docs as System.IDisposable).Dispose;
(fxls as System.IDisposable).Dispose;
end;
procedure TMainForm.Button3Click(Sender: TObject);
var
Range,aw: DispatchHelper;
o1,o2 bject;
begin
//Range("A3:F3").Select
//ActiveWindow.FreezePanes = True
o1:= FApp.PropertyGet('Range', ['A3:F3']);
Range := DispatchHelper.Create(o1);//属性和对象
Range.InvokeMethod('Select',[]); //事件
o2:= FApp.PropertyGet('ActiveWindow', []);
aw:=DispatchHelper.Create(o2);//属性和对象
aw.PropertyPut('FreezePanes',[true]);
(o1 as System.IDisposable).Dispose;
(o2 as System.IDisposable).Dispose;
end;
procedure TMainForm.Button4Click(Sender: TObject);
var
sheets,sheet: DispatchHelper;
o1, o2, tmp,tmp1:Object;
i:integer;
begin
{
For i = 1 To Sheets.Count
strSheetName = Sheets(i).Name
Next i
}
memo1.Clear;
o1 := FApp.PropertyGet('Sheets', []);
sheets := DispatchHelper.Create(o1);//属性和对象
tmp:=sheets.PropertyGet('Count',[]);
Memo1.Lines.Add(objecthelper.ToString(tmp));
for i:=1 to objecthelper.ToInt(tmp) do
begin
o2 := sheets.PropertyGet('item', );
sheet:=DispatchHelper.Create(o2);//属性和对象
tmp1:=sheet.PropertyGet('Name',[]);
Memo1.Lines.Add(objecthelper.ToString(tmp1));
(o2 as System.IDisposable).Dispose;
end;
(o1 as System.IDisposable).Dispose;
end; |