我有一个MS-Word文档模板,该模板具有从SharePoint列表导入的现有DatePicker Contentcontrol QuickPart。
我想要:
然后我可以使用该数据基于从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 =”。
答案 0 :(得分:1)
您的例程有很多问题。未声明变量doc和ccs。您还尝试“设置” strDate,但是strDate是一个字符串变量,“设置”语句仅用于对象变量。 PODate也是如此,您不使用Set命令来加载日期。
以下是修订的代码,供您查看:
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