2015-08-03 36 views
8

Dopo la recente versione di Windows 10, incluso il nuovo browser, Microsoft Edge, chiunque potrebbe semplicemente sapere come aprire il browser Microsoft Edge tramite Excel VBA. Ho provato a cercare sul sito senza fortuna.Passaggio da Internet Explorer a Microsoft Edge

Questa è la codifica corrente di base di Excel VBA che uso per aprire Internet Explorer:

Sub xyz() 

Dim Browser As SHDocVw.InternetExplorer 'Microsoft Internet Controls 
Dim HTMLdoc As MSHTML.HTMLDocument 'Microsoft HTML Object Library 
Dim URL As String 

    URL = "http://www.bbc.co.uk/news" 
    Set Browser = New InternetExplorer 
    Browser.Silent = True 
    Browser.navigate URL 
    Browser.Visible = True 
    Do 
    Loop Until Browser.readyState = READYSTATE_COMPLETE 

    Set HTMLdoc = Browser.document 

End Sub 

Questo è un semplice pezzo di codice VBA per aprire il sito web della BBC, per esempio.

Tuttavia, qual è il nuovo pezzo di codice per aprire Microsoft Edge?

+1

Questo fa molto di più che aprire ,, recupera il DOM della pagina aperta come oggetto Scriptable, è quello che vuoi fare? Se vuoi solo aprire un URL e dimenticarlo, puoi shellexecute 'microsoft-edge: http: // acme.com' –

+0

Grazie Alex, penso e credo che questa sia solo una soluzione alternativa per utilizzare Microsoft Edge di Shell Execute per il momento. Tuttavia, non so molto sulla programmazione di Shell Execute, quindi per favore puoi fornire un esempio? Molto apprezzato e grazie. – Charlie

+0

http://stackoverflow.com/questions/31302304/will-microsoft-edge-support-com-automation-internetexplorer-object –

risposta

1

Secondo MS here, navi IE11 con sistema operativo Windows 10

Il browser predefinito per Windows 10 è Microsoft Edge, che è alimentato dal nostro nuovo motore di rendering ed è il nostro cammino in avanti per il Web su Windows. Gli sviluppatori del sito dovrebbero concentrare i test su Microsoft Edge per esperienze nuove ed esistenti. Internet Explorer 11 verrà incluso per alcuni scenari legacy e gli utenti avranno la possibilità di sceglierlo come browser predefinito, come con qualsiasi altro browser.

Quindi il codice esistente per IE dovrebbe continuare a funzionare. Non provato però.

Alcune cose tecniche sul bordo si possono trovare here

Dal lun 10-ago-2015, ho aggiornato un PC da Win 7 Pro SP1 per vincere 10 Pro e il codice è fornito belle opere. IE11 funziona bene e mostra il sito web. Lo IE11 download page conferma che l'ho già installato.

+0

Grazie ChipsLetten, ho deciso di seguire il suggerimento di Alex K di aprire Microsoft Edge tramite Shell Execution per il breve termine - vedi sopra. – Charlie

+0

Sto eseguendo [tag: windows-10] e qualsiasi riferimento a 'InternetExplorer.Application' genera un errore che indica che l'oggetto ActiveX non può essere creato, quindi non penso che sia così. –

+0

Nella mia installazione di Win10 Pro, IE 11 si presenta come una "funzionalità di Windows" nel Pannello di controllo -> Programmi e funzionalità -> Attiva o disattiva le funzionalità di Windows. Potrebbe essere utile verificare se è necessario selezionare la casella per installarlo. – ChipsLetten

0

Ho avuto un problema simile durante l'aggiornamento a Windows 10. Si è scoperto che "Microsoft Internet Controls" e "Microsoft HTML Object Library" erano stati "rimossi" da "Riferimenti". L'aggiunta di questi ha risolto il problema e il codice ha funzionato correttamente senza richiedere alcuna modifica. Non so se questo aiuta.

0

Questa potrebbe non essere una risposta, ma ha funzionato per me.

L'oggetto di Internet Explorer verrà comunque aperto tramite VBA in Windows 10 utilizzando IE11. Tuttavia, ho dovuto chiedere a Cortana di aprire prima IE11 in modo da risolvere tutti i pop-up di "primo utilizzo" e cosa no. "Benvenuto in IE11" e "Iniziamo" ecc.

Una volta superato tutto questo e chiuso il browser. Ho ri-eseguito la mia macro e l'oggetto del browser è venuto bene e ha funzionato normalmente. Spero che questo aiuti qualcuno.

P.S. Sto usando il metodo CreateObject per creare la finestra del browser.

0

come aprire il browser Edge di Microsoft tramite Excel VBA

VBS/VBA utilizza il modello a oggetti COM (ActiveX) per comunicare con i processi di desktop e questa caratteristica non saranno messi a disposizione per Edge.

Fortunatamente le nuove soluzioni cross-browser (ovvero WebDriver) esistono per l'automazione e Edge adotta questi nuovi standard. Sfortunatamente, per usarli, le tecniche utilizzate dovranno cambiare.

Duplicato di Will Microsoft Edge support COM automation (InternetExplorer object)?.