代码如下:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs,ComObj, StdCtrls;
type
TForm1 = class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
ExcelApp: Variant;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
begin
ExcelApp := CreateOleObject( 'Excel.Application' );
ExcelApp.WorkBooks.Open( 'D:\Demo.xls');
ExcelApp.workbooks.sheets(1).find.text:='bbb';
ExcelApp.workbooks.sheets(1).find.execute;
form1.Caption:=inttostr(ExcelApp.workbooks.sheets(1).selection.range.row);
ExcelApp.WorkBooks.Close;
ExcelApp.Quit;
end;
执行程序报以下错误信息:
Method 'sheets' not supported by automation object
是什么原因?怎么解决?请高手帮忙!!!
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs,ComObj, StdCtrls;
type
TForm1 = class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
ExcelApp: Variant;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
begin
ExcelApp := CreateOleObject( 'Excel.Application' );
ExcelApp.WorkBooks.Open( 'D:\Demo.xls');
ExcelApp.workbooks.sheets(1).find.text:='bbb';
ExcelApp.workbooks.sheets(1).find.execute;
form1.Caption:=inttostr(ExcelApp.workbooks.sheets(1).selection.range.row);
ExcelApp.WorkBooks.Close;
ExcelApp.Quit;
end;
执行程序报以下错误信息:
Method 'sheets' not supported by automation object
是什么原因?怎么解决?请高手帮忙!!!
解决方案 »
- 获取网络拨号连接列表
- Delphi还有前途吗?
- 关于UDP直连?
- 各位大侠,delphi中操作access,如何进行具体时间比较,在线等
- 有谁知道,某记录被修改后 ADOQuery的那个属性成true 在线等,问题解决马上给分
- interbse 中如何插入 修改 int,date形数据 (特殊) 内详
- 100分,先谢前10位大哥;
- 怎样知道自己的程序被CTRL+ALT+DEL结束,并在此之前调用函数
- 自己编程设置鼠标指针的移动速度,就像控制面板里面那样,请问各位大虾,怎么编程实现?
- 急,RX控件 求助!!PrintPageType Property doesn't exist---RXlib for D5(RxDBGrid)
- 将图片封装进DLL
- 用API函数创建的 Edit如何操作?
2.Find方法使用错误
建议楼主先去了解Excel的对象及其属性,方法
procedure TFrmMain.WriteExcel(AdsData: TADODataSet; sName, Title: string);
var
ExcelApplication1: TExcelApplication;
ExcelWorksheet1: TExcelWorksheet;
ExcelWorkbook1: TExcelWorkbook;
i, j: integer;
filename: string;
begin
filename := concat(extractfilepath(application.exename), sName, ’.xls’);
try
ExcelApplication1 := TExcelApplication.Create(Application);
ExcelWorksheet1 := TExcelWorksheet.Create(Application);
ExcelWorkbook1 := TExcelWorkbook.Create(Application);
ExcelApplication1.Connect;
except
Application.Messagebox(’Excel 没有安装!’, ’Hello’, MB_ICONERROR + mb_Ok);
Abort;
end;
try
ExcelApplication1.Workbooks.Add(EmptyParam, 0);
ExcelWorkbook1.ConnectTo(ExcelApplication1.Workbooks[1]);
ExcelWorksheet1.ConnectTo(ExcelWorkbook1.Worksheets[1] as _worksheet);
AdsData.First;
for j := 0 to AdsData.Fields.Count - 1 do
begin
ExcelWorksheet1.Cells.item[3, j + 1] := AdsData.Fields[j].DisplayLabel;
ExcelWorksheet1.Cells.item[3, j + 1].font.size := ’10’;
end;
for i := 4 to AdsData.RecordCount + 3 do
begin
for j := 0 to AdsData.Fields.Count - 1 do
begin
ExcelWorksheet1.Cells.item[i, j + 1] :=
AdsData.Fields[j].Asstring;
ExcelWorksheet1.Cells.item[i, j + 1].font.size := ’10’;
end;
AdsData.Next;
end;
ExcelWorksheet1.Columns.AutoFit;
ExcelWorksheet1.Cells.item[1, 2] := Title;
ExcelWorksheet1.Cells.Item[1, 2].font.size := ’14’;
ExcelWorksheet1.SaveAs(filename);
Application.Messagebox(pchar(’数据成功导出’ + filename), ’Hello’,
mb_Ok);
finally
ExcelApplication1.Disconnect;
ExcelApplication1.Quit;
ExcelApplication1.Free;
ExcelWorksheet1.Free;
ExcelWorkbook1.Free;
end;
end;