Makro, które buduję, pobiera nazwy z arkusza kalkulacyjnego Excel, otwiera Internet Explorer i przeszukuje katalog online. Po przeszukaniu katalogu, wyciąga formularz Java z nazwą menedżera. Jestem w stanie ręcznie wybrać nazwę menedżera, kliknąć prawym przyciskiem myszy, skopiować skrót, a następnie opublikować go z powrotem na arkuszu. Mam jednak problem ze spójnym tabulowaniem i kopiowaniem skrótu.Interakcja VBA z eksploratorem internetowym
- Czy istnieje prosty sposób przywrócenia ostrości z okna IE?
- Jak skopiować skrót bez ręcznego kliknięcia?
Kod:
Sub Macro1()
'
Dim ie As Object
Set ie = CreateObject("internetexplorer.application")
ie.Visible = True
ie.navigate "****url****"
While ie.busy
DoEvents
Wend
ie.document.getElementById("SSOID").Value = "Z19516732"
ie.document.getElementById("Advanced").Checked = False
ie.document.all("Search").Click
'this loop is to slow the macro as the java form is filled from the search
For i = 1 To 400000000
i = i + 1
Next i
'ie.Object.Activate
ie.document.getElementById("Advanced").Checked = False
ie.document.getElementById("SSOID").Focus
Application.SendKeys "{TAB 6}" ', True
'bring up the control menu/right click
Application.SendKeys "+{F10}"
'copy shortcut is 8 items down on the list
Application.SendKeys "{DOWN}"
Application.SendKeys "{DOWN}"
Application.SendKeys "{DOWN}"
Application.SendKeys "{DOWN}"
Application.SendKeys "{DOWN}"
Application.SendKeys "{DOWN}"
Application.SendKeys "{DOWN}"
Application.SendKeys "{DOWN}"
'enter was not working so the shortcut for the menu is 't'
'SendKeys "{ENTER}"
Application.SendKeys "{t}"
Windows("Book21").Activate
Range("A1").Select
ActiveSheet.Paste
End Sub
Próbowałem tego setForegroundWindow wcześniej, ale tym razem zadziałało, Dzięki! Źródło html nie pokazuje jednak łącza, które jest potrzebne. Chociaż link nie jest konkretnie to, czego potrzebuję. Potrzebuję tekstu (nazwa menedżera), ale nie mogę go skopiować prawym przyciskiem. Może istnieje prosty sposób wyróżnienia tekstu? Planowałem po prostu skopiować i wkleić link, a następnie zrobić kilka szybkich linii, aby oczyścić nazwę z formularza linku HTE. – orangehairbandit
Dzięki Gaffi!Ta pierwsza część z funkcjami ogniskowania okien, jak niesamowite. Jak już powiedziałem, próbowałem tego wcześniej, ale musiałaś mieć magiczny dotyk. Od drugiej części mojego pytania, skrót tworzenia, znalazłem swój błąd. Z jakiegoś powodu ".Focus", którego używałem dla kompenentu wyszukiwania, po prostu skupiało się, ale nie wybierało. Więc kiedy zmieniłem go na ".select" i podałem hte sendkeys za pomocą application.sendkeys "~" (klawisz Enter), wszystko się połączyło! Mój pierwszy raz tutaj na pileflow jako użytkownik nie tylko czytelnik i jego dość chory paskudny! Dzięki! – orangehairbandit
@orangehairbandit Cieszę się, że mogę pomóc! – Gaffi