PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : VBA getElementById Problem


Gast
2008-10-20, 11:49:23
Hallo!

Ich habe folgendes Problem:
Ich schreibe ein Access-VBA-Skript, welches eine Seite öffnet, sich dort anmeldet, aus einer Tabelle dann eine Teil-URL hinzufügt um im angemeldeten Portal eine weitere Seite sozusagen zu öffnen. Nun muss auf der neuen Seite ein Button angesprochen werden. Dieser Button hat jedoch nur eine ID. Aber ich schaffe es nicht, dass das Script diesen Button drückt, obwohl er definitiv geladen ist.

Das Problem ist evtl eine Verschachtelung der Seite in Frames?
<Main Document>
------<IFRAME> name=xyz src=xyz
------<IFRAME> name=xyz2 src=xyz2
-------------weitere Unterteilung
------<IFRAME> name=Innenbereich src=xyz3
----------------<IFRAME> name=xyz4 src=xyz4
----------------<IFRAME> name=Navigation src=xyz5
----------------<IFRAME> name=Favoriten src=xyz6
--------------------------------weitere unterteilung
----------------<IFRAME> name=ButtonIFRAME src=xyz7

Im IFRAME Buttoniframe befindet sich der Button. Anzusprechen versuche ich ihn über

appIE.Document.frames(2).frames(3).Document.getElementById("kleiner_button").Click

Hat jemand vllt nen Tipp wie ich den Button klicken lassen kann? Bin schon seit üpber 2 Wochen daran am verzweifeln..habs schon versucht in AutoIT zu schreiben, nur kann ich da den Button auch nicht wirklich ansprechen...vllt isses eine Internet Explorer Einstellung die ich vllt aktivieren muss oder so.

Bin für jede Hilfe dankbar.

Juerg
2008-10-25, 00:01:23
Um was auszulesen verwende ich:
htmlStream = appIE.Document.getElementById("textID").Value)

um ein Script auszuführen:
appIE.Document.parentWindow.execScript("kleiner_button('toggleID')", "JScript")

wenn die Webseite so aussieht:

<script language="javascript" type="text/javascript">

function kleiner_button(toggleID)
{
if (toggleID)
{
blabla;
}
else
{
blub;
}
}
</script>

</head>

<body>
<div>
<input type="text" id="textID" style="visibility: hidden;" size="0" readonly="true" value="Dies <em>ist</em> ein <strong>Test</strong>" />
</div>

Juerg
2008-10-25, 00:08:13
Weiss nicht ob Click eine Methode ist, aber mach mal:
appIE.Document.getElementById("kleiner_button").Click

oder zumindest:
appIE.Document.getElementById("kleiner_button").Value