ich versuche mich gerade mal wider seit längerem an VBA und bin auf ein Problem gestoßen. Und zwar:
Über Excel und VBA steuere ich eine Webpage an und fülle dort ein Formular mit Daten aus dem Excel aus. Bisher ging das auhc immer recht gut. Die jeweiligen Elemente (hauptsächlich ComboBoxen) spreche ich mit ".getelementbyid()" an und gebe dabei die gewünschte Listenfeld-ID mit. Als Beispiel:
.getelementbyid("GatewayMaster_ContentSection_dgKategorieMerkmal__ctl17_ctrlMerkmalItem_cboMerkmalItem").Value = 2655
Nun habe ich aber das Problem, dass ich zwei Comboboxen auf der Seite habe, die während meiner Eingaben jeweils erst sichtbar gemacht werden (Event "onchange"), und die gleiche ID besitzen: "dgUnterKategorieMerkmal__ctl2_ctrlMerkmalItem_cboMerkmalItem"
Ich kann also diese beiden Comboboxen mit keiner bisherigen Methode sie anzusprechen nicht steuern. Jetzt frage ich natürlich, wie ich das anstonsten tun könnte. Ich könnte zwar mit "Application.SendKeys" arbeiten, was ich aber recht unschön finden würde. Gibt es eine andere Möglichkeit die Boxen mit der gleichen ID jeweils anzusprechen?
Hier einmal die jeweilige Konfiguration die ich zu den Boxen im Code gefunden haben:
1.
SELECT onchange="cboMerkmalChanged(this, this.options[this.selectedIndex].value);" id= _
dgUnterKategorieMerkmal__ctl2_ctrlMerkmalItem_cboMerkmalItem
style="MAX-WIDTH: 200px; WIDTH: 200px" name=dgUnterKategorieMerkmal:_ctl2:ctrlMerkmalItem: _
cboMerkmalItem data-iziel-id="396046" data-nachgelagert=""
data-sziel-id="361457" data-pflichtfeldTyp="1" data-kategorie-id="257" data-zom-id="4751026" _
data-onload-selection="">
2.
SELECT onchange="cboMerkmalChanged(this, this.options[this.selectedIndex].value);" id= _
dgUnterKategorieMerkmal__ctl2_ctrlMerkmalItem_cboMerkmalItem
style="MAX-WIDTH: 200px; WIDTH: 200px" name=dgUnterKategorieMerkmal:_ctl2:ctrlMerkmalItem: _
cboMerkmalItem data-iziel-id="396046" data-nachgelagert=""
data-sziel-id="361457" data-pflichtfeldTyp="2" data-kategorie-id="300" data-zom-id="" data- _
onload-selection="">
Vielleicht hat ja jemand von euch eine Idee? Ich danke schon mal für eure Beiträge im Voraus!
Gruß
Gordon