使用MS Access和VBA生成Ms Word文档

4
这是我第一次编写VBA代码。我需要使用我的数据库中的数据(仅选定表)生成Word文档。我使用XXX.Selection.TypeText在文档中创建了一些文本,但是我无法弄清楚如何包含报告的页眉和页脚。我尝试了许多方法,但是没有得到我想要的结果。
我的问题是,我是否可以使用预定义的带有页眉和页脚的Word文档,并在里面填充我的数据?
谢谢!

如果您想将数据打印到现成的文档中,可以尝试设置书签[http://msdn.microsoft.com/en-us/library/office/aa221387(v=office.11).aspx]。 - Roland
2
您可以使用带有页眉和页脚的模板并更新文本,也可以使用VBA从头开始创建页眉和页脚。尝试在Word中记录您想要执行的操作的宏,然后修改它以适应您的需求,并将代码转移到Access中。 - Olle Sjögren
我同意Ollie的观点 - 如果你真的想要全部用代码完成,可以在Word中记录一个宏并将其移植过来。 - VBlades
1个回答

7

请看下面的代码:

这将创建一个新的Word文档,包括页眉、页脚和正文内容。

注意:不要忘记添加Microsoft Word对象的引用。

Dim objWord As Word.Application
Dim doc As Word.Document
Dim WordHeaderFooter As HeaderFooter

Set objWord = CreateObject("Word.Application")

With objWord
    .Visible = True

    Set doc = .Documents.Add
    doc.SaveAs CurrentProject.Path & "\TestDoc.doc" 
End With

With objWord.Selection

 .Font.Name = "Trebuchet MS"
 .Font.Size = 16

  .TypeText "Here is an example test line, #" & " - Font size is " & .Font.Size
  .TypeParagraph

    'Add header and footer

    ActiveDocument.Sections(1).Headers(wdHeaderFooterPrimary).Range.Text = "Header"
    ActiveDocument.Sections(1).Footers(wdHeaderFooterPrimary).Range.Text = "Footer"
End With

doc.Save
doc.Activate

{{链接1:vba}} {{链接2:ms-access}} {{链接3:ms-word}}


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接