Причина в том, что объект Selection
теряется после ToggleDesignMode
- это значит, что объект Selection
больше не существует.В своем записанном примере вы повторно выбрали место, в котором нужно ввести «Дата», но Word не знает, где выбрать.
Чтобы обойти это, используйте записанные макросы в качестве отправной точки, но затемдальше убирайся.Как это:
Sub InsertContentControl()
Dim myDoc As Document
Set myDoc = ActiveDocument
Dim tr As Style
Set tr = myDoc.Styles("TextRed"):
Dim cc As ContentControl
Dim sel As Range
Set sel = Selection.Range
Set cc = sel.ContentControls.Add(wdContentControlText)
cc.SetPlaceholderText Text:="Date"
cc.DefaultTextStyle = tr
End Sub
Чтобы сделать это с новым стилем, используйте следующее:
Sub InsertContentControlwithNewStyle()
Dim myDoc As Document
Set myDoc = ActiveDocument
Dim tr As Style
Set tr = myDoc.Styles.Add("New TextRed")
tr.BaseStyle = wdStyleNormal
tr.Font.ColorIndex = wdRed
Dim cc As ContentControl
Dim sel As Range
Set sel = Selection.Range
Set cc = sel.ContentControls.Add(wdContentControlText)
cc.SetPlaceholderText Text:="Date"
cc.DefaultTextStyle = tr
End Sub