Я пытаюсь удалить два конкретных объекта, выпадающий список с именем ComboBox1
и кнопку с именем btnselect
.
Код будет запускаться при нажатии btnselect
.
Вот код, который я написал:
Dim obj1 As Object
For Each obj1 In ActiveDocument.InlineShapes
If obj1.OLEFormat.Object.Name = "ComboBox1" Then
obj1.Delete
End If
Next obj1
Dim obj2 As Object
For Each obj2 In ActiveDocument.InlineShapes
If obj2.OLEFormat.Object.Name = "btnselect" Then
obj2.Delete
End If
Next obj2
Также я попробовал следующий код:
ActiveDocument.InlineShapes(1).Delete
ActiveDocument.InlineShapes(1).Delete
Как работает код, так и указанные объекты ActiveX удалены.
Однако после запуска этого кода другие кнопки, к которым прикреплен код vba, не будут работать.
Точнее говоря, проблема возникает только при создании нового документа на основе шаблона. Если я запускаю кнопки прямо из шаблона, проблем нет. Без этих кодов кнопки работают как задумано в новом документе на основе шаблона.
Не могли бы вы помочь мне найти способ удалить эти два объекта, не мешая другим объектам?
ПОСЛЕДНЕЕ РЕДАКТИРОВАНИЕ : Я сузил код настолько, насколько мог, чтобы проблема все еще сохранялась.
Private Sub btnselect_Click()
ActiveDocument.InlineShapes(1).Delete
End Sub
Private Sub btnSubmit_Click()
MsgBox "Working"
End Sub
Private Sub btnPrint_Click()
MsgBox "Working"
End Sub
Шаблон имеет три кнопки btnselect
, btnSubmit
и btnPrint
и содержит вышеуказанный код VBA.
Я хочу удалить btnselect
в новом документе, который основан на шаблоне.
Если я создаю новый документ на основе шаблона и нажимаю btnselect, кнопка удаляется, но затем две другие кнопки больше не работают.
Если я открою шаблон и нажму btnselect, кнопка будет удалена, а две другие кнопки будут работать (они отображают сообщения).