把数据表输出到word里,word 是通过server页里的word 控件新建的,并且能控制字体的
大小和颜色
大小和颜色
解决方案 »
- c生成的dll文件用到指针,delphi要如何调用?
- 大哥哥,大姐姐,大于127的16进制(比如E7),串口控件就发不出去,我该怎么处理才能发送出去啊?
- 如何实现DELPHI对注册表读写操作
- 为什么idtelnet客户端一连接或发命令,界面就会死掉
- 我写的程序启动的时候怎么加附带的参数
- 两个TMemoryStream比较内容是否相同有现成的比较函数不?
- 在Delphi如何打开word文挡(这个文挡保存在数据库中),急急!!!!!!!!!!!!!!!
- 如何在QuickRep报表中打印出带有两位小数的数字(即是货币形式的数字).
- luckyjan进来拉分,有个问题请教
- 像金山毒霸那种拉窗帘式的更换窗口的方式怎么样实现?
- 用动态查询时,报表只显示一条记录,为何!
- 一个小程序
unit UnitMain;interfaceuses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, DB, ADODB, Grids, DBGrids, StdCtrls, Buttons, Word2000,
OleServer;type
TForm_Main = class(TForm)
ADOCon_Sample: TADOConnection;
ADOD_Sample: TADODataSet;
DataS_Sample: TDataSource;
DBG_Sample: TDBGrid;
BitBtn1: TBitBtn;
Label1: TLabel;
WordApp: TWordApplication;
WordDoc: TWordDocument;
procedure FormCreate(Sender: TObject);
procedure BitBtn1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;var
Form_Main: TForm_Main;implementation{$R *.dfm}procedure TForm_Main.FormCreate(Sender: TObject);
begin
//指向数据库
ADOCon_Sample.Connected := False;
ADOCon_Sample.ConnectionString := 'Provider=Microsoft.Jet.OLEDB.4.0;Data Source=' + ExtractFileDir(Application.Exename) + '\' + 'Sample.mdb;Persist Security Info=False';
ADOCon_Sample.Connected := True;
ADOD_Sample.Active := True;
end;procedure TForm_Main.BitBtn1Click(Sender: TObject);
var
FindText, ReplaceWith : array[0..14] of OleVariant;
StartPos, FileName : OleVariant;
ReplaceCount : integer;
begin
if DBG_Sample.Fields[0] = nil then exit;
//连接
WordApp.Disconnect;
WordApp.Connect;
WordApp.Visible := True;
Filename := ExtractFileDir(Application.Exename) + '\' + 'Sample.doc';
WordApp.Documents.Open(Filename,EmptyParam,EmptyParam,EmptyParam, EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam);
WordDoc.Disconnect;
WordDoc.ConnectTo(WordApp.ActiveDocument);
WordDoc.Activate; //编号
FindText[0] := 'bianhao';
ReplaceWith[0] := DBG_Sample.Fields[0].AsString;
//采样日期
FindText[1] := 'caiyangriqi';
ReplaceWith[1] := DBG_Sample.Fields[1].AsString;
//送样日期
FindText[2] := 'songyangriqi';
ReplaceWith[2] := DBG_Sample.Fields[2].AsString;
//样品来源
FindText[3] := 'yangpinlaiyuan';
ReplaceWith[3] := DBG_Sample.Fields[3].AsString;
//样品名称
FindText[4] := 'yangpinmingcheng';
ReplaceWith[4] := DBG_Sample.Fields[4].AsString; //商标
FindText[5] := 'shangbiao';
ReplaceWith[5] := DBG_Sample.Fields[5].AsString;
//样品数量
FindText[6] := 'yangpinshuliang';
ReplaceWith[6] := DBG_Sample.Fields[6].AsString;
//样品批号
FindText[7] := 'yangpinpihao';
ReplaceWith[7] := DBG_Sample.Fields[7].AsString;
//包装
FindText[8] := 'baozhuang';
ReplaceWith[8] := DBG_Sample.Fields[8].AsString;
//样品阶段
FindText[9] := 'yangpinjieduan';
ReplaceWith[9] := DBG_Sample.Fields[9].AsString; //采样人
FindText[10] := 'caiyangren';
ReplaceWith[10] := DBG_Sample.Fields[10].AsString;
//记录人
FindText[11] := 'jiluren';
ReplaceWith[11] := DBG_Sample.Fields[11].AsString;
//状态
FindText[12] := 'zhuangtai';
ReplaceWith[12] := DBG_Sample.Fields[12].AsString;
//检验项目
FindText[13] := 'jianyanxiangmu';
ReplaceWith[13] := DBG_Sample.Fields[13].AsString;
//合同编号
FindText[14] := 'hetongbianhao';
ReplaceWith[14] := DBG_Sample.Fields[14].AsString;
//替换开始处
StartPos := 0;
for ReplaceCount := 0 to 14 do
begin
WordDoc.range(StartPos).find.execute(FindText[ReplaceCount], EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam, ReplaceWith[ReplaceCount], EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam);
end;
//WordDoc.PrintOut;
end;end.