Gå til hovedindhold

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

Office-faneblad - Aktiver fanebaseret redigering og browsing i Microsoft Office, hvilket gør arbejdet til en leg
Kutools til Outlook - Boost Outlook med 100+ avancerede funktioner for overlegen effektivitet
Boost din Outlook 2021 - 2010 eller Outlook 365 med disse avancerede funktioner. Nyd en omfattende 60-dages gratis prøveperiode og løft din e-mail-oplevelse!

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øjer > 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øjer > Referencer at muliggøre Referencer – Projekt 1 dialog, sæt kryds Microsoft Excel 16.0 Objektbibliotek , 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.


Bedste kontorproduktivitetsværktøjer

Kutools til Outlook - Over 100 kraftfulde funktioner til at superlade din Outlook

🤖 AI Mail Assistant: Øjeblikkelige pro-e-mails med AI-magi – et klik for geniale svar, perfekt tone, flersproget beherskelse. Forvandl e-mailing ubesværet! ...

📧 Email Automation: Ikke til stede (tilgængelig til POP og IMAP)  /  Planlæg Send e-mails  /  Auto CC/BCC efter regler ved afsendelse af e-mail  /  Automatisk videresendelse (avancerede regler)   /  Tilføj automatisk hilsen   /  Opdel automatisk e-mails med flere modtagere i individuelle meddelelser ...

📨 Email Management: Genkald nemt e-mails  /  Bloker svindel-e-mails af emner og andre  /  Slet duplikerede e-mails  /  Avanceret søgning  /  Konsolider mapper ...

📁 Vedhæftede filer ProBatch Gem  /  Batch adskilles  /  Batch komprimere  /  Automatisk gem   /  Automatisk afmontering  /  Automatisk komprimering ...

🌟 Interface Magic: 😊 Flere smukke og seje emojis   /  Boost din Outlook-produktivitet med fanebaserede visninger  /  Minimer Outlook i stedet for at lukke ...

👍 Wonders med et enkelt klik: Besvar alle med indgående vedhæftede filer  /   Anti-phishing e-mails  /  🕘Vis afsenderens tidszone ...

👩🏼‍🤝‍👩🏻 Kontakter og kalender: Batch Tilføj kontakter fra udvalgte e-mails  /  Opdel en kontaktgruppe til individuelle grupper  /  Fjern fødselsdagspåmindelser ...

Over 100 Features Afvent din udforskning! Klik her for at finde mere.

Læs mere       Gratis download      Køb
 

 

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