Przejdź do głównej zawartości

Outlook: jak wyodrębnić wszystkie adresy URL z jednego e-maila

Jeśli wiadomość e-mail zawiera setki adresów URL, które należy wyodrębnić do pliku tekstowego, kopiowanie i wklejanie ich jeden po drugim będzie żmudną pracą. Ten samouczek przedstawia VBA, które mogą szybko wyodrębnić wszystkie adresy URL z wiadomości e-mail.

VBA do wyodrębniania adresów URL z jednego e-maila do pliku tekstowego

VBA do wyodrębniania adresów URL z wielu wiadomości e-mail do pliku Excel

Karta Office — włącz edycję i przeglądanie na kartach w pakiecie Microsoft Office, dzięki czemu praca stanie się o wiele łatwiejsza
Kutools dla programu Outlook - Zwiększ wydajność programu Outlook dzięki ponad 100 zaawansowanym funkcjom zapewniającym najwyższą wydajność
Ulepsz swój program Outlook 2021–2010 lub Outlook 365 dzięki tym zaawansowanym funkcjom. Skorzystaj z kompleksowego, 60-dniowego bezpłatnego okresu próbnego i usprawnij korzystanie z poczty e-mail!

VBA do wyodrębniania adresów URL z jednego e-maila do pliku tekstowego

 

1. Wybierz wiadomość e-mail, do której chcesz wyodrębnić adresy URL, i naciśnij inny + F11 klucze do włączenia Microsoft Visual Basic for Applications okno.

2. kliknij wstawka > Moduł aby utworzyć nowy pusty moduł, a następnie skopiuj i wklej poniższy kod do modułu.

VBA: wyodrębnij wszystkie adresy URL z jednego e-maila do pliku tekstowego.

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

W tym kodzie utworzy nowy plik tekstowy, który zostanie nazwany tematem wiadomości e-mail i umieszczony w ścieżce: C:\Użytkownicy\Publiczne\Pobrane, możesz to zmienić według potrzeb.

URL wyodrębniania dokumentu 1

3. kliknij Tools > Referencje umożliwić Referencje – Projekt 1 okno dialogowe, zaznacz Wyrażenia regularne Microsoft VBScript 5.5 pole wyboru. Kliknij OK.

URL wyodrębniania dokumentu 1

URL wyodrębniania dokumentu 1

4. naciśnij F5 kliknij lub kliknij run przycisk do uruchomienia kodu, teraz wyskakuje plik tekstowy i wszystkie adresy URL zostały z niego wyodrębnione.

URL wyodrębniania dokumentu 1

URL wyodrębniania dokumentu 1

Note: jeśli jesteś użytkownikiem Outlook 2010 i Outlook 365, zaznacz również pole wyboru Windows Script Host Object Model w kroku 3. Następnie kliknij OK.


VBA do wyodrębniania adresów URL z wielu wiadomości e-mail do pliku Excel

 

Jeśli chcesz wyodrębnić adresy URL z wielu wybranych wiadomości e-mail do pliku Excel, poniższy kod VBA może ci pomóc.

1. Wybierz wiadomość e-mail, do której chcesz wyodrębnić adresy URL, i naciśnij inny + F11 klucze do włączenia Microsoft Visual Basic for Applications okno.

2. kliknij wstawka > Moduł aby utworzyć nowy pusty moduł, a następnie skopiuj i wklej poniższy kod do modułu.

VBA: wyodrębnij wszystkie adresy URL z wielu e-maili do pliku 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

W tym kodzie wyodrębnia wszystkie hiperłącza i odpowiadające im teksty wyświetlane oraz tematy wiadomości e-mail.

URL wyodrębniania dokumentu 1

3. kliknij Tools > Referencje umożliwić Referencje – Projekt 1 okno dialogowe, zaznacz Biblioteka obiektów Microsoft Excel 16.0 i Biblioteka obiektów programu Microsoft Word 16.0 pola wyboru. Kliknij OK.

URL wyodrębniania dokumentu 1

URL wyodrębniania dokumentu 1

4. Następnie umieść kursor w kodzie VBA, naciśnij F5 kliknij lub kliknij run przycisk, aby uruchomić kod, teraz wyskakuje skoroszyt i wszystkie adresy URL zostały z niego wyodrębnione, a następnie możesz zapisać go w folderze.

URL wyodrębniania dokumentu 1

Note: wszystkie powyższe VBA wyodrębniają wszystkie typy hiperłączy.


Najlepsze narzędzia biurowe

Kutools dla programu Outlook - Ponad 100 zaawansowanych funkcji, które usprawnią Twoje perspektywy

🤖 Asystent poczty AI: Natychmiastowe profesjonalne e-maile z magią AI — genialne odpowiedzi jednym kliknięciem, doskonały ton, biegła znajomość wielu języków. Zmień e-mailing bez wysiłku! ...

📧 Automatyzacja poczty e-mail: Poza biurem (dostępne dla POP i IMAP)  /  Zaplanuj wysyłanie wiadomości e-mail  /  Automatyczne CC/BCC według reguł podczas wysyłania wiadomości e-mail  /  Automatyczne przewijanie (Zasady zaawansowane)   /  Automatyczne dodawanie powitania   /  Automatycznie dziel wiadomości e-mail od wielu odbiorców na pojedyncze wiadomości ...

📨 Zarządzanie e-mail: Łatwe przywoływanie e-maili  /  Blokuj oszukańcze wiadomości e-mail według tematów i innych  /  Usuń zduplikowane wiadomości e-mail  /  Wiecej opcji  /  Konsoliduj foldery ...

📁 Załączniki ProZapisz zbiorczo  /  Odłącz partię  /  Kompresuj wsadowo  /  Automatyczne zapisywanie   /  Automatyczne odłączanie  /  Automatyczna kompresja ...

🌟 Magia interfejsu: 😊Więcej ładnych i fajnych emotikonów   /  Zwiększ produktywność programu Outlook dzięki widokom na kartach  /  Zminimalizuj program Outlook zamiast go zamykać ...

>> Cuda jednym kliknięciem: Odpowiedz wszystkim, dodając przychodzące załączniki  /   E-maile chroniące przed phishingiem  /  🕘Pokaż strefę czasową nadawcy ...

👩🏼‍🤝‍👩🏻 Kontakty i kalendarz: Grupowe dodawanie kontaktów z wybranych e-maili  /  Podziel grupę kontaktów na pojedyncze grupy  /  Usuń przypomnienia o urodzinach ...

O Cechy 100 Poczekaj na eksplorację! Kliknij tutaj, aby dowiedzieć się więcej.

 

 

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