KutoolsforOffice — Un'unica soluzione, cinque potenti strumenti.Ottenere di più con meno sforzo.

Outlook: come estrarre tutti gli URL da un'email

AutoreSun Data di modifica

Se un'email contiene centinaia di URL da estrarre in un file di testo, copiarli e incollarli uno per uno sarebbe un’operazione noiosa e dispendiosa in termini di tempo. Questo tutorial presenta macro VBA capaci di estrarre rapidamente tutti gli URL direttamente dall’email.

Macro VBA per estrarre gli URL da un'email in un File di Testo

Macro VBA per estrarre gli URL da più email in un file Excel

Office Tab – Abilita la modifica e la navigazione a schede in Microsoft Office, rendendo il lavoro un gioco da ragazzi
Sblocca Kutools per Outlook ora e goditi oltre 100 funzionalità con accesso illimitato per sempre
Potenzia il tuo Outlook 2024 - 2010 o Outlook 365 con queste funzionalità avanzate. Goditi 100+ funzionalità potenti e migliora la tua esperienza email!

Macro VBA per estrarre gli URL da un'email in un File di Testo

 

1. Seleziona un'email da cui desideri estrarre gli URL e premi i tasti Alt+F11 per aprire la finestra di Microsoft Visual Basic for Applications.

2. Fai clic su Inserisci > Modulo per creare un nuovo modulo vuoto, quindi copia e incolla il codice seguente nel modulo.

Macro VBA: estrae tutti gli URL da un'email e li salva in un file di testo.

Sub ExportUrlToTextFileFromEmail()
'UpdatebyExtendoffice20220413
  Dim xMail As Outlook.MailItem
  Dim xRegExp As RegExp
  Dim xMatchCollection As MatchCollection
  Dim xMatch As Match
  Dim xUrl As String, xSubject As String, xFileName As String
  Dim xFs As FileSystemObject
  Dim xTextFile As Object
  Dim i As Integer
  Dim InvalidArr
  On Error Resume Next
  If Application.ActiveWindow.Class = olInspector Then
    Set xMail = ActiveInspector.CurrentItem
  ElseIf Application.ActiveWindow.Class = olExplorer Then
    Set xMail = ActiveExplorer.Selection.Item(1)
  End If
  Set xRegExp = New RegExp
  With xRegExp
    .Pattern = "(https?[:]//([0-9a-z=\?:/\.&-^!#$;_])*)"
    .Global = True
    .IgnoreCase = True
  End With
  If xRegExp.test(xMail.Body) Then
    InvalidArr = Array("/", "\", "*", ":", Chr(34), "?", "<", ">", "|")
    xSubject = xMail.Subject
    For i = 0 To UBound(InvalidArr)
      xSubject = VBA.Replace(xSubject, InvalidArr(i), "")
    Next i
    xFileName = "C:\Users\Public\Downloads\" & xSubject & ".txt"
    Set xFs = CreateObject("Scripting.FileSystemObject")
    Set xTextFile = xFs.CreateTextFile(xFileName, True)
    xTextFile.WriteLine ("Export URLs:" & vbCrLf)
    Set xMatchCollection = xRegExp.Execute(xMail.Body)
    i = 0
    For Each xMatch In xMatchCollection
      xUrl = xMatch.SubMatches(0)
      i = i + 1
      xTextFile.WriteLine (i & ". " & xUrl & vbCrLf)
    Next
    xTextFile.Close
    Set xTextFile = Nothing
    Set xMatchCollection = Nothing
    Set xFs = Nothing
    Set xFolderItem = CreateObject("Shell.Application").NameSpace(0).ParseName(xFileName)
    xFolderItem.InvokeVerbEx ("open")
    Set xFolderItem = Nothing
  End If
  Set xRegExp = Nothing
End Sub

Questo codice crea un nuovo file di testo con il nome dell'oggetto dell'email e lo salva nel percorso: C:\Users\Public\Downloads; puoi modificarlo in base alle tue esigenze.

passaggi per estrarre tutti gli URL da un'email

3. Fare clic su Strumenti > Riferimenti per aprire la finestra di dialogo Riferimenti – Progetto 1, quindi selezionare la casella Microsoft VBScript Regular Expressions 5,5. Infine, fare clic su OK.

passaggi per estrarre tutti gli URL da un'email
passaggi per estrarre tutti gli URL da un'email

4. Premere il tasto F5 oppure fare clic sul pulsante Esegui per eseguire il codice; a questo punto verrà visualizzato un file di testo contenente tutti gli URL estratti.

passaggi per estrarre tutti gli URL da un'email
passaggi per estrarre tutti gli URL da un'email

Nota: se utilizzi Outlook 2010 e Outlook 365, assicurati di selezionare anche la casella di controllo Windows Script Host Object Modelal passaggio 3, quindi fai clic su OK.


Macro VBA per estrarre gli URL da più email in un file Excel

 

Se si desidera estrarre gli URL da più email selezionate in un file Excel, la macro VBA seguente può essere d’aiuto.

1. Selezionare un'email da cui si desidera estrarre gli URL e premere i tasti Alt+F11per aprire la finestra di Microsoft Visual Basic for Applications.

2. Fare clic su Inserisci>Moduloper creare un nuovo modulo vuoto, quindi copiare e incollare il codice seguente nel modulo.

Macro VBA: estrae tutti gli URL da più email in un file Excel

'UpdatebyExtendoffice20220414
Dim xExcel As Excel.Application
Dim xExcelWb As Excel.Workbook
Dim xExcelWs As Excel.Worksheet

Sub ExportAllUrlsToExcelFromMultipleEmails()
  Dim xMail As MailItem
  Dim xSelection As Selection
  Dim xWordDoc As Word.Document
  Dim xHyperlink As Word.Hyperlink
  On Error Resume Next
  Set xSelection = Outlook.Application.ActiveExplorer.Selection
  If (xSelection Is Nothing) Then Exit Sub
  Set xExcel = CreateObject("Excel.Application")
  Set xExcelWb = xExcel.Workbooks.Add
  Set xExcelWs = xExcelWb.Sheets(1)
  xExcelWb.Activate
  With xExcelWs
    .Range("A1") = "Subject"
    .Range("B1") = "DisplayText"
    .Range("C1") = "Link"
  End With
  With xExcelWs.Range("A1", "C1").Font
    .Bold = True
    .Size = 12
  End With
  For Each xMail In xSelection
    Set xWordDoc = xMail.GetInspector.WordEditor
    If xWordDoc.Hyperlinks.Count > 0 Then
      For Each xHyperlink In xWordDoc.Hyperlinks
          Call ExportToExcelFile(xMail, xHyperlink)
      Next
    End If
  Next
  xExcelWs.Columns("A:C").AutoFit
  xExcel.Visible = True
End Sub

Sub ExportToExcelFile(curMail As MailItem, curHyperlink As Word.Hyperlink)
  Dim xRow As Integer
  xRow = xExcelWs.Range("A" & xExcelWs.Rows.Count).End(xlUp).Row + 1
  With xExcelWs
    .Cells(xRow, 1) = curMail.Subject
    .Cells(xRow, 2) = curHyperlink.TextToDisplay
    .Cells(xRow, 3) = curHyperlink.Address
  End With
End Sub

Questo codice estrae tutti i collegamenti ipertestuali insieme al corrispondente Testo di visualizzazione e al Oggetto email.

passaggi per estrarre tutti gli URL da un'email

3. Fare clic su Strumenti > Riferimenti per aprire la finestra di dialogo Riferimenti – Progetto 1, quindi selezionare le caselle Microsoft Excel 16,0 Object Library e Microsoft Word 16,0 Object Library. Infine, fare clic su OK.

passaggi per estrarre tutti gli URL da un'email
passaggi per estrarre tutti gli URL da un'email

4. Posiziona quindi il cursore all'interno del codice VBA, premi il tasto F5 oppure fai clic sul pulsante Esegui per eseguire il codice: verrà visualizzata una cartella di lavoro contenente tutti gli URL estratti, che potrai poi salvare in una cartella.

passaggi per estrarre tutti gli URL da un'email

Nota: tutte le macro VBA indicate sopra estraggono ogni tipo di collegamento ipertestuale.


Migliori strumenti per la produttività in Office

Scopri il nuovissimo Kutools per Outlook con 100+ funzionalità incredibili!Clicca per scaricare ora!

🤖KUTOOLS AI:Utilizza tecnologia AI avanzata per gestire le email senza sforzo, inclusi rispondere, riassumere, ottimizzare, estendere, tradurre e comporre email.

📧Automazione delle email: Risposta automatica (disponibile per POP e IMAP) / Invio email programmato / CC/BCC automatico in base a regole durante l’invio delle email / Inoltro automatico (regola avanzata) / Aggiunta automatica del saluto / Divisione automatica delle email con destinatari multipli in messaggi individuali...

📨Gestione delle email: Richiama Email / Blocca le email truffaldine in base all’oggetto e ad altri criteri / Elimina email duplicate / Ricerca avanzata / Organizza cartelle...

📁Allegati Pro: Salvataggio batch / Distacco batch / Compressione batch / Salvataggio automatico / Distacco automatico / Compressione automatica

🌟Magia dell’interfaccia: 😊 Più emoji graziose e accattivanti / Ti avvisa all’arrivo di email importanti / Riduci a icona Outlook invece di chiuderlo...

👍Meraviglie con un clic: Rispondi a Tutti con Allegati / Email anti-phishing / 🕘 Mostra il fuso orario – Ora corrente del mittente...

👩🏼‍🤝‍👩🏻Contatti e calendario: Aggiungi contatti in blocco dalle email selezionate / Dividi un gruppo di contatti in gruppi individuali / Rimuovi i promemoria dei compleanni...

Usa Kutools nella tua lingua preferita: supporta inglese, spagnolo, tedesco, francese, cinese e oltre 40 altre lingue!

Sblocca istantaneamente Kutools per Outlook con un solo clic! Non aspettare oltre: scaricalo ora e aumenta subito la tua efficienza!

kutools for outlook features1kutools for outlook features2

🚀 Download con un clic — Ottieni tutti i componenti aggiuntivi per Office

Fortemente consigliato: Kutools for Office (5-in-1)

Un clic per scaricare cinque programmi di installazionetutti insieme —Kutools per Excel, Outlook, Word, PowerPointe Office Tab Pro.Clicca per scaricare ora!

  • Comodità con un solo clic: scarica tutti e cinque i pacchetti di installazione in un’unica azione.
  • 🚀Pronto per qualsiasi attività in Office: installa i componenti aggiuntivi che ti servono, esattamente quando ti servono.
  • 🧰Inclusi: Kutools per Excel / Kutools per Outlook / Kutools per Word / Office Tab Pro / Kutools for PowerPoint