以前的程序,希望对你有帮助!
procedure TFrm_Kj_kfxm_tz.SpeedButton3Click(Sender: TObject);
var
AppWord,MyDoc,R,T :Variant;
sArray :array[1..20] of string;
i,j,rowcount :word;
je :double;
pathname: string;
begin
inherited;
try
AppWord := CreateOleObject('Word.application');
except
MessageDlg('请确定Microsoft Word是否安装!', mtInformation, [mbOK], 0);
end;
AppWord.visible :=True;
try
//pathname:=ExtractFilePath(paramstr(0));
pathname:=ReadStrFromIni('dotpath','path','');
showmessage(pathname);
MyDoc := AppWord.Documents.Add(Template:=pathname + '\年度通知模板.dot'); sArray[1] := cds_data.fieldbyname('ny').AsString;
sArray[2] := cds_data.Fieldbyname('tzdw').AsString;
sArray[3] := cds_data.fieldbyname('nr').asstring;
sArray[4] := cds_data.fieldbyname('xdtzdw').asstring;
sArray[5] := cds_data.fieldbyname('xdtzsj').AsString;
sArray[6] := cds_data.fieldbyname('mc').asstring; T := MyDoc.tables.item(1);
t.cell(1,1).range.text := sArray[6];
t.cell(2,1).range.text := sArray[2];
t.cell(3,1).range.text := ' ' + sArray[3];
t.cell(4,1).range.text := sArray[4];
t.cell(5,1).range.text := sArray[5]; //计划表
T := MyDoc.tables.item(2);
t.cell(1,1).range.text := '附:'+ sArray[1] + '新技术开发项目计划表';
T := MyDoc.tables.item(3);
t.cell(2,1).range.text := sArray[1] + '新技术开发项目计划表';
T := MyDoc.tables.item(4);
rowcount := cds_ndjh.RecordCount;
cds_ndjh.First;
je := 0;
for i:=1 to rowcount do
begin
with cds_ndjh do
begin
if not eof then
begin
sArray[10] := inttostr(i);
sArray[11] := fieldbyname('xmmc').AsString;
sArray[12] := fieldbyname('zynr').AsString;
sArray[13] := '自' + fieldbyname('ksrq').AsString + '至' + fieldbyname('zzrq').AsString;
sArray[14] := fieldbyname('je').Asstring;
sArray[15] := fieldbyname('zrdw').AsString;
sArray[16] := fieldbyname('bz').AsString;
je := je + fieldbyname('je').AsFloat;
for j:=1 to 7 do
begin
t.cell(i + 1,j).range.text := sArray[j + 9];
end;
end;
t.rows.add;
next;
end;
end;//for end;
t.cell(i + 2,2).range.text := '合计';
t.cell(i + 2,5).range.text := floattostr(je);
//////////save
except
AppWord.Quit;
end;end;
procedure TFrm_Kj_kfxm_tz.SpeedButton3Click(Sender: TObject);
var
AppWord,MyDoc,R,T :Variant;
sArray :array[1..20] of string;
i,j,rowcount :word;
je :double;
pathname: string;
begin
inherited;
try
AppWord := CreateOleObject('Word.application');
except
MessageDlg('请确定Microsoft Word是否安装!', mtInformation, [mbOK], 0);
end;
AppWord.visible :=True;
try
//pathname:=ExtractFilePath(paramstr(0));
pathname:=ReadStrFromIni('dotpath','path','');
showmessage(pathname);
MyDoc := AppWord.Documents.Add(Template:=pathname + '\年度通知模板.dot'); sArray[1] := cds_data.fieldbyname('ny').AsString;
sArray[2] := cds_data.Fieldbyname('tzdw').AsString;
sArray[3] := cds_data.fieldbyname('nr').asstring;
sArray[4] := cds_data.fieldbyname('xdtzdw').asstring;
sArray[5] := cds_data.fieldbyname('xdtzsj').AsString;
sArray[6] := cds_data.fieldbyname('mc').asstring; T := MyDoc.tables.item(1);
t.cell(1,1).range.text := sArray[6];
t.cell(2,1).range.text := sArray[2];
t.cell(3,1).range.text := ' ' + sArray[3];
t.cell(4,1).range.text := sArray[4];
t.cell(5,1).range.text := sArray[5]; //计划表
T := MyDoc.tables.item(2);
t.cell(1,1).range.text := '附:'+ sArray[1] + '新技术开发项目计划表';
T := MyDoc.tables.item(3);
t.cell(2,1).range.text := sArray[1] + '新技术开发项目计划表';
T := MyDoc.tables.item(4);
rowcount := cds_ndjh.RecordCount;
cds_ndjh.First;
je := 0;
for i:=1 to rowcount do
begin
with cds_ndjh do
begin
if not eof then
begin
sArray[10] := inttostr(i);
sArray[11] := fieldbyname('xmmc').AsString;
sArray[12] := fieldbyname('zynr').AsString;
sArray[13] := '自' + fieldbyname('ksrq').AsString + '至' + fieldbyname('zzrq').AsString;
sArray[14] := fieldbyname('je').Asstring;
sArray[15] := fieldbyname('zrdw').AsString;
sArray[16] := fieldbyname('bz').AsString;
je := je + fieldbyname('je').AsFloat;
for j:=1 to 7 do
begin
t.cell(i + 1,j).range.text := sArray[j + 9];
end;
end;
t.rows.add;
next;
end;
end;//for end;
t.cell(i + 2,2).range.text := '合计';
t.cell(i + 2,5).range.text := floattostr(je);
//////////save
except
AppWord.Quit;
end;end;
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货