Я пытаюсь добавить пользовательский строительный блок одним нажатием кнопки в MS Word 10. Ниже приведен код, который сейчас прикреплен к моей кнопке ActiveX.
Private Sub CommandButton1_Click()
Dim objTemplate As Template
Dim objBB As BuildingBlock
' Set the template to store the building block
Set objTemplate = ActiveDocument.AttachedTemplate
' Access the building block through the type and category
Set objBB = objTemplate.BuildingBlockTypes(wdTypeCustom5) _
.Categories("General").BuildingBlocks("Experience")
' Insert the building block into the document replacing any selected text.
objBB.Insert Selection.Range
End Sub
Моя проблема в том, что, поскольку этот код вызывается нажатием кнопки, кнопка становится "Выбор".Диапазон "и, таким образом, заменяется. Я искал все вокруг для альтернативных кодов, которые упоминают различные спецификации "где" и ничего не нашел.
Я нашел только две ссылки (не могу найти URL в моей истории прямо сейчас, скоро обновлю)
В нем упоминается «Пункты (1)» вместо «Выбор.Range », но это абсолютное местоположение, а мне нужно что-то относительное (перед кнопкой)
Использование метода InsertBefore, который, я полагаю, применяется только к тексту (он использовался для вставки текста в примере), так как когда я пробовал его для строительных блоков, он не работал
PS Я относительно новичок в VBA