procedure TForm1.Button4Click(Sender: TObject);var i,m : Integer; fpage,pagea,WordYeMeiRange: olevariant; s: String; doc : Variant;  _Range: OleVariant;  _DefaultTableBehavior, _AutoFitBehavior: OleVariant;begin    Memo.Lines.Clear;    WordApp:= CreateOleObject('word.Application');    doc := WordApp.documents.add;    WordApp.visible := true;    qryuserCount.Close;    qryuserCount.Open;    qryuser.Close;    qryuser.Open;      with qryuser do      begin        if not qryuser.IsEmpty then        begin          m :=0;          Memo.Lines.Add('日期        时间    开嘱医生        执行科室        所在科室');          while not Eof do          begin              if m >41 then              begin                m :=0;                Memo.Lines.Add('日期 时间 开嘱医生 执行科室 所在科室');              end;              s :=fieldbyName('userno').AsString +' '+              fieldbyName('username').AsString +' '+              fieldbyName('password').AsString +' '+              fieldbyName('ismgr').AsString +' '+              fieldbyName('isvalid').AsString;              Memo.Lines.Add(s);              m := m + 1;            Next;          end;        end;      end;      doc.range.text := Memo.Text;      WordApp.Selection.WholeStory; // 全选    RunMacro(PChar('[EditSelectAll]')) ;    RunMacro(PChar('[TableInsertTable]')) ;    sleep(1000);    WordApp.documents.Item(1).Tables.Item(1).Columns.Item(1).width := 40;    WordApp.documents.Item(1).Tables.Item(1).Columns.Item(2).width := 50;    WordApp.documents.Item(1).Tables.Item(1).Columns.Item(3).width := 150;    WordApp.documents.Item(1).Tables.Item(1).Columns.Item(4).width := 75;    WordApp.documents.Item(1).Tables.Item(1).Columns.Item(5).width := 75;      //RunMacro(PChar('[FileExit]')) ;    //加入页眉    WordApp.ActiveWindow.ActivePane.View.SeekView :=wdSeekCurrentPageHeader ;    WordApp.Selection.ParagraphFormat.Alignment := wdAlignParagraphCenter;    WordApp.Selection.InsertAfter('石家庄市人民医院');    WordApp.Selection.InsertAfter(#13);    //WordApp.ActiveWindow.Selection.Font.Bold := wdToggle;//粗体    WordApp.ActiveWindow.Selection.Font.Size:=14;    WordApp.Selection.InsertAfter('长   期   医   嘱   单');    WordApp.ActiveWindow.Selection.Font.Bold := wdToggle;//粗体    WordApp.ActiveWindow.Selection.Font.Size:=16;    WordApp.Selection.InsertAfter(#13);    WordApp.Selection.InsertAfter('姓名:张五一  性别: 男         病区:          病室:        床号:          住院号:0095196');    WordApp.ActiveWindow.ActivePane.View.SeekView:=wdSeekMainDocument;      fpage := True;      pagea := wdAlignPageNumberCenter;      WordApp.activedocument.sections.item(1).Footers.item(1).PageNumbers.add(pagea,fpage);end;procedure TForm1.RunMacro(Macro:pChar);var  pMacro:array[0..80] of Char;begin  DDEClient.SetLink('Winword','System');{设置连接}  DDEClient.OpenLink;{按设置打开连接}  StrPCopy(pMacro,Macro);  if Not DDEClient.ExecuteMacro(pMacro,false) then{执行宏命令}  ShowMessage('Unable to Execute Macro');  DDEClient.CloseLink;{断开连接}end;以上是我写的代码,不知是不是有问题,请大家帮看一下,我还有几个问题:
如果不用DDE如何在word中画出表格线.
用DDE如何在word中能画出表格线,在打印预览时不显示表格线,我查看了word是无边框的,不知道如何加上边框.
在保存word后,如何清空指定word文档的内容.小妹在此先谢谢各位了

解决方案 »

  1.   

    先用WORD制作一个模板,再把内容输出到模板中就可以了。
      

  2.   

    WordApp.documents.Item(1).Tables.Item(1).Borders.Enable = wdLineStyleDashSmallGap; 
    查VBA得到的,没试过,你试一下,是设置表格的边框为虚线的,如果你要是添加的表格,有一个参数可以设置的。
      

  3.   

    你真是个高人,我试过了,是可以的。根据你给的linestyle的值,我到C:\Program Files\Borland\Delphi6\Ocx\Servers\word2000.pas中查找到各种边线的样式