使用 Word 宏在标题中插入文件名的部分?

使用 Word 宏在标题中插入文件名的部分?

我需要在 Word 文件名的标题中插入部分内容。例如,我们有 Word 文档,文件名如下

'01 00 50 Instructions to Bidders.docx' 

并希望解析“01 00 50”并将其放入标题的一部分,将“投标人说明”放入另一部分。我发现一些 VB 宏可以解析插入文件名并对其进行解析,例如,

Sub InsertFileName()
    Selection.InsertBefore Text:=Left(ActiveDocument.Name, _
      Len(ActiveDocument.Name) - 4)
End Sub

但上述宏会在光标位置插入文本。我需要将其拆分并定位到页眉的特定部分,如下所示

Smith Building Renovation                                    01 00 50
42 Main St.               Instruction to Bidders          Page 1 of 5
Augusta, ME                                               23-Feb-2014

对于我来说,在 VB 中分解文件名很清楚,但是如何在文档的特定部分找到已解析的文本?

答案1

如果你的文件名开头总是具有相同的格式;那么NN NN NN Filename.docx这应该可以工作;

Private Sub Document_Open()

Dim j As Long
Dim str As String
str = ActiveDocument.Name
Dim strRight As String
Dim strLeft As String


strRight = right(str, Len(str) - 9)
strLeft = left(str, 9)

For j = 1 To ActiveDocument.Sections.Count
    With ActiveDocument.Sections(j)
        .Headers(wdHeaderFooterPrimary).Range.Text = strRight + " middle " + strLeft

    End With
Next
End Sub

编辑:抱歉,编辑包括能够使用文件名的两个部分。有点混乱,但可以完成工作。

相关内容