VBA-HTML Раскрывающийся список выбора значения при раскрытии - PullRequest
0 голосов
/ 15 ноября 2018

У меня есть инструмент, открывающий это диалоговое окно веб-страницы, которое состоит из таблицы, которая при запуске заполняет этот объект и нажимает кнопку, чтобы закрыть диалоговое окно, однако кажется, что он не выбирает физически значение из поля со списком.Я пытался .SelectedIndex и .innerText, но все же, когда я нажимаю кнопку, чтобы выйти, он все еще подсказывает мне, что я все еще не выбрал данные для этого поля со списком.Например, поле со списком имеет значения «Выбор данных», «Данные 1» и «Данные 2», конечно, при открытии диалогового окна веб-страницы значением по умолчанию этого поля со списком является «Выбор данных», и когда я запускаю кодкоторый фокусируется, щелкает и дает значение этому комбинированному окну как «Данные 1» (из кода) и нажимает кнопку, он все равно подскажет мне, что я все еще не выбрал какие-либо данные, и значение комбинированного окна будет идти из моих выбранных данных«Данные 1» снова «Выбрать данные».Я надеюсь, что я объяснил это полностью, но если у вас есть разъяснения, просто дайте мне знать.Я не могу предоставить URl, так как это система от компании, которую я поддерживаю.

Ниже приведены мой код выполнения и HTML диалогового окна веб-страницы:

Public Sub completeReserveLog() 
Dim iRes_Html As HTMLDocument
AssResScr="the title page of the URL"
Set iRes_Html = HtmlDocFromHandleJex(AssResScr, "Reserves")
If iRes_Html Is Nothing Then Exit Sub
With iRes_Html
    'In this scenario is kinda confusing because I'm not really sure
        'if what is really the name of my combox object. So I used these two: mvASSOC1_0 and mvASSOC1_1_0
      .getElementById("mvASSOC1_1_0").Focus
      .getElementById("mvASSOC1_0").Value = 1
      .getElementById("mvASSOC1_1_0").Value = "Data 1"
      .getElementById("mvASSOC1_1_0").Click
End With
End Sub

HTML (Я приведу код для двух объектов, с которыми я не согласен, для определения истинного объекта.

<TD class=mvTD><INPUT onbeforeactivate=storeCurVal() onbeforedeactivate=checkCurVal() onfocus=showMVCBO() id=mvASSOC1_1_0 class=mvFieldStyle 

onkeydown=RowUpDown() style="TEXT-ALIGN: left; BACKGROUND-COLOR: white" ondrop=callBAFieldValidated() value="Data 1" eventParams="" 

validationName="Risk" decimals="" groupDigits="" cboName="mvASSOC1_0" max="" min="" validationType="text" keyfield="1" mandatory="0" code="1"></TD>

</TR></TBODY></TABLE></DIV></DIV><INPUT onchange=callBA() id=dbr3eportElement 

style="HEIGHT: 1px; WIDTH: 1px; POSITION: absolute; LEFT: 0px; DISPLAY: none; TOP: 0px" name=dbreportElement fieldType="text"><SPAN id=rdesignbaisdrop 

style="HEIGHT: 0px; WIDTH: 0px; POSITION: absolute; LEFT: 0px; Z-INDEX: 9999; DISPLAY: none; TOP: 0px; BACKGROUND-COLOR: transparent"         name="rdesignbaisdrop" 

fieldType="span">

</SPAN><SELECT onchange=hideshowMVCBO() onblur=hideMVCBO() id=mvASSOC1_0 class=mvFieldStyle onkeydown=hideMVCBO() style="WIDTH: 194px; 

POSITION: absolute; LEFT: 43px; DISPLAY: none; TOP: 82px; VISIBILITY: visible" mvhFlag="_1" currentDIV="mvASSOC1_1_0"><OPTION value="">---Select Data---

</OPTION><OPTION selected value=1>Data 1</OPTION><OPTION value=2>Data 2</OPTION><OPTION value=4>Data 4</OPTION><OPTION value=12>Data    12</OPTION></SELECT>

Надеюсь, это предоставит все необходимые данные.

...