Cambiare percorso collegamento ipertestuale in excel

Anonimo
2014-04-02T16:23:56+00:00

Ciao a tutti,

il mio problema è il seguente :

vorrei cambiare il percorso (in realtà una parte) di alcuni collegamenti ipertestuali in file excell :

da "\DB\GITE 2011"

 a"\DB 2011"

qualcuno sa dirmi una buona macro per farlo? 

grazie

Microsoft 365 e Office | Excel | Per la casa | Windows

Domanda bloccata. Questa domanda è stata eseguita dalla community del supporto tecnico Microsoft. È possibile votare se è utile, ma non è possibile aggiungere commenti o risposte o seguire la domanda.

0 commenti Nessun commento
Risposta accettata dall'autore della domanda
Anonimo
2014-04-04T13:48:52+00:00

<cut>

Gentilissimo per la risposta super rapida,

purtroppo non mi cambia nulla, rimane tutto uguale.... dove sbaglio?

ti allego il file magari ci puoi dare un occhio... le celle sono quelle colorate in verde e rosso

https://drive.google.com/file/d/0B16JMIjVmxz4eWZSdkRXYTN1ekE/edit?usp=sharing

La macro sarebbe da copia/incollare in un modulo standard.

Controlla quello che hai postato con quello che è nel link. Io vedo due spazi (la parte in grassetto), non uno  e non vedo nessuna barra davanti a DB:

DB\GITE**%20%20**2011\Abbazie%20a%20Milano\Chiaravalle%20Teatro%20la%20scala%20e%20Duomo%20di%20Milano%20Modificato.doc

Quindi:

    sDaSostituire = "DB\GITE  2011"

    sSostituzione = "DB 2011****"

La barra in grassetto nella variabile sSostituzione non ho capito se serve o meno. Vedi tu, sei tu che sai dove hai i file. Fai una prova su una cartella di test.

alla fine ho usato questa macro :

Sub hlinkChange()

Dim h As Hyperlink

Dim ws As Worksheet

Dim sFind As String, sReplace As String

  sFind = "DB\GITE  2011"

  sReplace = "DB 2011"

  For Each ws In Worksheets

    For Each h In ws.Hyperlinks

        h.Address = Replace(h.Address, sFind, sReplace)

     Next

  Next

End Sub

ed ha funzionato, non so perchè con la tua non andata!

grazie !!!

La risposta è stata utile?

3 persone hanno trovato utile questa risposta.
0 commenti Nessun commento

4 risposte aggiuntive

Ordina per: Più utili
  1. Anonimo
    2014-04-04T14:03:12+00:00

    ed ha funzionato, non so perchè con la tua non andata!

    grazie !!!

    Certo!

    La mia macro si basava sulle TUE informazioni:

    <tu>

    da "\DB\GITE 2011"

     a"\DB 2011"

    </tu>

    La mia seconda risposta, visto il file, equivale a quella che hai utilizzato. Inoltre, tu NON HAI MAI detto che doveva eseguire l'operazione su TUTTI i fogli.

    La risposta è stata utile?

    0 commenti Nessun commento
  2. Anonimo
    2014-04-03T14:05:07+00:00

    <cut>

    Gentilissimo per la risposta super rapida,

    purtroppo non mi cambia nulla, rimane tutto uguale.... dove sbaglio?

    ti allego il file magari ci puoi dare un occhio... le celle sono quelle colorate in verde e rosso

    https://drive.google.com/file/d/0B16JMIjVmxz4eWZSdkRXYTN1ekE/edit?usp=sharing

    La macro sarebbe da copia/incollare in un modulo standard.

    Controlla quello che hai postato con quello che è nel link. Io vedo due spazi (la parte in grassetto), non uno  e non vedo nessuna barra davanti a DB:

    DB\GITE**%20%20**2011\Abbazie%20a%20Milano\Chiaravalle%20Teatro%20la%20scala%20e%20Duomo%20di%20Milano%20Modificato.doc

    Quindi:

        sDaSostituire = "DB\GITE  2011"

        sSostituzione = "DB 2011****"

    La barra in grassetto nella variabile sSostituzione non ho capito se serve o meno. Vedi tu, sei tu che sai dove hai i file. Fai una prova su una cartella di test.

    La risposta è stata utile?

    0 commenti Nessun commento
  3. Anonimo
    2014-04-03T13:44:08+00:00

    Ciao a tutti,

    il mio problema è il seguente :

    vorrei cambiare il percorso (in realtà una parte) di alcuni collegamenti ipertestuali in file excell :

    da "\DB\GITE 2011"

     a"\DB 2011"

    qualcuno sa dirmi una buona macro per farlo? 

    grazie

    Sostituisci Foglio1 con il nome del tuo foglio.

    Public Sub mSostituisciLink()

        Dim hl As Hyperlink

        Dim sh As Worksheet

        Dim sDaSostituire As String

        Dim sSostituzione As String

        sDaSostituire = "\DB\GITE 2011"

        sSostituzione = "\DB 2011"

        Set sh = ThisWorkbook.Worksheets("Foglio1")

        For Each hl In sh.Hyperlinks

            With hl

                .Address = Replace(.Address, _

                    sDaSostituire, sSostituzione)

            End With

        Next

        

        Set hl = Nothing

        Set sh = Nothing

    End Sub

    Da copia/incollare in un modulo standard. Se non hai mai utilizzato in vb di Excel, vedi questo articolo Wiki:

    Gentilissimo per la risposta super rapida,

    purtroppo non mi cambia nulla, rimane tutto uguale.... dove sbaglio?

    ti allego il file magari ci puoi dare un occhio... le celle sono quelle colorate in verde e rosso

    https://drive.google.com/file/d/0B16JMIjVmxz4eWZSdkRXYTN1ekE/edit?usp=sharing

    La risposta è stata utile?

    0 commenti Nessun commento
  4. Anonimo
    2014-04-02T16:37:29+00:00

    Ciao a tutti,

    il mio problema è il seguente :

    vorrei cambiare il percorso (in realtà una parte) di alcuni collegamenti ipertestuali in file excell :

    da "\DB\GITE 2011"

     a"\DB 2011"

    qualcuno sa dirmi una buona macro per farlo? 

    grazie

    Sostituisci Foglio1 con il nome del tuo foglio.

    Public Sub mSostituisciLink()

        Dim hl As Hyperlink

        Dim sh As Worksheet

        Dim sDaSostituire As String

        Dim sSostituzione As String

        sDaSostituire = "\DB\GITE 2011"

        sSostituzione = "\DB 2011"

        Set sh = ThisWorkbook.Worksheets("Foglio1")

        For Each hl In sh.Hyperlinks

            With hl

                .Address = Replace(.Address, _

                    sDaSostituire, sSostituzione)

            End With

        Next

        Set hl = Nothing

        Set sh = Nothing

    End Sub

    Da copia/incollare in un modulo standard. Se non hai mai utilizzato in vb di Excel, vedi questo articolo Wiki:

    La risposta è stata utile?

    0 commenti Nessun commento