怎样用delphi在一个已存在的Excel文档中插入一行并加入文字?(100分)

  • 主题发起人 主题发起人 老赵
  • 开始时间 开始时间

老赵

Unregistered / Unconfirmed
GUEST, unregistred user!
C++Builder的例子中(好像是Demo路径下)有一个类似的例子。
 
OLE怎么样?
 
是Ole,可如何进行操作?
 
思路:
1、使用Com技术。CreateOleObject、GetActiveOleObject等启动Excel,然后打开文件。
查找到单前活动的Sheet,然后取得行数,最后插入。
2、使用Ado连接Excel文件,使用Query操作。
两个都是思路,都不知道是否可行。[:)]
 
唉,就是不知道插入的方法,别的都行.
用宏录的是:
Sub 宏1()
'
' 宏1 宏表
' xxx记录的宏2002-3-9
'

'
Selection.Insert Shift:=xlDown
End Sub
可如何调用?
 
无外忽就是一下四种,尝试一下。
我也实验一下
uses
comobj,Excel97(or Excel2000)
var Excel_Handle,Sheet_Handle;OleVariant;
1、Excel_Handle.Selection.Insert (Shift:=xlDown);
2、Excel_Handle.Application.Selection.Insert (Shift:=xlDown);
3、Sheet_Handle.Selection.Insert (Shift:=xlDown);
4、Sheet_Handle.Application.Selection.Insert (Shift:=xlDown);


 
使用COM技术连接到文件以后,在程序中写程序,跟宏差不多的。
宏是不是就是些VBA语句,问错了别骂我。
 
出炉了,下面是实验过的程序:[:)]
uses
comobj, Excel97;

procedure TForm1.Button1Click(Sender: TObject);
var
Excel_Handle, Book_Handle, Sheet_Handle: OleVariant;
begin
try
Excel_Handle := GetActiveOleObject('Excel.Application')
except
try
Excel_Handle := CreateOleObject('Excel.Application');
except
Exit;
end;
end;
Excel_Handle.Visible := True;
Book_Handle := Excel_Handle.Workbooks.Open(Filename := 'C:/My Documents/Book1.xls');
Excel_Handle.Selection.Insert(Shift := xlDown);
end;

 
to hbezwwl,
>>使用COM技术连接到文件以后,在程序中写程序,跟宏差不多的。
>>宏是不是就是些VBA语句,问错了别骂我。
你说的对:
1、在Delphi里面写程序,基本和宏差不多,多实验几次,基本都能够做对。
2、宏就是VBA语句。
3、即使问错了,只要是技术问题,也绝对没人骂的,呵呵。

具体的可以参考
http://www.delphibbs.com/delphibbs/dispq.asp?lid=737517

 
to yzhshi:
谢谢你对我的回答,非常的感谢。谢谢大虾。
你对技术问题果然是认真啦。
 
接受答案了.
 
后退
顶部