使用OLE,打开EXCEL可是报错.excellapp这个有问题.我申明过了呀.(20)

  • 主题发起人 主题发起人 楚辞
  • 开始时间 开始时间

楚辞

Unregistered / Unconfirmed
GUEST, unregistred user!
代码如下:uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls,comobj;procedure TForm1.Button1Click(Sender: TObject); var excelApp: Variant;//ExcelApp:= CreateOleObject('Excel.Application');excelapp.workbooks.open(extractfilepath(application.exename) + '/Report/2010.1.xls.xls');//注意程序结束时释放变量ExcelApp:=unassigned; beginExcelApp := CreateOleObject( 'Excel.Application' );//注意程序结束时释放变量ExcelApp:=unassigned;//1 显示当前窗口:ExcelApp.Visible := True;//2 更改 Excel标题栏: ExcelApp.Caption := '应用程序调用 Microsoft Excel';//3 添加新工作簿:// ExcelApp.WorkBooks.Add;//4 打开已存在的工作簿: ExcelApp.WorkBooks.Open( extractfilepath(application.exename) + '/Report/2010.1.xls.xls');//5 设置第2个工作表为活动工作表: ExcelApp.WorkSheets[2].Activate; ExcelApp.WorkSheets.Count//6 给单元格赋值: ExcelApp.Cells[1,4].Value := '第一行第四列';ExcelApp.WorkBooks.Close;//24 退出Excel:ExcelApp.Quit; end;
 
// 偶的可以procedure TForm1.btn1Click(Sender: TObject);var excelApp: Variant; xlsFileName: string;begin with TOpenDialog.Create(nil) do try if Execute then xlsFileName := FileName; finally Free; end; if FileExists(xlsFileName) then begin try ExcelApp := CreateOleObject('Excel.Application'); except ShowMessage('Excel 有问题!'); Exit; end; try ExcelApp.Workbooks.Open(xlsFileName); Caption := excelApp.Cells[1,1]; finally ExcelApp.Quit; ExcelApp := UnAssigned; end; end;end;
 
我找了下,问题出在放错位置.改过来后,也有错误:procedure TForm1.Button1Click(Sender: TObject); var excelApp: Variant; beginexcelapp.workbooks.open(extractfilepath(application.exename) + '/2010.1.xls');ExcelApp:=unassigned;ExcelApp := CreateOleObject( 'Excel.Application' );ExcelApp.Visible := True; ExcelApp.Caption := '应用程序调用 Microsoft Excel'; ExcelApp.WorkBooks.Add; ExcelApp.WorkBooks.Open( extractfilepath(application.exename) + '/Report/2010.1.xls.xls');ExcelApp.WorkSheets[2].Activate; ExcelApp.WorkSheets.CountExcelApp.Cells[1,4].Value := '第一行第四列';//操作这一行报错.ExcelApp.WorkBooks.Close;ExcelApp.Quit; end;end.
 
比如说,我想把Edit1的数据或者字段写入到已经编辑好的电子表格C10位置,如何实现.
 
ExcelApp.Cells[3,10] := Edit1.Text;
 
OK.谢谢!实现了.
 
后退
顶部