Outlook: як витягти всі URL-адреси з однієї електронної пошти
Якщо електронний лист містить сотні URL-адрес, які потрібно витягти в текстовий файл, копіювати та вставляти їх одну за одною буде виснажлива робота. У цьому підручнику представлені VBA, які можуть швидко витягувати всі URL-адреси з електронного листа.
VBA для вилучення URL-адрес з однієї електронної пошти в текстовий файл
VBA для вилучення URL-адрес із кількох електронних листів у файл Excel
- Автоматизуйте надсилання електронних листів за допомогою Авто CC / BCC, Автоматичне пересилання вперед за правилами; відправити Автовідповідь (Поза офісом) без необхідності сервера обміну...
- Отримуйте нагадування як Попередження BCC коли ви відповідаєте всім, поки ви перебуваєте в списку прихованих копій, і Нагадати про відсутність вкладень за забуті вкладення...
- Підвищте ефективність електронної пошти за допомогою Відповісти (всім) із вкладеннями, Автоматичне додавання привітання або дати й часу до підпису чи теми, Відповісти на кілька електронних листів...
- Оптимізація електронної пошти за допомогою Відкликати електронні листи, Інструменти кріплення (Стиснути все, автоматично зберегти все...), Видалити дублікати та Швидкий звіт...
VBA для вилучення URL-адрес з однієї електронної пошти в текстовий файл
1. Виберіть електронний лист, для якого потрібно отримати URL-адреси, і натисніть інший + F11 клавіші для ввімкнення Microsoft Visual Basic для додатків вікна.
2. клацання Insert > Модулі щоб створити новий порожній модуль, потім скопіюйте та вставте код нижче в модуль.
VBA: витягніть усі URL-адреси з однієї електронної пошти в текстовий файл.
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
У цьому коді він створить новий текстовий файл, який буде названо темою електронної пошти та поміщений у шлях: C:\Users\Public\Downloads, ви можете змінити його, як вам потрібно.
3. клацання Tools > посилання для того, щоб Список літератури – Проект 1 діалоговому вікні, поставте галочку Регулярні вирази Microsoft VBScript 5.5 прапорець. Клацніть OK.
4. прес F5 клавішу або клацніть прогін кнопку, щоб запустити код, тепер з’явиться текстовий файл, і всі URL-адреси витягнуто в нього.
примітки: якщо ви користуєтеся Outlook 2010 і Outlook 365, будь ласка, також поставте прапорець на кроці 3 біля опції Windows Script Host Object Model. Потім натисніть кнопку OK.
VBA для вилучення URL-адрес із кількох електронних листів у файл Excel
Якщо ви хочете отримати URL-адреси з кількох вибраних електронних листів у файл Excel, наведений нижче код VBA може допомогти вам.
1. Виберіть електронний лист, для якого потрібно отримати URL-адреси, і натисніть інший + F11 клавіші для ввімкнення Microsoft Visual Basic для додатків вікна.
2. клацання Insert > Модулі щоб створити новий порожній модуль, потім скопіюйте та вставте код нижче в модуль.
VBA: витягніть усі URL-адреси з кількох електронних листів у файл 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
У цьому коді він витягує всі гіперпосилання та відповідні відображення текстів і теми електронних листів.
3. клацання Tools > посилання для того, щоб Список літератури – Проект 1 діалогове вікно, галочка Бібліотека об’єктів Microsoft Excel 16.0 та Бібліотека об’єктів Microsoft Word 16.0 прапорці. Натисніть OK.
4. Потім помістіть курсор у код VBA, натисніть F5 клавішу або клацніть прогін кнопку, щоб запустити код, тепер з’явиться робоча книга і всі URL-адреси витягнуто в неї, а потім ви можете зберегти її в папці.
примітки: всі перераховані вище VBA витягують усі типи гіперпосилань.
Найкращі інструменти продуктивності офісу
Kutools для Outlook - Понад 100 потужних функцій, які покращать ваш Outlook
???? Автоматизація електронної пошти: Поза офісом (доступно для POP та IMAP) / Розклад надсилання електронних листів / Автоматична копія/прихована копія за правилами під час надсилання електронної пошти / Автоматичне пересилання (розширені правила) / Автоматично додавати привітання / Автоматично розділяйте електронні листи кількох одержувачів на окремі повідомлення ...
📨 Управління електронною поштою: Легко відкликайте електронні листи / Блокуйте шахрайські електронні листи за темами та іншими / Видалити повторювані електронні листи / розширений пошук / Консолідація папок ...
📁 Вкладення Pro: Пакетне збереження / Пакетне від'єднання / Пакетний компрес / Автозавантаження / Автоматичне від'єднання / Автокомпресія ...
???? Магія інтерфейсу: 😊Більше красивих і класних смайликів / Підвищте продуктивність Outlook за допомогою вкладок / Згорніть Outlook замість того, щоб закривати ...
👍 Дива в один клік: Відповісти всім із вхідними вкладеннями / Антифішингові електронні листи / 🕘Показувати часовий пояс відправника ...
👩🏼🤝👩🏻 Контакти та календар: Пакетне додавання контактів із вибраних електронних листів / Розділіть групу контактів на окремі групи / Видаліть нагадування про день народження ...
більше Особливості 100 Чекайте на ваше дослідження! Натисніть тут, щоб дізнатися більше.