Napisałem makro, które otworzy stronę internetową, znajdę miejsca, w których potrzebuję umieścić dane, a następnie chcę, aby makro trafiło przycisk wypełniania, następnie naciśnij Ok.Potrzebuję znaleźć i nacisnąć przycisk na stronie internetowej przy użyciu VBA
Kod źródłowy strona dla przycisku to:
<input type="text" size="30" maxlength="40" name="name" id="name">
<input type="button" value="Prefill" onclick="prefill()">
Szukałam odpowiedzi przez cały tydzień i myślę, że mam podstawową wiedzę o tym, jak to ma działać, uruchamiając pętlę szukać za to, ale nie mam szczęścia w moim wysiłku, aby to osiągnąć.
Czy ktoś może mi pokazać pętlę, która przeszuka moją stronę dla tego przycisku?
Z góry dziękuję.
Zamówiony kod dotychczas
Private Sub Populate_Click()
Dim i As Long
Dim IE As Object
Dim objElement As Object
Dim objCollection As Object
Set IE = CreateObject("InternetExplorer.Application")
IE.Visible = True
IE.Navigate "website" 'make sure you've logged into the page
Do
DoEvents
Loop Until IE.READYSTATE = 3
Do
DoEvents
Loop Until IE.READYSTATE = 4
ActiveSheet.EnableCalculation = False
ActiveSheet.EnableCalculation = True
Call IE.document.getelementbyid("name").SetAttribute("value", ActiveSheet.Range("b2").Value)
Call IE.document.getelementbyid("aw_login").SetAttribute("value", ActiveSheet.Range("a2").Value)
Set objCollection = IE.document.getElementsByTagName("input")
i = 0
While i < objCollection.Length
If objCollection(i).Type = "button" And _
objCollection(i).Name = "Prefill" Then
Set objElement = objCollection(i)
End If
i = i + 1
Wend
objElement.Click
End Sub
można pisać kod, który masz tak daleko? – sigil
Jestem ciekawy, czy VBA może być używany do funkcji tak obcej, więc pozostanę z nami. Prawdopodobnie możesz usunąć tag 'macros' i możesz chcieć powiedzieć, z której wersji Office korzystasz. – Smandoli
znajdujesz swoje okno za pomocą interfejsu winAPI i wysyłasz kliknięcie: –