La macro che sto creando prende i nomi da un foglio di calcolo di Excel, apre Internet Explorer e cerca nella directory online. Dopo aver cercato la directory, richiama un modulo Java con il nome del manager al suo interno. Posso modificare manualmente il nome del gestore, fare clic con il pulsante destro del mouse, copiare il collegamento e quindi pubblicarlo sul foglio di lavoro. Tuttavia, sto riscontrando problemi con tabulazioni consistenti e copia del collegamento.Interazione VBA con Internet Explorer
- C'è un modo semplice per riportare l'attenzione sulla finestra di IE?
- Come si copia un collegamento senza fare clic manualmente su di esso?
Codice:
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
ho provato SetForegroundWindow prima, ma questa volta ha funzionato, grazie! La sorgente HTML tuttavia non mostra il collegamento necessario. Sebbene il link non sia specficmente quello di cui ho bisogno. Ho bisogno del testo (il nome del gestore), ma non riesco a copiarlo con un clic destro. Forse c'è un modo semplice per evidenziare il testo? Stavo pensando di copiare e incollare il link, quindi fare alcune linee veloci per ripulire il nome dal modulo di collegamento. – orangehairbandit
Grazie Gaffi!Quella prima parte con la messa a fuoco della finestra funziona come impressionante. Come ho detto, l'ho provato prima, ma tu hai avuto il tocco magico. A partire dalla seconda parte della mia domanda, la scorciatoia creata, ho trovato il mio errore. Per qualsiasi motivo, il "focus" che stavo usando per il compenent della ricerca, era semplicemente focalizzato ma non selezionato. Quindi, quando l'ho cambiato in ".select" e ho specificato hte sendkeys con un'applicazione.sendkeys "~" (la chiave di invio), tutto si è riunito! La mia prima volta qui su Stackflow come utente, non solo un lettore e piuttosto malato! Grazie! – orangehairbandit
@orangehairbandit Contento di poterti aiutare! – Gaffi