Ребята... я работаю над веб-сайтом, который имеет 2 входа, называемых "__EVENTTARGET" и "__EVENTARGUMENT", есть ли возможность использовать VBA, чтобы узнать, какие значения ему передаются? потому что у него также есть форма с именем «aspnetForm». Если я получу эти значения, я знаю, как использовать vba, чтобы установить параметры для формы, а затем отправить.
<input type = "hidden" name = "__EVENTTARGET" id = "__EVENTTARGET" value = "" />
<input type = "hidden" name = "__EVENTARGUMENT" id = "__EVENTARGUMENT" value = "" />
<input type = "hidden" name = "__VIEWSTATE" id = "__VIEWSTATE" value = ""
<script type = "text/javascript">
//<![CDATA[
var theForm = document.forms['aspnetForm'];
if (!theForm) {
theForm = document.aspnetForm;
}
function __doPostBack(eventTarget, eventArgument) {
if (!theForm.onsubmit || (theForm.onsubmit() != false)) {
theForm.__EVENTTARGET.value = eventTarget;
theForm.__EVENTARGUMENT.value = eventArgument;
theForm.submit();
}
}
//]]>
</script>
Это «внутренний» веб-сайт моей работы, поэтому мне нужно войти в систему, чтобы использовать его. Я могу перемещаться по многим страницам. Для этого я использую автоматизацию vba и Internet Explorer.
Вы можете попробовать XHR вместо IE, проверьте этот ответ. MSXML2.XMLHTTP использует файлы cookie IE, поэтому они могут работать после входа в IE.
См. также здесь
@user2864740 user2864740 не VBA (он работает на рабочем столе), а VBScript (довольно похожий синтаксис) было язык сценариев для ASP (классический), до .NET.



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Таким образом, вы можете использовать объект DOM, тогда это должно быть свойство value:
set inputElement = ie.document.getElementsByName("name").item(0)
inputElement.value должен быть целью.
Sub a()
Dim IE As InternetExplorer
Set IE = New InternetExplorer
With IE
.Navigate2 "https://www.google.de"
Do While .Busy = True Or .ReadyState <> 4
Loop
MsgBox .Document.getElementsByTagName("input").Item(0).Value
End With
End Sub
Я пытаюсь использовать ваш код: Set inputElement = IE.Document.getElementsByName("__EVENTTARGET").Item(0) MsgBox inputElement.Value
Но это дает мне "нулевое" значение:
странный? согласно спецификации объекта: значение developer.mozilla.org/en-US/docs/Web/API/HTMLInputElement должно содержать - возможно, оно содержит «null», можете ли вы попытаться установить какое-то случайное значение, а не msgbox?