我想把其变为网页格式文档后导入word如何??
解决方案 »
- 求助:intraweb5.0播放视频的问题
- 关于LineDDA的问题。。
- 我的delphi怎么总是会自动保存?
- 如何把一个整数转换为char类型?
- delphi7控件代码分析中遇到的困惑!
- 第三方控件----help me
- 图片文件格式转化
- 简单问题:用Tidftp控件上传数据怎样检验上传是否成功?
- 大虾门请来看看[求几句代码 谢谢]
- 命苦的人问问各位工作状况,看看自己离真正的程序员还有多远(恳请版主不要删除此贴)
- 偶发现一个问题:sql的存储过程在其他语言怎么执行(例如delphi),哪里都没有讲述,无论sql还是delphi的书上,sql的书上只讲在analyzer里,delphi根本不说,why?
- 数据库存储过程问题
procedure TForm4.BinWordClick(Sender: TObject);
var
WordApp,WordDoc,WordParagraph,WordRange,WordTable:variant;
SltRec,SltCol,VisCol :integer;
ColIndex,RowIndex : Integer;
I,J : integer;
PrintAll : Boolean;
begin
STBar.Panels[0].Text := '';
PrintAll := false;
if DBGrid1.SelectedRows.Count = 0 then
begin
if MessageDlg('当前没有选定打印的记录,是否全部打印?',mtconfirmation,[Mbyes,Mbno],0) = mrno then
begin
Application.MessageBox(pchar('没有选定的数据记录,打印终止!'),pchar('注意'),mb_ok);
Abort;
end else
PrintAll := true;
end; try
if VarIsEmpty(WordApp) then
WordApp := CreateOleObject('word.Application'); WordDoc := WordApp.documents.add;
WordParagraph := WordApp.activedocument.paragraphs.add; WordRange := WordParagraph.range;
// WordRange.text:= dm1.QryMain.TableName +#13+' ';
WordRange.Font.Size := 18;
WordRange.Font.Name := '宋体';
// WordRange.Font.style := fsbold;
except
Application.MessageBox(pchar('Ms Word 无法启动,数据转入终止!'),pchar('注意'),mb_ok);
BinWord.Enabled := false;
STBar.Panels[0].Text := 'Ms Word 无法启动';
Abort;
end;
STBar.Panels[0].Text := '数据正在转移至Word'; //统计打印行数
if PrintAll then
SltRec := dm1.QryMain.RecordCount
else
SltRec:=DBGrid1.SelectedRows.Count; //统计打印列数
SltCol := 0;
VisCol := 0;
for j := 0 to DBGrid1.Columns.Count-1 do
begin
if DBGrid1.Columns[J].Visible then
begin
VisCol := VisCol + 1; if DBGrid1.Columns[j].Title.Color=clAqua then
begin
SltCol := SltCol + 1;
end;
end;
end;
if SltCol = 0 then
SltCol := VisCol; WordRange := WordApp.ActiveDocument.Content;
WordRange.Collapse(wdCollapseEnd);
WordTable:= WordApp.activedocument.tables.add(WordRange,SltRec + 1,SltCol); {打印表头}
ColIndex := 1;
for j := 0 to dbgrid1.Columns.Count-1 do
begin
if SltCol <> VisCol then
begin
if (dbgrid1.Columns[j].Visible = false) or (dbgrid1.Columns[j].Title.color <> clAqua) then
Continue;
end; WordTable.Cell(1,ColIndex).Range.InsertAfter(dbgrid1.Columns[j].Title.Caption);
DBGrid1.Columns[J].Title.Color := clAqua;
ColIndex := ColIndex + 1;
end; //打印数据
dm1.QryMain.First;
RowIndex := 2;
ColIndex := 1;
while not dm1.QryMain.Eof do
begin
if SltRec <> dm1.QryMain.RecordCount then
begin
if dbgrid1.SelectedRows.CurrentRowSelected = false then
begin
dm1.QryMain.Next;
Continue;
end;
end; for j := 0 to dbgrid1.Columns.Count-1 do begin
if (dbgrid1.Columns[j].Visible<>false) and (dbgrid1.Columns[j].Title.color=clAqua) then
begin
WordTable.Cell(RowIndex,ColIndex).Range.InsertAfter
(dm1.QryMain.Fieldbyname(dbgrid1.Columns[j].FieldName).asstring);
ColIndex := ColIndex + 1;
end;
end;
RowIndex := RowIndex + 1;
ColIndex := 1;
dm1.QryMain.Next;
end;{End of While...not...}
WordApp.Visible := true;
STBar.Panels[0].Text := '数据转移成功,请使用Word打印所选定的数据';
for j := 0 to dbgrid1.Columns.Count-1 do
DBGrid1.Columns[J].Title.Color := clAqua;
end;