Datepicker内容控件 - 使用Word中的VBA将值提取到另一个文档中

时间:2014-06-19 17:37:46

标签: vba ms-word word-vba

我有两个Word文档(Doc1.docm)和(Doc2.docm)。在Doc1.docm中,我使用日期选择器内容控件选择一个月和一年(格式:MMMM YYYY)。我将此日期选择器字段定义为"日期1和#34;。

当我在Doc1.docm中选择月份和年份时,我尝试自动更新标题中Doc2.docm中的新内容字段。

使用此代码时,我只能使用Doc1.docm在同一文档中执行此操作:

Private Sub Document_ContentControlOnExit(ByVal ContentControl As ContentControl, Cancel As Boolean)
Dim CCtrl As ContentControl
If ContentControl.Title = "Date1" Then
  For Each CCtrl In ActiveDocument.ContentControls
    If CCtrl.Title = "Date2" Then
      With CCtrl
        .LockContents = False
        .Range.Text = Format(ContentControl.Range.Text, "MMMM YYYY")  
        .LockContents = True  
      End With  
      Exit For  
    End If  
    Next  
End If  
End Sub

当我在Doc1.docx中选择月份和年份时,是否有人知道如何更新Doc2.docm?

1 个答案:

答案 0 :(得分:0)

您必须打开另一个Word文档。这可以通过以下方式以编程方式实现:

Dim wordDoc as object
Set wordDoc = CreateObject("Word.Application")
wordDoc.Documents.Open("C:\Doc2.docm")

现在,您可以以编程方式操作Doc2.docm的内容,就像使用Doc1.docm一样。如果您想知道为什么文档没有出现:它是隐藏的。要使其可见,您必须设置wordDoc.Visible = True。一旦通过WordDoc.Quit

进行了更改,请不要忘记关闭Doc2