Note: The other languages of the website are Google-translated. Back to English

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 a schede e la navigazione in Office e semplifica notevolmente il lavoro ...
Kutools for Outlook: porta 100 potenti funzionalità avanzate a Microsoft Outlook
  • Auto CC / BCC dalle regole durante l'invio di e-mail; Avanzamento automatico Email multiple per regole; Risposta automatica senza server di scambio e più funzioni automatiche ...
  • Avviso BCC - mostra il messaggio quando provi a rispondere a tutti se il tuo indirizzo di posta è nella lista BCC; Ricorda quando mancano allegatie altre funzioni di promemoria ...
  • Rispondi (tutti) con tutti gli allegati nella conversazione di posta; Rispondi a molte email contemporaneamente; Aggiunta automatica di saluto quando rispondi; Aggiungi automaticamente data e ora all'oggetto ...
  • Strumenti per gli allegati: Scollegamento automatico, Comprimi tutto, Rinomina tutto, Salva tutto automaticamente ... Rapporto rapido, Conta le email selezionate, Rimuovi messaggi e contatti duplicati ...
  • Più di 100 funzioni avanzate lo faranno risolvi la maggior parte dei tuoi problemi in Outlook 2010-2019 e 365. Funzionalità complete Prova gratuita di 60 giorni.

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

URL estratto doc 1

3. Clic Strumenti > Referenze 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.


Kutools for Outlook: porta 100 funzionalità avanzate in Outlook e semplifica notevolmente il lavoro!

  • Auto CC / BCC dalle regole durante l'invio di e-mail; Avanzamento automatico Email multiple personalizzate; Risposta automatica senza server di scambio e più funzioni automatiche ...
  • Avviso BCC - mostra il messaggio quando provi a rispondere a tutti se il tuo indirizzo e-mail è nell'elenco BCC; Ricorda quando mancano allegatie altre funzioni di promemoria ...
  • Rispondi (tutti) con tutti gli allegati nella conversazione di posta; Rispondi a molte email in secondi; Aggiunta automatica di saluto quando rispondi; Aggiungi la data all'oggetto ...
  • Strumenti per gli allegati: gestisci tutti gli allegati in tutti i messaggi, Scollegamento automatico, Comprimi tutto, Rinomina tutto, Salva tutto... Rapporto rapido, Conta le email selezionate...
  • E-mail spazzatura potenti per abitudine; Rimuovi messaggi e contatti duplicati... Consentono di fare in modo più intelligente, veloce e migliore in Outlook.
girato kutools outlook scheda kutools 1180x121
girato kutools outlook kutools plus tab 1180x121
 
Commenti (0)
Ancora nessuna valutazione. Puoi essere il primo a votare!
Non ci sono ancora commenti pubblicati qui
Lasciate i vostri commenti
Pubblicazione come ospite
×
Valuta questo post:
0  Personaggi
Posizioni suggerite