我正在尝试使用Excel填充具有内容控制文本框的Word.dotm文档。
在Excel中,我创建了单词对象并打开文件,但是我不知道如何实际访问控件。
在Word doc的VBA中,我可以通过]访问它们>
.SelectContentControlsByTitle("control").Item(1).Range.Text = "..."
但是在Excel中使用对象不起作用。
这是我在Excel中尝试过的代码:
Dim objWord As Object
Dim objDoc As Object
Dim objSelection As Object
Dim ctrl As ContentControl 'Not an Excel type
Set objWord = CreateObject("Word.Application")
Set objDoc = objWord.Documents.Open(ThisWorkbook.Path & "\MyDoc.dotm")
objWord.Visible = True
Set objSelection = objWord.Selection
'Doesn't work
objDoc.SelectContentControlsByTitle("control").Item(1).Range.Text = "..."
'Doesn't work either, but tried nonetheless
For Each ctrl In objDoc.contentcontrols
If ctrl.Title = "date" Then
ctrl.Range.Text = "!"
End If
Next ctrl
我正在尝试使用Excel填充具有内容控制文本框的Word.dotm文档。在Excel中,我创建了单词对象并打开文件,但是我不知道如何实际访问...
在任何宏中,尤其是在跨程序宏中,请避免使用Selection对象,而应使用Range
尽管您已将ctrl
声明为ContentControl
,但它不是Word内容控件,这就是For Each
循环将不起作用的原因。