Update # 2
ich die Werte des txtbox und submitbtns mit einem (0)
verändert (und auch versuchte (1)
auch), keine Änderungen.Von den frühen Bindung Umstellung auf späte Bindung
Und ich muss auch beachten, dass der Button einen anderen Namen hat und ich auch hier entsprechend aktualisiert.
Dim TBox As String 'Name of object textbox to have value changed in
Dim TBtn As String 'Name of object button to be pressed
TBox = "masked1"
TBtn = "button"
If Not IE Is Nothing Then
Set txtBox = IE.Document.getElementsByClassName(TBox)(0)
Set submitBtn = IE.Document.getElementsByClassName(TBtn)(0)
txtBox.Value = tVal
submitBtn.Click
End If
UPDATE # 1
So sieht es vielversprechend mit dem Vorschlag von @cyboashu zur Verfügung gestellt. Allerdings kann ich meine txtbox immer noch nicht auf die (String) aktualisieren.
Dim oShell As Object
Dim oWin As Object
Dim IE As Object
Dim lTotlWin As Long
Dim lCtr
Debug.Print Time & " --- IE Objects & Values ---" ' Debugger Section
Set oShell = CreateObject("Shell.Application")
Debug.Print Time & " [obj ] oShell..: " & oShell ' Debug oShell
Set oWin = oShell.Windows()
Debug.Print Time & " [obj ] oWin....: " & oWin ' Debug oWin
lTotlWin = oWin.Count - 1 '/ Starts with zero
Debug.Print Time & " [long] lTotlWin: " & lTotlWin ' Debug lTotlWin
For lCtr = 0 To lTotlWin
If UCase(oWin.Item(lCtr).FullName) Like "*IEXPLORE.EXE" Then
Set IE = oWin.Item(lCtr)
End If
Next
Debug.Print Time & " [obj ] IE......: " & IE
If Not IE Is Nothing Then
MsgBox "Found and hooked!!"
End If
Dim TBox As String 'In the event the textbox's name changes for some reason
TBox = "masked1"
If Not IE Is Nothing Then
Set txtBox = IE.Document.getElementsByClassName(TBox)
Debug.Print Time & " [obj ] txtbox..: " & txtbox
Set submitBtn = IE.Document.getElementsByClassName(TBox)
Debug.Print Time & " [obj ] submitBtn:" & submitBtn
txtBox.Value = tVal
submitBtn.Click
End If
Set shellwins = Nothing
Debug.Print Time & "- - - END SUB - - -" & E
End Sub
(Debugger Werte, wenn jemand kümmert sich) ..
2:44:11 PM --- IE Objects & Values ---
2:44:11 PM [long] lTotlWin: 5
2:44:11 PM [obj ] IE......: Internet Explorer
2:44:11 PM - - - END SUB - - -
Wie sieht Ihre aktuelle (nicht funktionierenden) späte Bindung Code wie folgt aussehen: der Code, den Sie sieht aus wie die frühe Bindung Version geschrieben, so welche Fortschritte gemacht haben Sie bisher? –
@TimWilliams Ich habe meine Frage aktualisiert, um zu zeigen, was ich jetzt habe –
Erhalten Sie die "hooked" messagebox? 'IE.Document.getElementsByClassName (TBox)' gibt eine Sammlung von Knoten zurück (beachten Sie das "s" in Elements), kein einzelnes Element. Sie benötigen etwas wie 'Set txtBox = IE.Document.getElementsByClassName (TBox) (0)', um einen Verweis auf das erste Mitglied dieser Sammlung zu erhalten. –