Vai al contenuto principale

Outlook: come estrarre tutti gli URL da un'e-mail

Se un'e-mail contiene centinaia di URL da estrarre in un file di testo, copiarli e incollarli uno per uno sarà un lavoro noioso. Questo tutorial introduce i VBA che possono estrarre rapidamente tutti gli URL da un'e-mail.

VBA per estrarre gli URL da un'e-mail in un file di testo

VBA per estrarre URL da più e-mail in un file Excel

Scheda Office: abilita la modifica e la navigazione a schede in Microsoft Office, rendendo il lavoro un gioco da ragazzi
Kutools per Outlook: potenzia Outlook con oltre 100 funzionalità avanzate per un'efficienza superiore
Potenzia il tuo Outlook 2021-2010 o Outlook 365 con queste funzionalità avanzate. Goditi una prova gratuita completa di 60 giorni e migliora la tua esperienza di posta elettronica!

VBA per estrarre gli URL da un'e-mail in un file di testo

 

1. Selezionare un'e-mail di cui si desidera estrarre gli URL e premere altro + F11 tasti per abilitare Microsoft Visual Basic, Applications Edition finestra.

2. Clic inserire > Moduli per creare un nuovo modulo vuoto, quindi copia e incolla il codice sottostante nel modulo.

VBA: estrai tutti gli URL da un'e-mail 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

In questo codice, creerà un nuovo file di testo denominato con l'oggetto dell'e-mail e posizionato nel percorso: C:\Utenti\Pubblico\Download, puoi cambiarlo di cui hai bisogno.

URL estratto doc 1

3. Clic Strumenti > Riferimenti abilitare Riferimenti – Progetto 1 finestra di dialogo, spuntare il Espressioni regolari di Microsoft VBScript 5.5 casella di controllo. Clic OK.

URL estratto doc 1

URL estratto doc 1

4. Stampa F5 tasto o fare clic Correre pulsante per eseguire il codice, ora viene visualizzato un file di testo e tutti gli URL sono stati estratti in esso.

URL estratto doc 1

URL estratto doc 1

Note:: se sei utenti di Outlook 2010 e Outlook 365, seleziona anche la casella di controllo Modello a oggetti host di script di Windows nel passaggio 3. Quindi fai clic su OK.


VBA per estrarre URL da più e-mail in un file Excel

 

Se desideri estrarre gli URL da più e-mail selezionate in un file Excel, il codice VBA sottostante può aiutarti.

1. Selezionare un'e-mail di cui si desidera estrarre gli URL e premere altro + F11 tasti per abilitare Microsoft Visual Basic, Applications Edition finestra.

2. Clic inserire > Moduli 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, estrae tutti i collegamenti ipertestuali e i testi di visualizzazione corrispondenti e gli oggetti dell'e-mail.

URL estratto doc 1

3. Clic Strumenti > Riferimenti abilitare Riferimenti – Progetto 1 finestra di dialogo, spuntare Libreria di oggetti di Microsoft Excel 16.0 e Libreria di oggetti di Microsoft Word 16.0 caselle di controllo. Clic OK.

URL estratto doc 1

URL estratto doc 1

4. Quindi posizionare il cursore all'interno del codice VBA, premere F5 tasto o fare clic Correre per eseguire il codice, ora viene visualizzata una cartella di lavoro e tutti gli URL sono stati estratti in essa, quindi puoi salvarla in una cartella.

URL estratto doc 1

Note:: tutti i VBA sopra estraggono tutti i tipi di collegamenti ipertestuali.


I migliori strumenti per la produttività in ufficio

Kutools for Outlook - Oltre 100 potenti funzionalità per potenziare il tuo Outlook

???? Automazione di posta elettronica: Fuori sede (disponibile per POP e IMAP)  /  Pianifica l'invio di e-mail  /  CC/BCC automatico in base alle regole durante l'invio di e-mail  /  Inoltro automatico (regole avanzate)   /  Aggiunta automatica di saluto   /  Suddividi automaticamente le email con più destinatari in singoli messaggi ...

📨 gestione e-mail: Richiama facilmente le email  /  Blocca le email truffe per soggetto e altri  /  Elimina email duplicate  /  Ricerca avanzata  /  Consolidare cartelle ...

📁 Allegati ProSalvataggio in batch  /  Stacca batch  /  Comprimi in lotti  /  Salvataggio automatico   /  Scollegamento automatico  /  Comprimi automaticamente ...

🌟 Magia dell'interfaccia: 😊Più emoji carini e fantastici   /  Aumenta la tua produttività in Outlook con le visualizzazioni a schede  /  Riduci a icona Outlook invece di chiuderlo ...

👍 Meraviglie con un clic: Rispondi a tutti con gli allegati in arrivo  /   E-mail anti-phishing  /  🕘Mostra il fuso orario del mittente ...

👩🏼‍🤝‍👩🏻 Contatti e calendario: Aggiungi in batch contatti dalle email selezionate  /  Dividere un gruppo di contatti in singoli gruppi  /  Rimuovi promemoria compleanno ...

Al di sopra Caratteristiche 100 Attendi la tua esplorazione! Clicca qui per scoprire di più.

Leggi Ora       Scarica gratis      Acquista
 

 

Comments (0)
No ratings yet. Be the first to rate!
There are no comments posted here yet
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations