我需要在 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
编辑:抱歉,编辑包括能够使用文件名的两个部分。有点混乱,但可以完成工作。