Я новичок в vba, и я работал над пользовательской формой для моего Word. Я пытаюсь сделать определенный combobox, чтобы выбрать один из его элементов на основе текста закладки, которая находится в самом документе. Я использую оператор if, чтобы проверить текст закладки, и если он соответствует, он должен изменить выбранный элемент combobox на тот, который я выбираю. У меня очень мало знаний о vba, и у меня возникают проблемы с его работой. Я не уверен, где я ошибаюсь. Вот мой код.Изменить выбор ComboBox на основе закладки в документе
Private Sub UserForm_Initialize()
Me.cbxShipFrom.AddItem ("My Company")
Me.cbxShipFrom.AddItem ("Warehouse")
Me.cbxShipFrom.AddItem ("Warehouse 2")
Me.cbxShipFrom.AddItem ("Other...")
If ActiveDocument.Bookmarks("shipfrom").Range.Text = "MY COMPANY" & vbCrLf & "123 BEETLE ST" & vbCrLf & "MYCITY, ST xZIPx" Then
Me.cbxShipFrom.Value = Me.cbxShipFrom.ListIndex(0)
End If
End Sub
Это работало отлично! Я тоже не знал об этом с заявлением, я вижу, что это потенциал для сокращения повторяющегося кода. Благодаря! – Christopher
Добро пожаловать. Вы правы в отношении оператора With, что также повышает производительность кода, поскольку он позволяет избежать множественного доступа к памяти на указанный объект – user3598756