Введите дату в поле даты на сайте и нажмите кнопку «Просмотреть отчет» - PullRequest
0 голосов
/ 29 июня 2019

Я использовал VBA, но никогда не зачищал сайт, поэтому я новичок.Я пытаюсь с помощью VBA перейти на мой веб-сайт SSRS с работы, ввести дату для отчета и запустить его.Я старался изо всех сил, чтобы закодировать его, но он продолжает давать мне

Время ошибки выполнения 91: переменная объекта или переменная блока не установлена.

Ниже мой код

Sub AgingReport()    
    Dim IE As New SHDocVw.InternetExplorerMedium
    Dim HTMLDoc As MSHTML.HTMLDocument
    Dim ReportDate As MSHTML.IHTMLElement

     IE.navigate "www.example.com"
        IE.navigate 
        IE.Visible = True
      Application.Wait Now + #12:00:04 AM#

    Do While IE.readyState <> READYSTATE_COMPLETE
    Loop

    Set HTMLDoc = IE.document

    Set ReportDate = HTMLDoc.getElementById("ReportViewerControl_ctl04_ctl09_txtValue")
        ReportDate.Value = "06/28/2019"

    HTMLDoc.getElementById("ReportViewerControl_ctl04_ctl00").Click     
End Sub

Ниже HTML.Пожалуйста, дайте мне знать, как я могу утвердить кодекс.

Поле HTML для даты

<input name="ReportViewerControl$ctl04$ctl09$txtValue" class="null" 
id="ReportViewerControl_ctl04_ctl09_txtValue" onkeypress="if 
(WebForm_TextBoxKeyHandler(event) == false) return false;" onchange="javascript:setTimeout('__doPostBack(\'ReportViewerControl$ctl04$ctl09$txtValue\',\'\')', 0)" type="text" size="28">

Вот HTML-код кнопки, код которой вводится

<input name="ReportViewerControl$ctl04$ctl00" id="ReportViewerControl_ctl04_ctl00" type="submit" value="View Report">

1 Ответ

0 голосов
/ 29 июня 2019

Я изменил часть вашего кода и добавил один элемент HTML-кнопки

Надеюсь, это поможет!

Sub AgingReport()

Dim IE As New SHDocVw.InternetExplorerMedium
Dim HTMLDoc As MSHTML.HTMLDocument
Dim ReportDate As MSHTML.IHTMLElement
Dim HtmlButton As MSHTML.IHTMLElement

 IE.navigate "www.example.com"
    IE.navigate 
    IE.Visible = True
  Application.Wait Now + #12:00:04 AM#

Do While IE.readyState <> READYSTATE_COMPLETE
Loop

Set HTMLDoc = IE.document

Set ReportDate = HTMLDoc.getElementById("ReportViewerControl_ctl04_ctl09_txtValue")
    ReportDate.Value = "06/28/2019"

Set HtmlButton = HTMLDoc.getElementById("ReportViewerControl_ctl04_ctl00")
HtmlButton.Click

End Sub
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...