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