楼主请参考下面的代码。
另:标红地方的变量您原来是不是写错了。
procedure TMainForm.Button1Click(Sender: TObject);
var
oExcel : Variant;
AppExcel , workbooks , worksheets , workbook , worksheet , sactivesheets : System.DispatchHelper;
oworkbooks , sactivebooks : object;
o1, o2, o3: Object;
begin
oExcel := ComObj.CreateOleObject('Excel.Application');
if AppExcel= nil then
AppExcel := System.DispatchHelper.Create(oExcel);
if oworkbooks = nil then
oworkbooks := AppExcel.PropertyGet('WorkBooks',[]);
try
workbooks := System.DispatchHelper.Create(oWorkbooks);
o1 := workbooks.InvokeMethod('Open',['E:\1.xls']);
workbook := System.DispatchHelper.Create(o1);
o2 := workbook.PropertyGet('Sheets',[]);
worksheets := System.DispatchHelper.Create(o2);
o3 := worksheets.PropertyGet('Item',[1]);
worksheet := System.DispatchHelper.Create(o3);
worksheet.PropertyPut('Name',['SSheetName']);
workbook.InvokeMethod('SAVE',[]);
finally
AppExcel.InvokeMethod('quit', []);
(o3 as System.IDisposable).Dispose;
(o2 as System.IDisposable).Dispose;
(o1 as System.IDisposable).Dispose;
(oworkbooks as System.IDisposable).Dispose;
(oExcel as System.IDisposable).Dispose;
end;
end; |