VBA-Wählen Sie aus der dropdown-Liste im Internet Explorer

edit: ich räumte die Quelle-code-Formatierung und aktualisiert mein VBA-code. Ich bin nicht mehr die Fehlermeldung erhalten, aber nichts ist passiert in meinem browser-Fenster (nichts markiert, nichts angeklickt).

Ich habe einige VBA-code, der ermöglicht einem Benutzer die Eingabe von Informationen in ein Formular in Excel. Der code wird diese Informationen und erzeugt eine Adresse zu einer Seite in unserem intranet. Auf dieser Seite gibt es eine dropdown-Liste wählen Sie format exportieren und nach ein format gewählt wird, kann der Benutzer klicken, um die Datei zu exportieren.

Den VBA-code habe ich versucht (und einige Varianten) unten:

Public Sub window_Open(strLocation As String, Menubar As Boolean, height As Long, width As Long, resizable As Boolean)

With CreateObject("InternetExplorer.Application")
    .Visible = False
    .height = height
    .width = width
    .Menubar = Menubar
    .Visible = True
    .resizable = True
    .Navigate strLocation
End With

End Sub


    Private Sub OKButton_Click()
    Dim ProductionAddress As String
    ProductionAddress = "http://Collapsed"

    window_Open ProductionAddress, True, 800, 1000, False
        Dim ie As Object
        Set ie = CreateObject("InternetExplorer.Application")

        ie.Navigate ProductionAddress

        While ie.ReadyState <> 4 Or ie.Busy: DoEvents: Wend

        ie.document.getelementbyid("ReportViewerControl_ctl01_ctl05_ctl00").Value = "EXCEL"

        Set objButton = ie.document.getelementbyid("ReportViewerControl_ctl01_ctl05_ctl01")
            objButton.Focus
            objButton.Click

    End Sub

Den Quellcode für die Seite, die ich bin versucht zu navigieren ist unten.
Element zur Auswahl von EXCEL:

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title></title>
<style>
body, frameset, form {
    margin: 0px;
    padding: 0px;
}
.PageNumberText, input, button, select, table, body, frameset {
    font-size: 8pt;
    font-family: Verdana;
}
.ToolbarExport {
    display: inline;
}
.WidgetSet {
    height: 30px;
}
.ToolBarButtonsCell {
    padding-left: 6px;
}
.MenuBarBkGnd {
    background-color: #ECE9D8;
}
</style>
</head>
<body style="margin: 0px; overflow: auto;"><form name="ReportViewerForm" id="ReportViewerForm" action="ReportViewer.aspx?%2fProduction%2fWell+Daily+Production&amp;StartDate=01%2f01%2f2015+00%3a00%3a00&amp;EndDate=07%2f21%2f2015+00%3a00%3a00&amp;WellName=Acadia&amp;rs%3aParameterLanguage=&amp;rc%3aParameters=Collapsed" method="post"><table id="ReportViewerControl" style="width: 100%; height: 100%;" onclick="if (document.getElementById('ReportViewerControl_ctl00') != null) document.getElementById('ReportViewerControl_ctl00').ParametersController.HideActiveDropDown();" onactivate="if (document.getElementById('ReportViewerControl_ctl00') != null) document.getElementById('ReportViewerControl_ctl00').ParametersController.HideActiveDropDown();" cellspacing="0" cellpadding="0"><tbody><tr><td><div class="MenuBarBkGnd"><div class="ToolBarButtonsCell"><div class="ToolbarExport WidgetSet"><table style="display: inline;" cellspacing="0" cellpadding="0"><tbody><tr><td height="28"><select name="ReportViewerControl$ctl01$ctl05$ctl00" title="Export Formats" id="ReportViewerControl_ctl01_ctl05_ctl00" onchange="document.getElementById('ReportViewerControl_ctl01_ctl05_ctl01').Controller.SetViewerLinkActive(document.getElementById('ReportViewerControl_ctl01_ctl05_ctl00').selectedIndex != 0);"><option value="EXCEL">Excel</option></select></td></tr></tbody></table></div></div></div></td></tr></tbody></table></form></body>
</html>

Und der source-code für den export element:

    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title></title>
<style>
.DisabledLink {
    font-size: 8pt;
    font-family: Verdana;
    color: gray;
    text-decoration: none;
    cursor: default;
}
body, frameset, form {
    margin: 0px;
    padding: 0px;
}
.PageNumberText, input, button, select, table, body, frameset {
    font-size: 8pt;
    font-family: Verdana;
}
.ToolbarExport {
    display: inline;
}
.WidgetSet {
    height: 30px;
}
.ToolBarButtonsCell {
    padding-left: 6px;
}
.MenuBarBkGnd {
    background-color: #ECE9D8;
}
</style>
</head>
    <body style="margin: 0px; overflow: auto;"><form name="ReportViewerForm" id="ReportViewerForm" action="ReportViewer.aspx?%2fProduction%2fWell+Daily+Production&amp;StartDate=01%2f01%2f2015+00%3a00%3a00&amp;EndDate=07%2f21%2f2015+00%3a00%3a00&amp;WellName=Acadia&amp;rs%3aParameterLanguage=&amp;rc%3aParameters=Collapsed" method="post"><table id="ReportViewerControl" style="width: 100%; height: 100%;" onclick="if (document.getElementById('ReportViewerControl_ctl00') != null) document.getElementById('ReportViewerControl_ctl00').ParametersController.HideActiveDropDown();" onactivate="if (document.getElementById('ReportViewerControl_ctl00') != null) document.getElementById('ReportViewerControl_ctl00').ParametersController.HideActiveDropDown();" cellspacing="0" cellpadding="0"><tbody><tr><td><div class="MenuBarBkGnd"><div class="ToolBarButtonsCell"><div class="ToolbarExport WidgetSet"><table style="display: inline;" cellspacing="0" cellpadding="0"><tbody><tr><td height="28"><a title="Export" class="DisabledLink" id="ReportViewerControl_ctl01_ctl05_ctl01" onmouseover="this.Controller.OnLinkHover();" onmouseout="this.Controller.OnLinkNormal();" onclick="&#10;var formatDropDown = document.getElementById('ReportViewerControl_ctl01_ctl05_ctl00');&#10;if (formatDropDown.selectedIndex == 0)&#10;return false;&#10;window.open(document.getElementById('ReportViewerControl').ClientController.m_exportUrlBase + encodeURIComponent(formatDropDown.value), '_blank')&#10;formatDropDown.selectedIndex = 0;&#10;document.getElementById('ReportViewerControl_ctl01_ctl05_ctl01').Controller.SetViewerLinkActive(document.getElementById('ReportViewerControl_ctl01_ctl05_ctl00').selectedIndex != 0);return false;" href="#"><script type="text/javascript">
                            document.getElementById('ReportViewerControl_ctl01_ctl05_ctl01').Controller = new ReportViewerLink("ReportViewerControl_ctl01_ctl05_ctl01", false, "ActiveLink", "DisabledLink", "", "", "");
                        </script>Export</a></td></tr></tbody></table></div></div></div></td></tr></tbody></table></form></body>
</html>

Dank!

was bedeutet window_Open tun?

InformationsquelleAutor elt2jdavis | 2015-07-21

Schreibe einen Kommentar