Condividi:        

collegamenti ipertestuali automatici

Vuoi potenziare i tuoi documenti Word? Non sai come si fa una macro in Excel? Devi creare una presentazione in PowerPoint?
Oppure sei passato a OpenOffice e non sei sicuro di come lavorare al meglio?

Moderatori: Anthony47, Flash30005

collegamenti ipertestuali automatici

Postdi dblz » 04/06/14 17:08

Salve, data la vostra insuperabile bravura con le macro e che oramai siete diventati il mio punto di riferimento :lol: . Vi scrivo per sapere se fosse possibile creare in excel 2007 una macro per la creazione di collegamenti ipertestuali automatici all'apertura di un file. Mi spiego: possiedo un file excel in cui nella colonna 1 sono inseriti una serie di collegamenti ipertestuali riferiti a delle sotto cartelle nominate per data situate in un'unità differente (J) poste all'interno di una cartella madre specifica ( J:\nomecartellamadre\04.06sottocartella1, 05.06sottocartella2 ecc..). Io in pratica vorrei una macro che all'apertura del file excel nella colonna "A" si creino tanti collegamenti automatici quante sono le diverse sottocartelle site nel percorso specificato. Spero di essermi spiegata... :oops: Se riuscite nell'impresa vi considererò davvero una leggenda!!! :D
dblz
Utente Junior
 
Post: 22
Iscritto il: 05/02/13 11:54

Sponsor
 

Re: collegamenti ipertestuali automatici

Postdi Anthony47 » 05/06/14 14:41

Hummm....
Che cosa intendi per "collegamenti automatici"??

Ciao
Avatar utente
Anthony47
Moderatore
 
Post: 19196
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: collegamenti ipertestuali automatici

Postdi dblz » 11/06/14 08:06

scusa per il ritardo nella risposta... :oops: cmq per collegamenti automatici intendo collegamenti ipertestuali!
dblz
Utente Junior
 
Post: 22
Iscritto il: 05/02/13 11:54

Re: collegamenti ipertestuali automatici

Postdi dblz » 19/06/14 14:28

Ci sono novità?Qualcuno mi sa dare qualche dritta oppure non è possibile farlo?Grazie ancora!:)
dblz
Utente Junior
 
Post: 22
Iscritto il: 05/02/13 11:54

Re: collegamenti ipertestuali automatici

Postdi Anthony47 » 19/06/14 14:57

Questa era finita nel dimenticatoio...
Pero' la risposta e' una domanda: visto che tu dici "possiedo un file excel in cui nella colonna 1 sono inseriti una serie di collegamenti ipertestuali riferiti a delle sotto cartelle nominate per data situate in un'unità differente (J) poste all'interno di una cartella madre specifica ( J:\nomecartellamadre\04.06sottocartella1, 05.06sottocartella2 ecc..)" quali collegamenti rimangono ancora da creare? Cioe' quello che chiedi non e' quello che dici di avere gia'?

Ciao
Avatar utente
Anthony47
Moderatore
 
Post: 19196
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: collegamenti ipertestuali automatici

Postdi dblz » 24/06/14 15:05

Grazie per la risposta!I collegamenti che ho io sono quelli che creo manualmente ogni qual volta inserisco nella cartella madre altre sotto cartelle. Vorrei una macro che ogni qual volta modifico la cartella madre aggiungendo una nuova cartella "figlia" mi crei in automatico il relativo collegamento ipertestuale all'apertura del file excel utilizzando semplicememente come nome quello che ho dato io stessa alla cartella figlial!!Insomma vorrei che anche se io sposto i file all'interno di cartelle figlie, excel debba essere in grado di recuperarmeli lo stesso senza che io debba ricollegare manualmente tutto.Spero di essermi spiegata...^^' è un pò incasinata la cosa lo so...
dblz
Utente Junior
 
Post: 22
Iscritto il: 05/02/13 11:54

Re: collegamenti ipertestuali automatici

Postdi Anthony47 » 25/06/14 11:38

Sinceramente non ho capito granche'... Comunque mi butto, sperando che quanto diro' sia adattabile al tuo problema...
Supponiamo che tu abbia un foglio chiamato myLinks (se non ce l'hai, crealo) di cui useremo la colonna A per impostare questi collegamenti. Questa colonna (A) viene azzerata SENZA PREAVVISO all' apertura del file, prima di (ri)compilare i link verso tutte le subdirectory presenti nella directory dove si trova il file Excel.
Per ottenere cio' devi usare una macro come questa, derivata dall' esempio di uso della proprieta' SubFolders contenuta nell' help on line del vba:
Codice: Seleziona tutto
Private Sub Workbook_Open()
Dim NextHL As Long, myDir As String
'
myDir = ThisWorkbook.Path
Sheets("myLinks").Select
Range("A:A").Clear
Set fs = CreateObject("Scripting.FileSystemObject")
Set f = fs.GetFolder(myDir)
Set sf = f.SubFolders
For Each f1 In sf
    NextHL = Cells(Rows.Count, 1).End(xlUp).Row + 1
    Cells(NextHL, 1) = f1.Name      'myDir & "\" &
    ActiveSheet.Hyperlinks.Add Anchor:=Cells(NextHL, 1), Address:=myDir & "\" & f1.Name
Next
End Sub

Va inserita nel modulo di codice ThisWorkbook:
-da Excel, Alt-F11 per aprire l' editor delle macro
-nel frame di sinistra intitolato Progetto - VBAProject espandi il "VBAProject" riferito al tuo file di lavoro; vedrai l' elenco dei tuoi fogli, eventuali "Modulo" standard, ad esempio quello in cui hai inserito altre macro, e il modulo "ThisWorkbook"; doppioclick su ThisWorkbook
-copia il codice della Workbook_Open e incollalo nel frame vuoto di dx
-torna a Excel, salva il file, chiudilo e riaprilo

Alla riapertura la macro dovrebbe aver fatto, sul foglio myLinks, il lavoro di cui parliamo.

Prova e fai sapere...
Avatar utente
Anthony47
Moderatore
 
Post: 19196
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: collegamenti ipertestuali automatici

Postdi dblz » 03/07/14 10:52

Grazie per la risposta!Allora, ho provato ad inserire tutto, la macro funziona ma mi crea solo collegamenti con il contenuto della cartella principale e non delle relative sottocartelle! :( :cry:
dblz
Utente Junior
 
Post: 22
Iscritto il: 05/02/13 11:54

Re: collegamenti ipertestuali automatici

Postdi Anthony47 » 03/07/14 13:27

Azz... e' vero, SubFolder si ferma al primo livello...
Riduci la Workbook_Open a questa
Codice: Seleziona tutto
Private Sub Workbook_Open()
Dim NextHL As Long, myDir As String
'
myDir = ThisWorkbook.Path
Sheets("myLinks").Select
Range("A:A").Clear
   Call ShowFolderListNest(myDir, 0)
End Sub

Poi aggiungi, nello stesso modulo, quest' altra
Codice: Seleziona tutto
Sub ShowFolderListNest(folderSpec, ByVal Nest As Long)
    Dim fs, f, f1, fc, s
    Set fs = CreateObject("Scripting.FileSystemObject")
    Set f = fs.GetFolder(folderSpec)
    Set fc = f.SubFolders
    For Each f1 In fc
        NextHL = Cells(Rows.Count, 1).End(xlUp).Row + 1
        Cells(NextHL, 1) = String(Nest, ">") & f1.Name
        ActiveSheet.Hyperlinks.Add Anchor:=Cells(NextHL, 1), Address:=folderSpec & "\" & f1.Name
        Call ShowFolderListNest(folderSpec & "\" & f1.Name, Nest + 1)
    Next
End Sub
Ho inserito un ">" per ogni livello di directory, per identificare meglio le sotto-sotto-directory.

Ciao
Avatar utente
Anthony47
Moderatore
 
Post: 19196
Iscritto il: 21/03/06 16:03
Località: Ivrea


Torna a Applicazioni Office Windows


Topic correlati a "collegamenti ipertestuali automatici":


Chi c’è in linea

Visitano il forum: Ricky0185 e 59 ospiti