Как выбрать значение из DropDownList в макросе Word с помощью VBA? - PullRequest
0 голосов
/ 28 мая 2019

Я создаю макрос, используя как vbscript, так и vba, этот макрос вызывается кодом скрипта и работает хорошо, но когда я пытаюсь выбрать значение вне самого макроса, я получаю сообщение об ошибке о том, как я пытаюсь установить значение.

Я назвал выпадающий список как "Результат", и когда я пытаюсь установить значение, оно не работает, я также пытался с именем по умолчанию "DropDownList", но ни одна из этих опций, кажется, не работает, возможно, я пропустил объект ссылки.

Я уже объявил объекты, которые мне нужны

Set objWord = CreateObject("Word.Application")
Set activeDoc= objWord.ActiveDocument

activeDoc.FormFields("Result").DropDown.Value = 2

Ошибка, которую я сейчас получаю, заключается в том, что «Запрошенный член объединения не существует».

Единственное решение, которое я могу придумать, - установить значение при создании раскрывающегося списка в макросе:

ActiveDocument.Tables(1).Cell(Row: = 4, Column: = 4).Select
Set objCC =
    Selection.Range.ContentControls.Add(wdContentControlDropDownList)
With objCC
    .Title = "Result"
    .Tag = "Result"
    .DropdownListEntries.Add("Passed", "Passed").Select
End with

1 Ответ

0 голосов
/ 28 мая 2019

Я все испортил, но в конце концов я понял, в чем была моя ошибка. Я не использовал тег, поэтому элемент был свободным, мне пришлось использовать индекс правильного управления контентом

Set objCc = activeDoc.ContentControls.Item(5)
Set objLe1 = objCc.DropdownListEntries.Item(1)
objLe1.Select
...