死
死神十三
Unregistered / Unconfirmed
GUEST, unregistred user!
用comobj方法,不欢迎excel控件
var xlapp : variant;
procedure TForm1.Button2Click(Sender: TObject);
begin
xlapp := createoleobject('excel.application');
xlapp.workbooks.open('c:/ss.xls');
xlapp.cells[1,1]:='aaaaa';
xlapp.workbooks.close;
xlapp.quit;
end
以上是一个打开excel写数据的程式,没有什么问题
但是如果将以上程式分成两个部分
procedure TForm1.Button2Click(Sender: TObject);
begin
xlapp := createoleobject('excel.application');
xlapp.workbooks.open('c:/ss.xls');
end;
procedure TForm1.Button3Click(Sender: TObject);
begin
xlapp.cells[1,1]:='aaaaa';
xlapp.workbooks.close;
xlapp.quit;
end;
进程里会多出一个excel.exe的进程
我的问题是如何在分两步运行操作excel(第一步打开excel,选择工作表,第二步是修改数据,保存关闭),而且目标excel只打开一次的情况下(系统配置低,打开一次要延时10秒),让excel正常关闭。
注:1、excel进程不能强制关闭,否则会导致excel再次打开发生异常
2、尽量不使用excel自带宏
3、很奇怪,家里的双核处理器1G内存运行没这些问题,换了机子怎么就有问题了
var xlapp : variant;
procedure TForm1.Button2Click(Sender: TObject);
begin
xlapp := createoleobject('excel.application');
xlapp.workbooks.open('c:/ss.xls');
xlapp.cells[1,1]:='aaaaa';
xlapp.workbooks.close;
xlapp.quit;
end
以上是一个打开excel写数据的程式,没有什么问题
但是如果将以上程式分成两个部分
procedure TForm1.Button2Click(Sender: TObject);
begin
xlapp := createoleobject('excel.application');
xlapp.workbooks.open('c:/ss.xls');
end;
procedure TForm1.Button3Click(Sender: TObject);
begin
xlapp.cells[1,1]:='aaaaa';
xlapp.workbooks.close;
xlapp.quit;
end;
进程里会多出一个excel.exe的进程
我的问题是如何在分两步运行操作excel(第一步打开excel,选择工作表,第二步是修改数据,保存关闭),而且目标excel只打开一次的情况下(系统配置低,打开一次要延时10秒),让excel正常关闭。
注:1、excel进程不能强制关闭,否则会导致excel再次打开发生异常
2、尽量不使用excel自带宏
3、很奇怪,家里的双核处理器1G内存运行没这些问题,换了机子怎么就有问题了