La consultazione del forum è libera per tutti.
Per poter porre un quesito è invece necessario essere un utente registrato (clicca qui se non lo sei).
Tutti gli utenti che richiedono un supporto, come da REGOLAMENTO, sono caldamente invitati ad allegare un file di esempio con l'indicazione di quello che si desidera ottenere.
In un file Excel utilizzo la funzione COLLEG.IPERTESTUALE per abbinare il numero della spedizione ai vari ddt, pod degli spedizionieri.
C'è un modo per verificare, in automatico, se i collegamenti ipertestuali sono attivi senza dover necessariamente cliccare su ogni singolo collegamento?
C'è un modo in sostanza per verificare quali tra questi collegamenti danno il messaggio "Impossibile aprire il file specificato." ?
Vi ringrazio se qualcuno mi può indicare qualche soluzione.
Ciao,
non ho capito se questi Hyperlink fanno riferimento a indirizzi web o a file comunque...
Occorre il VBA; prova con questo codice:
Sub CheckMyHP() Dim LRow As Long Dim InvalidHP As Long Dim ActHP As Hyperlink Dim TextForMsg As String For Each ActHP In ActiveSheet.Hyperlinks On Error Resume Next ActHP.Follow If Err.Number <> 0 Then InvalidHP = InvalidHP + 1 ActHP.Range.Interior.ColorIndex = 3 Err.Clear End If Next ActHP If InvalidHP = 0 Then TextForMsg = "Tutti gli Hyperlink sono corretti!" Else TextForMsg = InvalidHP & " hyperlink non corretti!" End If MsgBox TextForMsg, vbInformation + vbOKOnly, "CONTROLLO COMPLETATO" End Sub
le celle contenenti HP invalidi verrano colorate di rosso.
N.B.
Per testarli, gli Hyperlinks verranno aperti/eseguiti quindi se si parla di molti HP potrebbe essere il caso di cercare un'alternativa.
Intanto ti ringrazio tantissimo della risposta.
Si tratta di file (non riguardano indirizzi web).
Purtroppo non conosco affatto il VBA. Sai darmi un link dove posso formarmi un poco per inserire il codice che mi consigli?
Grazie ancora e scusami per l'eventuale disturbo.
Ho trovato questo link, proprio di questo sito
Pensi che potrebbe essere sufficiente per me?
Dimenticavo di dirti che si trattano però di molte righe (un centinaio di documenti al mese)... quindi pensi che questa soluzione non sia percorribile?
Grazie
Francesco
Si tratta di file (non riguardano indirizzi web).
In questo caso forse c'è una strada più rapida...
Prova ugualmente il codice fornito e nel caso adattiamo alle tue esigenze.
Sai darmi un link dove posso formarmi un poco per inserire il codice che mi consigli?
Puoi trovare tranquillamente vari video-tutorial su youtube ma ti lascio il link al mini-corso che ho usato io per iniziare:
http://forum.wintricks.it/showthread.php?t=155252
Ho trovato questo link, proprio di questo sito
Assolutamente si.
Li ti spiega il minimo indispensabile per poter usare un codice che ti hanno fornito o che hai trovato via web.
Ma ti consiglio ugualmente di imparare almeno le basi per evntuali correzioni al codice che potrebbero essere necessarie.
Dimenticavo di dirti che si trattano però di molte righe (un centinaio di documenti al mese)... quindi pensi che questa soluzione non sia percorribile?
Il codice l'ho provato con hyperlinks che puntano a pagine web, fai una prova su un file e fammi sapere...
Ok,
faccio delle prove mi studio i link e poi ti tengo aggiornato.
Ti ringrazio tanto.
Buona giornata
Francesco
Buongiorno,
ho fatto delle prove e il codice VBA segnalato funziona! Grazie.
C'è purtroppo un però...
I collegamenti ipertestuali che ho nel foglio excel, e che questo codice VBA si ritrova a controllare, sono molti... circa 400. Il codice VBA per verificare i collegamenti ipertestuali apre i documenti e quindi mi ritrovo circa 400 file aperti... e conseguente problema di gestione di risorse del mio pc.
Come posso modificare il codice VBA in maniera che controlli il collegamento ipertestuale senza aprire il file?
Può essere utile usare il codice CheckFileExist ?
Vi ringrazio se qualcuno mi può dare un aiuto.
Grazie, buona giornata e buon lavoro
Francesco
C'è purtroppo un però...
Ciao,
per le prossime volte tieni a mente il vecchio adagio: "Batti il ferro finché è caldo"
Se lasci passare troppo tempo potresti non ricevere alcuna risposta semplicemente per il fatto che per risponderti ci si dovrebbe riguardare tutta la discussione, il file, il codice, etc... quindi, lascia la discussione risolta come tale ed apri una nuova discussione spiegando il nuovo problema.
Detto ciò, prova con questo codice (che sarebbe il vecchio con qualche modifica):
Sub CheckMyHP_Local() Dim LRow As Long Dim InvalidHP As Long Dim ActHP As Hyperlink Dim FullFileName As String Dim CheckActFile As Boolean Dim TextForMsg As String For Each ActHP In ActiveSheet.Hyperlinks FullFileName = ActHP.Address CheckActFile = Dir(FullFileName) = "" If CheckActFile Then InvalidHP = InvalidHP + 1 ActHP.Range.Interior.ColorIndex = 3 Else ActHP.Range.Interior.ColorIndex = xlNone End If Next ActHP If InvalidHP = 0 Then TextForMsg = "Tutti gli Hyperlink sono corretti!" Else TextForMsg = InvalidHP & " hyperlink non corretti!" End If MsgBox TextForMsg, vbInformation + vbOKOnly, "CONTROLLO COMPLETATO" End Sub
Ti ringrazio tantissimo!
Mi sento in debito. Vedo che in questo sito si possono acquistare libri. Mi sai consigliare un acquisto per chi come me, ha voglia di imparare il VBA?
Grazie ancora e prometto farò buon uso del tuo suggerimento "batti il ferro finché è caldo". E' che ho provato a fare da solo... ma poi ho visto che non riuscivo. Devo appunto leggermi un libro in merito. Se mi puoi consigliare un acquisto te ne sono grato e così contribuisco a questo meraviglioso forum.
Buon pomeriggio
Vedo che in questo sito si possono acquistare libri. Mi sai consigliare un acquisto per chi come me, ha voglia di imparare il VBA?
Io qui son solo moderatore, non conosco il materiale digitale e/o cartaceo di Excel Academy.
Io ho iniziato con un mini-corso e poi ho acquistato il libro di Giaccaglini (ormai vecchiotto ma è una simil-bibbia).
Ricorda di segnare la discussione come risolta.
@cromagno quindi tu hai iniziato con questo mini corso che hai elencato?
- Il mini-corso:
http://forum.wintricks.it/showthread.php?t=155252
ciao
per favore non accodatevi a vecchie discussioni
non vi vediamo.
bel corso consigliato a tutti i principianti.