我在 excel 中使用 VBA 來提交 MS 表單。它可以將值填充到文本輸入中,但提交后,這個問題仍然是空白的。有什么想法嗎?
Dim emailDomain As Variant
Dim URL As String
Set IE = GetObject("new:{D5E8041D-920F-45e9-B8FB-B1DEB82C6E5E}")
IE.Visible = True
URL = "https://forms.office.com/Pages/ResponsePage.aspx?id=Aq5v9jZdW0m_4Him_5-ObrQJR7r8UGdPhwKFE494ioxUOEg4M1Q5STRGSzk5Q1VPMTJPRUNLMk5IMi4u"
IE.navigate (URL)
While IE.Busy
DoEvents
Wend
IE.document.getElementsByClassName("office-form-question-textbox office-form-textfield-input form-control office-form-theme-focus-border border-no-radius")(0).Value = "currentUserEmailAddress"
delay 5
IE.document.getElementsByClassName("button-content")(0).Click
IE.Quit
Set IE = Nothing
End Sub
提交前,數值已正確填寫

uj5u.com熱心網友回復:
這<div >Absenden</div>不是一個按鈕,而是實際的按鈕以開頭,<button所以這就是您需要查找并單擊的內容。
<button class="office-form-theme-primary-background office-form-theme-button office-form-bottom-button button-control light-background-button __submit-button__" title="Absenden" role="button">
<div class="button-content">Absenden</div>
</button>
為了單擊發送按鈕,您可以使用類似
IE.document.getElementsByClassName("office-form-theme-primary-background office-form-theme-button office-form-bottom-button button-control light-background-button __submit-button__")(0).Click
在你設定了文本框的值之后
IE.document.getElementsByClassName("office-form-question-textbox office-form-textfield-input form-control office-form-theme-focus-border border-no-radius")(0).Value = "currentUserEmailAddress"

uj5u.com熱心網友回復:
我以前遇到過這種問題。你也可以參考這個執行緒。
問題的根本原因是.Value無法有效地設定值。SendKeys在這種情況下,您可以使用為輸入框設定值來模擬用戶輸入。
示例代碼:
IE.document.getElementsByClassName("office-form-question-textbox office-form-textfield-input form-control office-form-theme-focus-border border-no-radius")(0).Focus
SendKeys ("currentUserEmailAddress")
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/448447.html
