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

Outlook: Sådan udtrækkes alle URL'er fra én e-mail

Hvis en e-mail indeholder hundredvis af URL'er, der skal udpakkes til en tekstfil, vil det være en kedelig opgave at kopiere og indsætte dem én efter én. Denne vejledning introducerer VBA'er, der hurtigt kan udtrække alle URL'er fra en e-mail.

VBA til at udtrække URL'er fra én e-mail til en tekstfil

VBA til at udtrække URL'er fra flere e-mails til en Excel-fil

Fanen Office - Aktiver redigering og browsing med faner i Office, og gør arbejdet meget nemmere ...
Kutools til Outlook - bringer 100 kraftige avancerede funktioner til Microsoft Outlook
  • Auto CC / BCC ved regler, når du sender e-mail; Automatisk videresendelse Flere e-mails efter regler; Auto svar uden udvekslingsserver og flere automatiske funktioner ...
  • BCC Advarsel - vis besked, når du prøver at besvare alle, hvis din e-mail-adresse er på BCC-listen; Påmind, når du mangler vedhæftede filer, og mere minder funktioner ...
  • Besvar (alle) med alle vedhæftede filer i mailsamtalen; Besvar mange e-mails på én gang; Tilføj automatisk hilsen når svar Tilføj automatisk dato og tid til emne ...
  • Vedhæftningsværktøjer: Automatisk afmontering, Komprimer alt, Omdøb alt, Gem alle automatisk ... Hurtig rapport, Tæl valgte mails, Fjern duplikerede mails og kontakter ...
  • Mere end 100 avancerede funktioner vil løse de fleste af dine problemer i Outlook 2010-2019 og 365. Fuld funktioner 60-dages gratis prøveperiode.

VBA til at udtrække URL'er fra én e-mail til en tekstfil

 

1. Vælg en e-mail, som du vil udpakke URL'erne, og tryk på andre + F11 taster for at aktivere Microsoft Visual Basic til applikationer vindue.

2. klik indsatte > Moduler for at oprette et nyt tomt modul, kopier og indsæt derefter nedenstående kode til modulet.

VBA: udtræk alle URL'er fra én e-mail til en tekstfil.

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

I denne kode vil den oprette en ny tekstfil, som er navngivet med e-mail-emnet og placeret i stien: C:\Brugere\Offentlige\Downloads, kan du ændre det efter behov.

doc ekstrakt url 1

3. klik Værktøj > Referencer at muliggøre Referencer – Projekt 1 dialogboks skal du markere Microsoft VBScript Regular Expressions 5.5 afkrydsningsfelt. Klik på OK.

doc ekstrakt url 1

doc ekstrakt url 1

4. Trykke F5 tast eller klik Kør knappen for at køre koden, nu popper en tekstfil ud, og alle URL'er er blevet udtrukket i den.

doc ekstrakt url 1

doc ekstrakt url 1

Bemærk: hvis du er brugere af Outlook 2010 og Outlook 365, skal du også markere afkrydsningsfeltet Windows Script Host Object Model i trin 3. Klik derefter på OK.


VBA til at udtrække URL'er fra flere e-mails til en Excel-fil

 

Hvis du vil udtrække URL'er fra flere udvalgte e-mails til en Excel-fil, kan nedenstående VBA-kode hjælpe dig.

1. Vælg en e-mail, som du vil udpakke URL'erne, og tryk på andre + F11 taster for at aktivere Microsoft Visual Basic til applikationer vindue.

2. klik indsatte > Moduler for at oprette et nyt tomt modul, kopier og indsæt derefter nedenstående kode til modulet.

VBA: Udtræk alle URL'er fra flere e-mails til en Excel-fil

'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

I denne kode udtrækker den alle hyperlinks og de tilsvarende displaytekster og e-mail-emner.

doc ekstrakt url 1

3. klik Værktøj > Referencer at muliggøre Referencer – Projekt 1 dialog, sæt kryds Microsoft Excel 16.0 Objektbibliotek og Microsoft Word 16.0-objektbibliotek afkrydsningsfelter. Klik OK.

doc ekstrakt url 1

doc ekstrakt url 1

4. Placer derefter markøren inden for VBA-koden, tryk på F5 tast eller klik Kør knappen for at køre koden, nu popper en projektmappe ud, og alle URL'er er blevet udtrukket i den, så kan du gemme den i en mappe.

doc ekstrakt url 1

Bemærk: alle ovenstående VBA'er uddrager alle typer hyperlinks.


Kutools til Outlook - bringer 100 avancerede funktioner til Outlook, og gør arbejdet meget nemmere!

  • Auto CC / BCC ved regler, når du sender e-mail; Automatisk videresendelse Flere e-mails efter brugerdefineret; Auto svar uden udvekslingsserver og flere automatiske funktioner ...
  • BCC Advarsel - vis besked, når du prøver at besvare alle hvis din e-mail-adresse er på BCC-listen; Påmind, når du mangler vedhæftede filer, og mere minder funktioner ...
  • Svar (alle) med alle vedhæftede filer i mailsamtalen; Besvar mange e-mails på få sekunder Tilføj automatisk hilsen når svar Tilføj dato til emne ...
  • Vedhæftningsværktøjer: Administrer alle vedhæftede filer i alle mails, Automatisk afmontering, Komprimer alle, Omdøb alt, Gem alle ... Hurtig rapport, Tæl valgte mails...
  • Kraftige uønskede e-mails efter skik; Fjern duplikerede mails og kontakter... Gør dig i stand til at gøre smartere, hurtigere og bedre i Outlook.
shot kutools outlook kutools fane 1180x121
shot kutools outlook kutools plus fane 1180x121
 
Sorter kommentarer efter
Kommentarer (0)
Ingen vurderinger endnu. Vær den første til at bedømme!
Der er endnu ingen kommentarer her
Efterlad dine kommentarer
Sender som gæst
×
Bedøm dette indlæg:
0  Tegn
Foreslåede steder