使用Excel VBA编写Word文档标题

时间:2019-03-06 19:50:37

标签: excel vba ms-word header

我正在Excel工作表中创建一个按钮,该按钮可以在Word中生成报告。到目前为止,一切都很好,除了我试图在文档中添加一个类似于以下内容的标题: enter image description here

,但最终看起来像这样: enter image description here

它刚好出现在文档底部的这个怪异的额外窗口中,显示为第3页,这时该文档只有两页(或者应该只有两页) 我的代码是:

'Header

  With Wordapp
   .activeDocument.Bookmarks("Header").Select
   .Selection.TypeText Text:="CFD Analysis of Antenna EPA "
   .Selection.MoveRight Count:=1
   .Selection.TypeText Text:=today
   .Selection.MoveRight Count:=1
   .Selection.TypeText Text:=antennamanu & " " & modnum
  End With

1 个答案:

答案 0 :(得分:0)

问题的屏幕快照中显示的行为是由于使用Select方法引起的。在草稿视图中,单独的页眉窗格来自Word 2.0的时代,在该版本中,所见即所得不适用于页眉,页脚,注释和类似内容。

直接使用Select对象而不是使用Range可以避免此问题。问题中的代码可以按以下方式更改:

'Header
  Dim rngHeader as Word.Range 'or Object if this is late-binding
  With Wordapp
   Set rngHeader = .ActiveDocument.Bookmarks("Header").Range
   rngHeader.Text ="CFD Analysis of Antenna EPA " & vbTab & _
                    today & vbCr & antennamanu & " " & modnum
  End With

在原始代码中,文档显然具有TAB和段落字符。因此Selection.MoveRight移至制表位,然后移至下一段。上面的代码按原样编写了这些代码,因此应从所使用的报告模板中删除这些字符。