Torna indietro   Hardware Upgrade Forum > Software > Programmi e Utility

Insta360 X6: Dolby Vision, 8K e montaggio "Zero Editing"
Insta360 X6: Dolby Vision, 8K e montaggio "Zero Editing"
La nuova Insta360 X6 introduce sensori Sony da 1/1.1" e un SoC Triple AI a 4nm. Analizziamo le riprese 8K, il primo Dolby Vision nativo a 10-bit nel settore sferico e l'innovativo flusso di lavoro diretto sulla futura versione 22 di DaVinci Resolve.
Due settimane con Dacia Spring 2026: novità, consumi, autonomia reale e test bagagli
Due settimane con Dacia Spring 2026: novità, consumi, autonomia reale e test bagagli
Dopo due settimane trascorse al volante della Dacia Spring 2026 possiamo raccontarvi tutto, dalle novità di motore e batteria, fino ai consumi in tutti le situazioni, compresa l'autonomia reale ad alta velocità
AORUS GeForce RTX 5080 INFINITY WOOD 16G: una scheda video diversa dalle altre
AORUS GeForce RTX 5080 INFINITY WOOD 16G: una scheda video diversa dalle altre
Abbiamo messo alla prova la nuova AORUS GeForce RTX 5080 INFINITY WOOD 16G, una delle interpretazioni più particolari della GPU NVIDIA Blackwell. Prestazioni, frequenze operative, temperature, consumi e margini di overclock sono stati confrontati con altre RTX 5080 custom e con la Founders Edition. Il design in legno è solo uno degli elementi distintivi di una scheda che punta a ritagliarsi uno spazio nella fascia più alta del mercato.
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 14-11-2007, 16:29   #1
jstef
Senior Member
 
L'Avatar di jstef
 
Iscritto dal: Jun 2006
Città: Milano
Messaggi: 3943
Macro Word - modifica batch di hyperlink

Ciao,

Qualcuno sa come modificare i percorsi all'interno dei "collegamenti ipertestuali" di documenti word, in modalità batch?
Per intenderci quelli che compaiono con la sottolineatura e in blu all'interno del documento.

Si tratta ad esempio di puntamenti a \\nomeserver\nomeshare\path\file.ext che dovrei modificare in X:\path\nomefile.ext, o altre sostituzioni, il tutto su un gran numero di documenti word in diverse cartelle del file server...

Credo che una macro VBS farebbe al caso mio ma non la so scrivere
jstef è offline   Rispondi citando il messaggio o parte di esso
Old 16-11-2007, 13:08   #2
MarcoGG
Senior Member
 
L'Avatar di MarcoGG
 
Iscritto dal: Dec 2004
Messaggi: 3210
Interessante sta cosa !
Mai fatto nulla del genere, perciò... ti aiuterò.

Quello che chiedi non è certo una soluzione immediata...

Andiamo con ordine :
1. Crea una cartella di Prova, in cui metti file word che contengono hyperlinks... NON usare subito il codice con i file doc che devi realmente modificare !

2. Crea un nuovo documento Word, che chiamerai "BATCH.doc". Il nome deve essere esattamente questo...

3. Il BATCH.doc, che conterrà le routine di batch, deve essere messo nella directory più "alta", la cartella di Prova, che a sua volta conterrà altre sotto-dir e vari file .doc da modificare...

4. Apri BATCH.doc, e crea un solo pulsante CommandButton.

5. Entra nell'editor VBA, poi Menu Strumenti / Riferimenti /
Cerca nei riferimenti disponibili "Microsoft Scripting Runtime", selezionalo e poi OK.

6. Sempre nell'editor VBA crea un nuovo Modulo [ Project(BATCH) / Inserisci / Modulo ]. In questo modulo incolla il seguente codice VBA :

Codice:
Public Collezione As Scripting.Dictionary

Public Function GetFiles(strPath As String, dctDict As Scripting.Dictionary, Optional blnRecursive As Boolean) As Boolean
   
    Dim fsoSysObj      As Scripting.FileSystemObject
    Dim fdrFolder      As Scripting.Folder
    Dim fdrSubFolder   As Scripting.Folder
    Dim filFile        As Scripting.File
    
    Set fsoSysObj = New Scripting.FileSystemObject
    
    On Error Resume Next
    Set fdrFolder = fsoSysObj.GetFolder(strPath)
    If Err <> 0 Then
       GetFiles = False
       GoTo GetFiles_End
    End If
    On Error GoTo 0
    For Each filFile In fdrFolder.Files
       dctDict.Add filFile.Path, filFile.Path
    Next filFile
    If blnRecursive Then
       For Each fdrSubFolder In fdrFolder.SubFolders
          GetFiles fdrSubFolder.Path, dctDict, True
       Next fdrSubFolder
    End If
    GetFiles = True
GetFiles_End:
    Exit Function
    
End Function
7. Al Click del pulsante precedentemente creato associa il seguente codice VBA :

Codice:
Private Sub CommandButton1_Click()

Dim varItem As Variant
Dim strDirPath As String
strDirPath = ThisDocument.Path & "\"

Set Collezione = New Scripting.Dictionary
Dim wordapp As Word.Application
If GetFiles(strDirPath, Collezione, True) Then
    For Each varItem In Collezione
        If Right(CStr(varItem), 9) <> "BATCH.doc" And Right(CStr(varItem), 4) = ".doc" Then
            MsgBox varItem
            Dim worddoc As Word.Document
            Set wordapp = GetObject(, "Word.Application")
            Set worddoc = wordapp.Documents.Open(varItem)
            Dim h As Hyperlink
            For Each h In worddoc.Hyperlinks
                h.Address = "http://www.nuovo_address.com"
                h.TextToDisplay = h.Address
            Next
            worddoc.Save
            worddoc.Close
            Set worddoc = Nothing
        End If
    Next
End If

End Sub
Premendo il tasto il BATCH andrà a cercare tutti gli hyperlink in tutti i file .doc contenuti nella dir e nelle sotto-dir del BATCH.doc, e li sovrascriverà... Mica male, no ?

Arriva fin qui intanto.
Poi vedremo cosa sostituire alla riga rossa per eseguire esattamente ciò di cui hai bisogno... Prova...
MarcoGG è offline   Rispondi citando il messaggio o parte di esso
Old 16-11-2007, 14:19   #3
jstef
Senior Member
 
L'Avatar di jstef
 
Iscritto dal: Jun 2006
Città: Milano
Messaggi: 3943
Quote:
Originariamente inviato da MarcoGG Guarda i messaggi
1. Crea una cartella di Prova, in cui metti file word che contengono hyperlinks... NON usare subito il codice con i file doc che devi realmente modificare !


Codice:
            For Each h In worddoc.Hyperlinks
                h.Address = "http://www.nuovo_address.com"
                h.TextToDisplay = h.Address
            Next
Quote:
Premendo il tasto il BATCH andrà a cercare tutti gli hyperlink in tutti i file .doc contenuti nella dir e nelle sotto-dir del BATCH.doc, e li sovrascriverà... Mica male, no ?
Ottimo, immagino che ti sia divertito anche tu

Quote:
Arriva fin qui intanto.
Poi vedremo cosa sostituire alla riga rossa per eseguire esattamente ciò di cui hai bisogno... Prova...
Per il momento grazie mille, Lunedì mattina torno al lavoro e ci provo senz'altro e poi ti aggiorno
Ho l'impressione che occorrerà trovare il modo di specificare la stringa da sostituire, e quella nuova, ad es. \\nomeserver\share da sostituire in F:\, all'interno degli hyperlinks... non dovrebbe essere difficile (per te ).
Intanto proviamo, a lunedì
jstef è offline   Rispondi citando il messaggio o parte di esso
Old 16-11-2007, 18:04   #4
MarcoGG
Senior Member
 
L'Avatar di MarcoGG
 
Iscritto dal: Dec 2004
Messaggi: 3210
Quote:
Originariamente inviato da jstef Guarda i messaggi

Ottimo, immagino che ti sia divertito anche tu

Per il momento grazie mille, Lunedì mattina torno al lavoro e ci provo senz'altro e poi ti aggiorno
Ho l'impressione che occorrerà trovare il modo di specificare la stringa da sostituire, e quella nuova, ad es. \\nomeserver\share da sostituire in F:\, all'interno degli hyperlinks... non dovrebbe essere difficile (per te ).
Intanto proviamo, a lunedì
Io, da pazzi.

In effetti al 99% ci siamo. Ovviamente al lavoro avete Office 2003 o 2007, oso sperare... Non mi dire '97 !
MarcoGG è offline   Rispondi citando il messaggio o parte di esso
Old 16-11-2007, 18:49   #5
jstef
Senior Member
 
L'Avatar di jstef
 
Iscritto dal: Jun 2006
Città: Milano
Messaggi: 3943
Office XP quelle macro funzionano!
jstef è offline   Rispondi citando il messaggio o parte di esso
Old 03-04-2018, 14:42   #6
zio_tom53
Junior Member
 
L'Avatar di zio_tom53
 
Iscritto dal: Apr 2018
Città: Veneto
Messaggi: 7
riapro questa vecchisima discussione...
la procedura l'ho aggiornata ad i nuovi file .docx e .docm
però dovrei fare una cosa un po' diversa
vorrei ELIMINARE gli Hyperlinks dai documento Word
ho provato ad inserire h.Delete, al posto delle rinomina del link:
Codice:
For Each h In worddoc.Hyperlinks
     h.Delete
Next
in debug ci passa, li scansiona tutti, ma non li cancella
un aiuto......

PS: un libro... documentazione ecc. su VBA con Word ..... link.... libri ecc. (io uso la 2010)

Ultima modifica di zio_tom53 : 03-04-2018 alle 14:48.
zio_tom53 è offline   Rispondi citando il messaggio o parte di esso
Old 03-04-2018, 15:57   #7
zio_tom53
Junior Member
 
L'Avatar di zio_tom53
 
Iscritto dal: Apr 2018
Città: Veneto
Messaggi: 7
ho trovato questa procedura, che mi cancella gli Hyperlinks
Codice:
Sub Canc_Hyperlinks()
    With ThisDocument
        While .Hyperlinks.Count > 0
            .Hyperlinks(1).Delete
        Wend
    End With
    Application.Options.AutoFormatAsYouTypeReplaceHyperlinks = False
End Sub
vorrei però cambiare la formattazione del testo, dove c'era l'Hyperlink
dato che una volta levato l'Hyperlink, il testo torna normale e non evidenziato

Ultima modifica di zio_tom53 : 03-04-2018 alle 17:43. Motivo: errore
zio_tom53 è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Insta360 X6: Dolby Vision, 8K e montaggio "Zero Editing" Insta360 X6: Dolby Vision, 8K e montaggio "...
Due settimane con Dacia Spring 2026: novità, consumi, autonomia reale e test bagagli Due settimane con Dacia Spring 2026: novit&agrav...
AORUS GeForce RTX 5080 INFINITY WOOD 16G: una scheda video diversa dalle altre AORUS GeForce RTX 5080 INFINITY WOOD 16G: una sc...
Hyundai Ioniq 9: dopo due settimane di test non avremmo voluto restituirla Hyundai Ioniq 9: dopo due settimane di test non ...
LG UltraGear evo GM9: 27 pollici, 5K, Mini LED e Dual Mode LG UltraGear evo GM9: 27 pollici, 5K, Mini LED e...
La NASA sta costruendo e provando i dron...
Northrop Grumman utilizzerà HALO ...
Anthropic prepara l'IPO dei record: gli ...
La beta di iOS 27 conferma i rumor, Appl...
HONOR esagera, il prossimo smartphone av...
L'edizione speciale della Switch 2 per i...
Taiwan, il primo attacco hacker AI auton...
The Lord of the Rings: War in the North ...
I prezzi delle RTX 50 continuano ad aume...
La prossima crisi riguarderà i pannelli ...
Terabyte di dati trafugati: un attacco a...
Volo Delta 591, spunta un Wi-Fi che imit...
La scienziata lancia l'allarme: l'intell...
BYD Denza N8 e la super batteria: 130 kW...
Trump autorizza le aziende private a hac...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 00:40.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v