插入文档 属性 对象

Insert Document Property Object

在我的 Word (Office 365) 文档中,我可以通过单击插入/快速部件/文档 属性 / 公司来插入公司名称的快速部件。

我想要一个宏来执行此操作,这样我就可以在“快速访问”工具栏上弹出一个按钮,使其单击一次而不是四次。

我录制过程的时候,宏没有注册插入。我发现下面的 VBA 代码插入了字段的当前文本,而不是内容控件本身:

ActiveDocument.Content.InsertAfter
ActiveDocument.BuiltInDocumentProperties(wdPropertyCompany)

我认为必须有一行 VBA 将公司快速零件字段插入到我的文档中,就好像我已经完成了那四次点击一样。

诀窍是将内容控件映射到公司

Sub insertCompanyCC()

On Error GoTo err_insert

Dim cc As ContentControl
Set cc = ActiveDocument.ContentControls.Add(wdContentControlText, Selection)
With cc
   .Title = "Company"
   .XMLMapping.SetMapping "/ns0:Properties[1]/ns0:Company[1]"
End With

exit_insert:
    Exit Sub

err_insert:
    Select Case Err
        Case 4605
             MsgBox "Please move your cursor outside of the content control.", vbExclamation
        Case Else
            Err.Raise Err.Number, Err.Source
    End Select
    Resume exit_insert
End Sub

例如/ns1:coreProperties[1]/ns0:creator[1] 将插入作者。