Torna indietro   Hardware Upgrade Forum > Software > Programmi e Utility

L'IA cambia tutte le regole della sicurezza tra vulnerabilità e sorveglianza. Intervista al CEO di Proofpoint
L'IA cambia tutte le regole della sicurezza tra vulnerabilità e sorveglianza. Intervista al CEO di Proofpoint
Abbiamo intervistato Sumit Dhawan, CEO di Proofpoint, per capire come stia cambiando il mondo della sicurezza con l'avvento dell'intelligenza artificiale e con il ritmo sempre più serrato a cui vengono trovate vulnerabilità nel software. Un problema significativo, che richiederà del tempo per essere risolto (o quantomeno arginato)
L'Europa conta nella tecnologia e può essere autonoma. Cosa si è detto al Nextcloud Summit 2026
L'Europa conta nella tecnologia e può essere autonoma. Cosa si è detto al Nextcloud Summit 2026
La parola d'ordine al Nextcloud Summit 2026, che si è tenuto a Monaco, è stata "sovranità". Non come è spesso usato questo termine in politica ma, al contrario, come capacità positiva di decidere il proprio destino tecnologico, con modalità collaborative e aperte. L'Europa dice già molto nel mondo open source, che viene visto come mezzo per ottenere la tanto agognata autonomia digitale
Dreame X60 Pro Ultra Complete: i bracci si estendono sempre di più
Dreame X60 Pro Ultra Complete: i bracci si estendono sempre di più
Dreame X60 Pro Ultra Complete implementa due bracci estensibili, per spazzola e moccio, che si spingono ben oltre quanto visto sino ad oggi permettendo una pulizia di casa ancor più capillare e precisa
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


L'IA cambia tutte le regole della sicurezza tra vulnerabilità e sorveglianza. Intervista al CEO di Proofpoint L'IA cambia tutte le regole della sicurezza tra ...
L'Europa conta nella tecnologia e può essere autonoma. Cosa si è detto al Nextcloud Summit 2026 L'Europa conta nella tecnologia e può ess...
Dreame X60 Pro Ultra Complete: i bracci si estendono sempre di più Dreame X60 Pro Ultra Complete: i bracci si esten...
TCL 65C8L, la recensione del SQD-Mini LED da 4400 nit misurati TCL 65C8L, la recensione del SQD-Mini LED da 440...
MSI Maestro 500 Wireless: ANC e 90 ore di autonomia a 70 euro MSI Maestro 500 Wireless: ANC e 90 ore di autono...
Xbox non ha chiuso Ninja Theory e Compul...
Mythos 5, gli USA riaprono parzialmente ...
Le nuove cuffie TWS di OnePlus costano p...
GTA 6, un'edizione fisica con disco potr...
I nuovi Galaxy Z Fold 8, Z Fold 8 Ultra ...
Dietro il caro memoria c'è un car...
Ferrari Luce: la prima elettrica del Cav...
La Marina USA porta il sequenziamento ge...
Smartwatch, auricolari e AI: così...
Un record rimasto imbattuto per 30 anni ...
Tenstorrent, Keller conferma contatti co...
Invia il tuo nome a 1,5 milioni di chilo...
Apple MacBook Neo 13'' con chip A18 Pro ...
Insieme a Leica SL3-P presentate le otti...
La Cina svilupperà anche il razzo...
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: 07:50.


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