从 MS Word VBA 中的日期选择器创建相关内容控制字段

问题描述 投票:0回答:1

我想在 Word 文档中创建一些字段,在其中从顶部的日期选择器内容控件中选择一个日期,然后将相同的日期放入文档中其他位置的相关位置。我已经从组合框和富文本控件中设置了依赖字段,但它似乎无法调整日期选择器。

我确实找到了这段代码,它的目的是做我想做的事,我想:

Private Sub Document_ContentControlOnExit(ByVal ContentControl As ContentControl, Cancel As Boolean)
Dim oCC As ContentControl
  Select Case ContentControl.Title
    Case "Date"
      Set oCC = ActiveDocument.SelectContentControlsByTitle("Date Advanced").Item(1)
      With oCC
        .LockContents = False
        If IsDate(ContentControl.Range.Text) Then
          .Range.Text = DateAdd("d", 3, CDate(ContentControl.Range.Text))
        Else
          .Range.Text = vbNullString
        End If
      End With
  End Select
End Sub

但它似乎根本没有做任何事情。

理想情况下,我不想对日期格式进行硬编码,而只需使用我可以在内容控件属性窗口中选择的格式,尽管我不确定这是否可能。

vba ms-word
1个回答
0
投票
  • date1
    date2
    Plain Text Content Control
Private Sub Document_ContentControlOnExit(ByVal ContentControl As ContentControl, Cancel As Boolean)
    Dim oCC As ContentControl, sDate As String
    If ContentControl.Type = wdContentControlDate Then
        With ContentControl
            .LockContents = False
            If IsDate(ContentControl.Range.Text) Then
                sDate = CStr(DateAdd("d", 3, CDate(ContentControl.Range.Text)))
                .Range.Text = sDate
                For Each oCC In ActiveDocument.ContentControls
                    If oCC.Type = wdContentControlText Then
                        oCC.Range.Text = sDate
                    End If
                Next
            Else
                .Range.Text = vbNullString
            End If
        End With
    End If
End Sub

© www.soinside.com 2019 - 2024. All rights reserved.