Outlook: Come estrarre tutti gli URL da un'email
Se un'email contiene centinaia di URL che devono essere estratti in un file di testo, copiarli e incollarli uno per uno sarà un lavoro tedioso. Questo tutorial introduce delle VBA che possono estrarre rapidamente tutti gli URL da un'email.
VBA per estrarre gli URL da un'email a un file di testo
VBA per estrarre gli URL da più email in un file Excel
- Potenzia la tua produttività email con la tecnologia AI, consentendoti di rispondere rapidamente alle email, redigere nuove, tradurre messaggi e molto altro in modo più efficiente.
- Automatizza l'invio di email con CC/BCC automatico, Inoltro automatico in base a regole; invia Risposta automatica (Fuori sede) senza richiedere un server di scambio...
- Ottieni promemoria come Prompt quando si risponde a una email con me in Ccn e Avviso allegati mancanti per allegati dimenticati...
- Migliora l'efficienza delle email con Rispondi (a tutti) con allegati, Aggiunta automatica di Saluti o Data e Ora nella firma o nell'oggetto, Rispondi a più email...
- Ottimizza l'invio di email con Richiama Email, Strumenti allegati (Comprimi tutti, Salvataggio automatico), Rimuovi duplicati e Rapporto rapido...
VBA per estrarre gli URL da un'email a un file di testo
1. Seleziona l'email da cui vuoi estrarre gli URL e premi i tasti Alt + F11 per abilitare la finestra Microsoft Visual Basic for Applications.
2. Clicca su Inserisci > Modulo per creare un nuovo modulo vuoto, quindi copia e incolla il codice sottostante nel modulo.
VBA: estrai tutti gli URL da un'email a 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
In questo codice, verrà creato un nuovo file di testo denominato con l'oggetto dell'email e posizionato nel percorso: C:\Users\Public\Downloads, puoi modificarlo come necessario.

3. Clicca su Strumenti > Riferimenti per abilitare la finestra di dialogo Riferimenti – Progetto 1, spunta la casella Microsoft VBScript Regular Expressions 5.5. Clicca OK.


4. Premi il tasto F5 o clicca sul pulsante Esegui per eseguire il codice; ora apparirà un file di testo e tutti gli URL saranno stati estratti al suo interno.


Nota: se sei un utente di Outlook 2010 e Outlook 365, assicurati di spuntare anche la casella Windows Script Host Object Model nel Passaggio 3. Poi clicca OK.
VBA per estrarre gli URL da più email in un file Excel
Se desideri estrarre gli URL da più email selezionate in un file Excel, il seguente codice VBA può aiutarti.
1. Seleziona l'email da cui vuoi estrarre gli URL e premi i tasti Alt + F11 per abilitare la finestra Microsoft Visual Basic for Applications.
2. Clicca su Inserisci > Modulo per creare un nuovo modulo vuoto, quindi copia e incolla il codice sottostante nel modulo.
VBA: estrai 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
In questo codice, vengono estratti tutti i collegamenti ipertestuali, i relativi testi visualizzati e gli oggetti delle email.

3. Clicca su Strumenti > Riferimenti per abilitare la finestra di dialogo Riferimenti – Progetto 1, spunta le caselle Microsoft Excel 16.0 Object Library e Microsoft Word 16.0 Object Library. Clicca OK.


4. Quindi posiziona il cursore all'interno del codice VBA, premi il tasto F5 o clicca sul pulsante Esegui per eseguire il codice; ora apparirà una cartella di lavoro e tutti gli URL saranno stati estratti al suo interno, dopodiché potrai salvarla in una cartella.

Nota: tutte le VBA sopra menzionate estraggono tutti i tipi di collegamenti ipertestuali.
I migliori strumenti per la produttività in Office
Ultime novità: Kutools per Outlook lancia la versione gratuita!
Scopri il nuovo Kutools per Outlook con oltre100 funzionalità incredibili! Clicca per scaricare ora!
📧 Automazione email: Risposta automatica (disponibile per POP e IMAP) / Programmazione invio email / CC/BCC automatico tramite regola durante l’invio dell’email / Inoltro automatico (Regola avanzata) / Aggiungi saluto automaticamente / Suddivisione automatica delle email con più destinatari in email individuali ...
📨 Gestione email: Richiama Email / Blocca email di truffa tramite Oggetto e altro / Elimina Email duplicate / Ricerca Avanzata / Organizza cartelle ...
📁 Allegati Pro: Salvataggio in batch / Distacco in batch / Compressione in batch / Salvataggio automatico / Distacca automaticamente / Auto Comprimi ...
🌟 Magia dell’interfaccia: 😊Più emoji belle e simpatiche / Ti avvisa quando arrivano email importanti / Minimizza Outlook invece di chiuderlo ...
👍 Meraviglie con un clic: Rispondi a Tutti con Allegati / Email Anti-phishing / 🕘Mostra il fuso orario del mittente ...
👩🏼🤝👩🏻 Contatti e Calendario: Aggiunta massiva dei contatti dalle email selezionate / Dividi un Gruppo di Contatti in gruppi individuali / Rimuovi promemoria di compleanno ...
Usa Kutools nella lingua che preferisci: supporta Inglese, Spagnolo, Tedesco, Francese, Cinese e oltre40 altre lingue!

