Ian ha molti, molti documenti che includono collegamenti ad altri documenti.

(Questi non sono collegamenti ipertestuali; sono collegamenti a documenti effettivi in ​​Word.) Deve interrompere quei collegamenti e sa che può caricare i documenti e interrompere i collegamenti uno per uno. Si chiede, tuttavia, se è disponibile una macro che possa passare attraverso tutti i documenti in una cartella e interrompere automaticamente tutti i collegamenti all’interno di quei documenti.

Manualmente, puoi interrompere i collegamenti seguendo questi passaggi:

  1. Fare clic sulla scheda File della barra multifunzione.

  2. Assicurati che Info sia selezionato sul lato sinistro dello schermo.

  3. Nella parte inferiore destra dello schermo, nella categoria Documenti correlati, fare clic su Modifica collegamenti ai file. (Se questa opzione non è disponibile, significa che Word non pensa che ci siano collegamenti nel documento corrente.) Word visualizza la finestra di dialogo Collegamenti. (Vedi figura 1.)

  4. Seleziona il collegamento che desideri interrompere.

  5. Fare clic su Interrompi collegamento. Ti viene chiesto di confermare la tua azione.

  6. Fare clic su OK.

I passaggi sono leggermente diversi se stai usando Word 2007:

  1. Fare clic sul pulsante Office e quindi su Prepara.

  2. Fare clic su Modifica collegamenti ai file. (Se questa opzione non è disponibile, significa che Word non pensa che ci siano collegamenti nel documento corrente.)

Word visualizza la finestra di dialogo Collegamenti.

  1. Seleziona il collegamento che desideri interrompere.

  2. Fare clic su Interrompi collegamento. Ti viene chiesto di confermare la tua azione.

  3. Fare clic su OK.

Come puoi vedere, questo processo è piuttosto laborioso, in particolare se hai molti documenti e ogni documento ha più collegamenti. La natura ad alta intensità di lavoro del processo è il motivo per cui Ian stava cercando un modo per rompere i collegamenti sotto il controllo di una macro.

Per fare ciò in una macro, la macro deve aprire ogni documento nella cartella, interrompere tutti i collegamenti che trova e quindi salvare il documento.

Capire quanti documenti ci sono in una cartella, aprirli e chiuderli è piuttosto semplice. Se desideri interrompere i collegamenti, la macro deve esaminare ogni campo del documento e interrompere solo quelli che utilizzano il campo LINK. La macro seguente mostra come eseguire questa operazione.

Sub RemoveLinks()

Dim fleArray() As String     Dim flCount As Long     Dim k As Long     Dim fle As String     Dim fld As Field     Dim currentFileName As String     Dim docPath As String     Dim bDirty As Boolean

docPath = ActiveDocument.Path & "\"

currentFileName = ActiveDocument.Name

fle = Dir(docPath & "doc")

flCount = -1     ReDim fleArray(0)

Do While fle <> ""

flCount = flCount + 1         ReDim Preserve fleArray(flCount)

fleArray(flCount) = fle         fle = Dir()

Loop

If MsgBox("There are " & flCount + 1 & " files to be processed." _       & vbCrLf & "Do you want to continue?", vbYesNo, "Break links") _       = vbNo Then Exit Sub

For k = 0 To UBound(fleArray)

fle = fleArray(k)

Options.UpdateLinksAtOpen = False         Documents.Open FileName:=docPath & fle         Options.UpdateLinksAtOpen = True         bDirty = False         For Each fld In ActiveDocument.Fields             If fld.Type = wdFieldLink Then                 ' Uncomment the following if link needs to be updated                 ' before the link is broken                 ' fld.LinkFormat.Update                 fld.LinkFormat.BreakLink                 bDirty = True             End If         Next fld         If bDirty Then ActiveDocument.Save    ' Only save if links broken         If ActiveDocument.Name <> currentFileName Then ActiveDocument.Close     Next k End Sub

Notare il ciclo For Each che esamina ogni campo (fld) nella raccolta Fields. Controlla per assicurarsi che la proprietà Type del campo sia uguale a wdFieldLink, il che significa che è un campo LINK. In tal caso, il codice utilizza il metodo BreakLink con la proprietà LinkFormat per il campo, rimuovendo efficacemente il collegamento.

_Nota: _

Se desideri sapere come utilizzare le macro descritte in questa pagina (o in qualsiasi altra pagina dei siti WordTips), ho preparato una pagina speciale che include informazioni utili.

WordTips è la tua fonte di formazione economica su Microsoft Word.

(Microsoft Word è il software di elaborazione testi più popolare al mondo.) Questo suggerimento (2357) si applica a Microsoft Word 2007, 2010, 2013 e 2016.