通过Excel宏在单词的书签位置插入分节符

时间:2017-05-09 21:09:05

标签: excel vba ms-word bookmarks

我正在尝试创建自动报告。到目前为止,我已经设法能够从一个充满书签的模板创建word文档,将excel中的特定数据插入到正确的位置,最后将文件保存为.docx和随机名称。

我的问题是,在更新所有这些书签后,我需要在书签“PgBrk”上添加分节符并创建一个新页面。我不介意保留任何书签,因为任何新文件都会以新名称自动保存;因此我的模板总是完好无损。

过去几天一直在网上看,但最终会出现某种错误,具体取决于我的尝试。

我的代码是这样的:

Sub REP_DET()

Dim Template_Path As String
Dim Template_Name As String
Dim LRandomNumber As Integer

Template_Path = Application.ActiveWorkbook.Path    
Template_Name = "\template.docx"

Randomize
LRandomNumber = Int((9999 - 1000 + 1) * Rnd + 1000) 'Int ((min - max + 1) * Rnd + min)

Set wApp = CreateObject("Word.Application")
    wApp.documents.Open (Template_Path & Template_Name)
    wApp.Visible = True
Set wdoc = wApp.documents.Open(Template_Path & Template_Name)
With wdoc
    .Bookmarks("Item_Code").Range.Text = Sheets("A").Range("H2").Value

' various figures are populated in designated bookmark positions within the doc file
end with
With wdoc
    .Bookmarks("PgBrk").Range.Select
    With Selection
        .Collapse Direction:=0
        .InsertBreak Type:=wdSectionBreakNextPage
    End With
End With

With wdoc
    .SaveAs2 Filename:=(Template_Path & "\template" & LRandomNumber & ".docx"), _
FileFormat:=wdFormatXMLDocument, AddtoRecentFiles:=False
End With

任何帮助表示感谢。

1 个答案:

答案 0 :(得分:0)

尝试:

使用wdoc     .Bookmarks(“ PgBrk”)。Range.Select     选择**。**

因此它使用Word选择而不是Excel。同样,“使用wdoc.selection”可以解决我的问题