对问题的补充 (100分)

  • 主题发起人 主题发起人 yyzxks_yms
  • 开始时间 开始时间
Y

yyzxks_yms

Unregistered / Unconfirmed
GUEST, unregistred user!
很感谢有两位朋友给予我答复,我没有使用任何倥件
用的是OLE对象,即通过创建两个variant变量(Excel.application和Excel.sheet)
然后采取对Excel.sheet中单元格赋值的方法,希望给我答复的朋友继续关注我的问题

var eclapp,works: Variant;

eclapp := CreateOleObject( 'Excel.Application' );
work3:=eclapp.workbooks.open('d:/tj/bb.xls');
for k:=1 to 7 do

begin

for j:=1 to 40 do
begin
//eclapp.cells(46*k+5+j,1):='';
//eclapp.cells(46*k+5+j,2):='';
eclapp.workbooks[1].sheets[1].cells(46*k+5+j,3):='';
eclapp.workbooks[1].sheets[1].cells(46*k+5+j,4):='';
eclapp.workbooks[1].sheets[1].cells(46*k+5+j,5):='';
eclapp.workbooks[1].sheets[1].cells(46*k+5+j,6):='';
eclapp.workbooks[1].sheets[1].cells(46*k+5+j,7):='';
eclapp.workbooks[1].sheets[1].cells(46*k+5+j,8):='';
eclapp.workbooks[1].sheets[1].cells(46*k+5+j,9):='';

end;
end;

works.saved;
works.close;
感谢您的帮助最后再向您请教设置成eclapp.visible := true;
设置eclapp.visible :=false有何区别,另外我将k的上限值
由6改为4,内存不足提示没有了。有没有更好的办法避开使用
这种消耗系统资源的引用方法。希望您继续能给予回答。

 
给出源码看看。
 
注意改动:
procedure TForm1.Button1Click(Sender: TObject);
var
eclapp, works: Variant;
k, j: byte;
begin
eclapp := CreateOleObject('Excel.Application');
eclapp.visible := true;
works := eclapp.workbooks.open('ex.xls');
eclapp.visible := true;
for k := 1 to 7 do
begin
for j := 1 to 40 do
begin
//eclapp.cells(46*k+5+j,1):='';
//eclapp.cells(46*k+5+j,2):='';
eclapp.workbooks[1].sheets[1].cells(46 * k + 5 + j, 3) := '';
eclapp.workbooks[1].sheets[1].cells(46 * k + 5 + j, 4) := '';
eclapp.workbooks[1].sheets[1].cells(46 * k + 5 + j, 5) := '';
eclapp.workbooks[1].sheets[1].cells(46 * k + 5 + j, 6) := '';
eclapp.workbooks[1].sheets[1].cells(46 * k + 5 + j, 7) := '';
eclapp.workbooks[1].sheets[1].cells(46 * k + 5 + j, 8) := '';
eclapp.workbooks[1].sheets[1].cells(46 * k + 5 + j, 9) := '';
end;
end;
works.save;
works.close;
eclapp.Quit;
eclapp := unassigned;
end;
 
后退
顶部