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文档的内容.小妹在此先谢谢各位了
如果不用DDE如何在word中画出表格线.
用DDE如何在word中能画出表格线,在打印预览时不显示表格线,我查看了word是无边框的,不知道如何加上边框.
在保存word后,如何清空指定word文档的内容.小妹在此先谢谢各位了
查VBA得到的,没试过,你试一下,是设置表格的边框为虚线的,如果你要是添加的表格,有一个参数可以设置的。