ich stehe vor dem Problem ein einfaches Formular im Intranet per VBA ausfüllen zu müssen. Exemplarisch möchte ich dazu im Feld "SAP Box" als Wert "F6P430" eintragen.
Dazu wollte ich folgendes Macro verwenden:
Sub WebsiteFuellen()
Dim WshShell As Object
Dim IEDoc As Object
Dim lngHwnd As Long
Dim clipboard As MSForms.DataObject
'open request website
Set WshShell = CreateObject("WScript.Shell")
Application.DisplayAlerts = False
Set IE = New InternetExplorer 'New InternetExplorerMedium
IE.Visible = False
IE.Navigate "https://xy.com/pcsubs.do"
'wait until IE is done loading the page
Do: Loop Until IE.Busy = False
Do: Loop Until IE.Busy = False
Do: Loop Until IE.Document.readyState = "complete"
IE.Visible = True
lngHwnd = FindWindow(vbNullString, IE)
If lngHwnd 0 Then
Call ShowWindow(lngHwnd, SW_NORMAL)
Call SetForegroundWindow(lngHwnd)
End If
Set IEDoc = IE.Document
Application.Wait Now + TimeValue("00:00:02")
IE.Document.getelementbyid("IO:5da05ea44fb616004679cf5d0210c717").Value = "F6P430"
IE.Visible = True
MsgBox ("please validate your entries before submitting")
Application.DisplayAlerts = True
lngHwnd = FindWindow(vbNullString, IE)
If lngHwnd 0 Then
Call ShowWindow(lngHwnd, SW_NORMAL)
Call SetForegroundWindow(lngHwnd)
End If
Set IE = Nothing
End Sub
Der Internet Explorer öffnet korrekt die entsprechende Website aber leider kommt als Fehlermeldung "Object required" in der Zeile: IE.Document.getelementbyid("IO:5da05ea44fb616004679cf5d0210c717").Value = "F6P430"Die ID habe ich mir im Entwicklermodus von Firefox anzeigen lassen, ich vermute aber die ID ist falsch. Da die entsprechende Website im Intranet abgelegt ist, habe ich die Datei als source heruntergeladen und etwas anonymisiert ( https://www.herber.de/bbs/user/108821.txt ). Ich hoffe sie ist noch gut genug um die Object IDs zu finden.
Was muss ich an meinem Code ändern?
Danke und Gruss
Theo