Stefano ha un intervallo di celle (A1:A10) che contiene indirizzi di siti Web, ad esempio www.esempio.com. Si chiede se sia possibile, all’interno di una macro, aprire ciascuno di questi indirizzi contemporaneamente in un browser, in schede separate del browser.
Esistono un paio di modi in cui puoi affrontare questa attività e quello che scegli dipende in gran parte dalla natura dei dati nel tuo foglio di lavoro. Se le celle contengono collegamenti ipertestuali attivi (quelli su cui se si fa clic su di essi, l’indirizzo viene aperto in un browser), è possibile utilizzare una macro piuttosto semplice:
Questo contenuto è riservato agli abbonati
Solo gli utenti con Abbonamento VBA Coder oppure Ultimate possono visionarlo.
Se sei già abbonato Accedi per sbloccare il contenuto!
In caso contrario abbonati qui! L'abbonamento è conveniente.
E puoi interromperlo in ogni momento e in completa autonomia.
(puoi renderti conto di quanti siano i contenuti riservati
raggiungendo questa pagina)
La macro esamina semplicemente tutti i collegamenti ipertestuali nell’intervallo A1: A10 e utilizza il metodo Follow per aprirli ciascuno nel browser predefinito. A causa del modo in cui il tuo sistema operativo trasferisce le informazioni da Excel al browser, è consigliabile aprire il browser prima di eseguire la macro. Il motivo è che, durante i test, abbiamo scoperto che potresti ritrovarti con due istanze del browser aperte, con alcuni indirizzi aperti in un’istanza e altri nell’altra. Apparentemente ciò si verifica a causa del ritardo nell’apertura della prima istanza del browser. Se il browser è aperto prima dell’esecuzione della macro, non vi è alcun ritardo e ciascun indirizzo si apre in una scheda diversa della stessa istanza del browser.
Se gli indirizzi nel foglio di lavoro potrebbero non essere collegamenti ipertestuali attivi, non puoi fare affidamento sull’utilizzo della collezione Hyperlinks. Devi invece rivolgerti al valore di ciascuna cella nell’intervallo:
Questo contenuto è riservato agli abbonati
Solo gli utenti con Abbonamento VBA Coder oppure Ultimate possono visionarlo.
Se sei già abbonato Accedi per sbloccare il contenuto!
In caso contrario abbonati qui! L'abbonamento è conveniente.
E puoi interromperlo in ogni momento e in completa autonomia.
(puoi renderti conto di quanti siano i contenuti riservati
raggiungendo questa pagina)
Questo approccio utilizza il metodo FollowHyperlink per caricare l’indirizzo nella variabile sTemp. In questo caso non ha importanza se il contenuto delle celle è un collegamento ipertestuale attivo oppure no; il codice tenta sempre di aprirli in un browser.
Infine, se i tuoi dati potrebbero non contenere indirizzi completamente qualificati, dovrai comunque utilizzare un approccio diverso. Ad esempio, Stefano ha menzionato indirizzi come www.esempio.com nel foglio di lavoro, ma tale indirizzo non funzionerà con gli esempi. Se nei tuoi dati manca http:// all’inizio (o qualche variante, come https://), il codice non aprirà l’indirizzo nel browser. Se i tuoi dati hanno questa particolarità allora è opportuna una leggera modifica alla macro:
Questo contenuto è riservato agli abbonati
Solo gli utenti con Abbonamento VBA Coder oppure Ultimate possono visionarlo.
Se sei già abbonato Accedi per sbloccare il contenuto!
In caso contrario abbonati qui! L'abbonamento è conveniente.
E puoi interromperlo in ogni momento e in completa autonomia.
(puoi renderti conto di quanti siano i contenuti riservati
raggiungendo questa pagina)
Tieni presente che questo esempio esamina il contenuto di sTemp per vedere se contiene i caratteri “://” al suo interno. In caso contrario, il prefisso “http://” viene aggiunto al contenuto della cella ed Excel tenta di utilizzare il metodo FollowHyperlink per aprire l’indirizzo modificato.