熟悉VBA的朋友请帮帮忙。(50分)

  • 主题发起人 主题发起人 流水先生
  • 开始时间 开始时间

流水先生

Unregistered / Unconfirmed
GUEST, unregistred user!
以下是我的代码
procedure TForm1.SpeedButton7Click(Sender: TObject);
var
tm,t1,t2,t3,t4,t5,t6,t7,t8,t9:OleVariant;
i:integer;
w:TWordApplication;
d:TWordDocument;
begin
w:=TWordApplication.Create(nil);
d:=TWordDocument.Create(nil);
t1:=False;
t2:=False;
t3:=False;
t4:='';
t5:='';
t6:=False;
t7:='';
t8:='';
t9:=wdOpenFormatAuto;
tm:='d:/doc2.doc';
w.Connect;
d.ConnectTo(w.Documents.Open(tm,t1 ,t2,t3,t4,t5,t6,t7,t8,t9));
tm := d.Tables.Item(1);
for i:=0 to 1000 do //这里这里
tm.rows.add;
w.Visible := true;
end;

那个for循环的速度慢得相当可观,前500个可能要1分钟,后500个可能就要3分种,如果增加2000行速更慢了。哪位知道这个速度问题有没有办法解决。

怎样对 d.Tables.Item(1).rows.item(1) 整行赋值(不是一个单元一个单元格的赋)
 
OLE方式本来就是比较慢的。
 
没人帮忙吗
 
怎么没人帮
 
自己已解决,,1000行表格只须10秒。还比较满意思。
 
后退
顶部