Я пытаюсь выбрать элемент из списка (элемент таблицы, который на самом деле является текстовой областью) с помощью VBA (Excel).
Я могу выбрать элемент (изменив значение ) но проблема в том, что когда я нажимаю кнопку «Сохранить», сайт возвращает следующую ошибку:
Поле «Состояние» требует значения, когда статус находится в состоянии ожидания или разрешен. Выберите причину состояния в меню. (ARERR 1291220)
Я думаю, что это происходит из-за того, что список не обновляется.
Список (не настоящий список):
<textarea title="" class="text sr " id="arid_WIN_1_1000000881" style="left: 117px; top: 0px; width: 223px; height: 21px;" rows="1" cols="20" wrap="off" readonly="" arencryptdataatrest="0" arautoctt="400" arautocak="0" mdd="1" mstyle="2" armenu="SYS:RSN:StatusReason-Q-HPD-HelpDesk" maxlen="40"></textarea>
Мой код:
Dim post As Object, evt As Object
Set evt = .Document.createEvent("keyboardevent")
evt.initEvent "change", True, False
Set post = .Document.getElementByID("arid_WIN_1_1000000881")
post.Value = "No Further Action Required"
post.dispatchEvent evt
Пожалуйста, дайте мне знать, если вам нужна дополнительная информация.
[Обновить]
Ниже приведен полный код таблицы, которая отображается после нажатия список
<div class="MenuOuter" style="left: 338px; top: 127px; width: 225px; height: 114px; visibility: inherit; z-index: 100007;" armenuelementserial="0"><div class="MenuScrollUp" style="width: 223px; visibility: hidden;">▲</div><iframe src="https://extranet.inditex.com/arsys/resources/html/Blank.html" frameborder="0" scrolling="no" style="border: currentColor; border-image: none; left: 0px; top: 0px; width: 100%; height: 100%; display: block; position: absolute;"></iframe><div class="MenuTableContainer"><table class="MenuTable" style="width: 223px;" cellspacing="0" cellpadding="0"><tbody class="MenuTableBody"><tr class="MenuTableRow"><td class="MenuEntryName" nowrap="">Automated Resolution Reported</td><td class="MenuEntryNoSub" arvalue="Automated Resolution Reported"></td></tr><tr class="MenuTableRow"><td class="MenuEntryNameHover" nowrap="">Customer Follow-Up Required</td><td class="MenuEntryNoSubHover" arvalue="Customer Follow-Up Required"></td></tr><tr class="MenuTableRow"><td class="MenuEntryName" nowrap="">Temporary Corrective Action</td><td class="MenuEntryNoSub" arvalue="Temporary Corrective Action"></td></tr><tr class="MenuTableRow"><td class="MenuEntryName" nowrap="">Future Enhancement</td><td class="MenuEntryNoSub" arvalue="Future Enhancement"></td></tr><tr class="MenuTableRow"><td class="MenuEntryName" nowrap="">Monitoring Incident</td><td class="MenuEntryNoSub" arvalue="Monitoring Incident"></td></tr><tr class="MenuTableRow"><td class="MenuEntryName" nowrap="">No Further Action Required</td><td class="MenuEntryNoSub" arvalue="No Further Action Required"></td></tr><tr class="MenuTableRow"><td class="MenuEntryName" nowrap="">(clear)</td><td class="MenuEntryNoSub" arvalue=""></tr></tbody></table></div><div class="MenuScrollDown" style="width: 223px; visibility: hidden;">▼</div></div>
и снимок экрана, показывающий список.
Я хочу обновить значение поля Состояние причины после изменения значения (что я уже могу сделать), обратите внимание, что элементы «Состояние» обновляются после того, как элемент выбран в поле «Список состояний» (поле «Статус» является элементом ввода, и я могу успешно отредактировать значение и обновить его) .
[Обновление 1]
Теперь я могу найти раскрывающийся список, который появляется после нажатия кнопки рядом с текстовой областью «Состояние».
Сначала я нажимаю на кнопку, чтобы увидеть раскрывающийся список с
.Document.getElementsByClassName("df arfid1000000881 ardbnzID_Status_Reason Char")(0).getElementsByClassName("btn btn3d menu")(0).Click
Теперь я Успешно найти правильную строку в таблице с помощью
.Document.getElementsByClassName("MenuTable")(0).Rows(5)
Но когда я делаю. Ничего не происходит, я пытался также с FireEvent и Selected = True (последний дает мне ошибку)
[Обновление 2]
Когда я нажимаю кнопку, чтобы открыть раскрывающийся список, происходит обратный вызов GET, то же самое происходит, когда я щелкаю элемент из раскрывающегося списка.
<ExpandMenu>
Request URL: https://extranet.inditex.com/arsys/BackChannel/?param=283%2FExpandMenu%2F35%2FSYS%3ARSN%3AStatusReason-Q-HPD-HelpDesk6%2Fitxars13%2FHPD%3AHelp%20Desk6%2Fitxars28%2FSYS%3AStatus%20Reason%20Menu%20Items103%2F1%5C1%5C1%5C4%5C1%5C1%5C1000000101%5C2%5C4%5C13%5CHPD%3AHelp%20Desk%5C4%5C1%5C1%5C1000000186%5C99%5C7%5C4%5C1%5C1%5C7%5C2%5C6%5C1%5C4%5C1%5C1%5C1000004827%5C2%5C6%5C0%5C0%2F1%2F01%2F05%2F1%2F1%2F715%2F1%2F10%2F4%20Resolved5%2F1%2F1%2F62%2F0%2F2%2F0%2F2%2F0%2F2%2F0%2F2%2F0%2F2%2F0%2F&sToken=MCNY-LTDA-W512-T7V8-J5GS-JHN4-58XW-VYAK
<GetEntryList>
Request URL: https://extranet.inditex.com/arsys/BackChannel/?param=266%2FGetEntryList%2F6%2Fitxars13%2FHPD%3AHelp%20Desk18%2FBest%20Practice%20View6%2Fitxars28%2FSYS%3AStatus%20Reason%20Menu%20Items0%2F71%2F1%5C4%5C1%5C99%5C1000000881%5C1%5C1000000009%5C4%5C1%5C2%5C4%5C13%5CHPD%3AHelp%20Desk%5C1%5C1000000101%5C15%2F1%2F10%2F100000088131%2F1%2F26%2FNo%20Further%20Action%20Required5%2F1%2F1%2F45%2F1%2F1%2F01%2F01%2F21%2F715%2F1%2F10%2F1000004336&sToken=MCNY-LTDA-W512-T7V8-J5GS-JHN4-58XW-VYAK