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
- Automatyzuj wysyłanie e-maili za pomocą Auto CC / BCC, Auto Forward według zasad; wysłać Automatyczna odpowiedź (Poza biurem) bez konieczności korzystania z serwera wymiany...
- Otrzymuj przypomnienia takie jak Ostrzeżenie BCC podczas odpowiadania wszystkim, gdy jesteś na liście BCC, oraz Przypomnij o braku załączników za zapomniane załączniki...
- Popraw wydajność poczty e-mail dzięki Odpowiedz (wszystkim) z załącznikami, Automatyczne dodawanie pozdrowień lub daty i godziny do podpisu lub tematu, Odpowiedz na wiele e-maili...
- Usprawnij wysyłanie e-maili za pomocą Przypomnij sobie e-maile, Narzędzia załączników (Kompresuj wszystko, automatycznie zapisuj wszystko...), Usuń duplikaty, Szybki raport...
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.
3. kliknij Tools > Referencje umożliwić Referencje – Projekt 1 okno dialogowe, zaznacz Wyrażenia regularne Microsoft VBScript 5.5 pole wyboru. Kliknij OK.
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.
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.
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.
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.
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 Pro: Zapisz 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.