如何使用 VBA 将字符串值设置为 MS-Word 中 ContentControl DatePicker 中的日期值
How can I set a string value to the date value in a ContentControl DatePicker in MS-Word using VBA
我有一个 MS-Word 文档模板,其中包含从 SharePoint 列表导入的现有 DatePicker Contentcontrol QuickPart。
我想:
- 将 DatePicker 日期的值分配给日期变量,- 或-
- 将字符串变量设置为 DatePicker 中日期的字符串值
然后我可以根据从 DatePicker 值中读取的日期使用该数据计算未来日期并将其放置在我的文档中。
我使用关键字日期选择器、内容控制、VBA、Word 研究了许多网站。没有任何示例接近我正在尝试做的事情。
Sub AddDates()
'
' AddDates Macro
Dim PODate As Date
Dim strDate As String
Set doc = ActiveDocument
Set ccs = doc.SelectContentControlsByTag("wqgr")
Set strDate = ccs.ContentControl.Range.Text
Set PODate = CDate(strDate)
Selection.GoTo What:=wdGoToBookmark, Name:="Date1"
Selection.TypeText Text:=Format(PODate + 7, "mm/dd/yyyy")
End Sub
编译错误:需要对象,突出显示代码中的 "strDate = "。
您的例程有很多问题。变量 doc 和 ccs 没有声明。您还试图 "Set" strDate 但 strDate 是一个字符串变量, "Set" 语句仅用于对象变量。 PODate也是一样,你不用Set命令来加载Date。
下面是修改后的代码供您查看:
Sub AddDates()
'
' AddDates Macro
Dim PODate As Date
Dim strDate As String
Dim doc As Word.Document
Dim ccs As Word.contentControl
Set doc = ActiveDocument
Set ccs = doc.SelectContentControlsByTag("wqgr").Item(1)
strDate = ccs.Range.Text
PODate = CDate(strDate)
Selection.GoTo What:=wdGoToBookmark, Name:="Date1"
Selection.TypeText Text:=Format(PODate + 7, "mm/dd/yyyy")
End Sub
我有一个 MS-Word 文档模板,其中包含从 SharePoint 列表导入的现有 DatePicker Contentcontrol QuickPart。
我想:
- 将 DatePicker 日期的值分配给日期变量,- 或-
- 将字符串变量设置为 DatePicker 中日期的字符串值
然后我可以根据从 DatePicker 值中读取的日期使用该数据计算未来日期并将其放置在我的文档中。
我使用关键字日期选择器、内容控制、VBA、Word 研究了许多网站。没有任何示例接近我正在尝试做的事情。
Sub AddDates()
'
' AddDates Macro
Dim PODate As Date
Dim strDate As String
Set doc = ActiveDocument
Set ccs = doc.SelectContentControlsByTag("wqgr")
Set strDate = ccs.ContentControl.Range.Text
Set PODate = CDate(strDate)
Selection.GoTo What:=wdGoToBookmark, Name:="Date1"
Selection.TypeText Text:=Format(PODate + 7, "mm/dd/yyyy")
End Sub
编译错误:需要对象,突出显示代码中的 "strDate = "。
您的例程有很多问题。变量 doc 和 ccs 没有声明。您还试图 "Set" strDate 但 strDate 是一个字符串变量, "Set" 语句仅用于对象变量。 PODate也是一样,你不用Set命令来加载Date。
下面是修改后的代码供您查看:
Sub AddDates()
'
' AddDates Macro
Dim PODate As Date
Dim strDate As String
Dim doc As Word.Document
Dim ccs As Word.contentControl
Set doc = ActiveDocument
Set ccs = doc.SelectContentControlsByTag("wqgr").Item(1)
strDate = ccs.Range.Text
PODate = CDate(strDate)
Selection.GoTo What:=wdGoToBookmark, Name:="Date1"
Selection.TypeText Text:=Format(PODate + 7, "mm/dd/yyyy")
End Sub