Перейти до основного матеріалу

Outlook: як витягти всі URL-адреси з однієї електронної пошти

Якщо електронний лист містить сотні URL-адрес, які потрібно витягти в текстовий файл, копіювати та вставляти їх одну за одною буде виснажлива робота. У цьому підручнику представлені VBA, які можуть швидко витягувати всі URL-адреси з електронного листа.

VBA для вилучення URL-адрес з однієї електронної пошти в текстовий файл

VBA для вилучення URL-адрес із кількох електронних листів у файл Excel

Вкладка Office - увімкніть редагування та перегляд із вкладками в Microsoft Office, що полегшить роботу
Kutools для Outlook - покращте Outlook за допомогою 100+ розширених функцій для надзвичайної ефективності
Покращіть свій Outlook 2021 - 2010 або Outlook 365 за допомогою цих розширених функцій. Насолоджуйтесь повною 60-денною безкоштовною пробною версією та покращте роботу електронної пошти!

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, ви можете змінити його, як вам потрібно.

doc витяг URL-адреси 1

3. клацання Tools > посилання для того, щоб Список літератури – Проект 1 діалоговому вікні, поставте галочку Регулярні вирази Microsoft VBScript 5.5 прапорець. Клацніть OK.

doc витяг URL-адреси 1

doc витяг URL-адреси 1

4. прес F5 клавішу або клацніть прогін кнопку, щоб запустити код, тепер з’явиться текстовий файл, і всі URL-адреси витягнуто в нього.

doc витяг URL-адреси 1

doc витяг URL-адреси 1

примітки: якщо ви користуєтеся 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

У цьому коді він витягує всі гіперпосилання та відповідні відображення текстів і теми електронних листів.

doc витяг URL-адреси 1

3. клацання Tools > посилання для того, щоб Список літератури – Проект 1 діалогове вікно, галочка Бібліотека об’єктів Microsoft Excel 16.0 та Бібліотека об’єктів Microsoft Word 16.0 прапорці. Натисніть OK.

doc витяг URL-адреси 1

doc витяг URL-адреси 1

4. Потім помістіть курсор у код VBA, натисніть F5 клавішу або клацніть прогін кнопку, щоб запустити код, тепер з’явиться робоча книга і всі URL-адреси витягнуто в неї, а потім ви можете зберегти її в папці.

doc витяг URL-адреси 1

примітки: всі перераховані вище VBA витягують усі типи гіперпосилань.


Найкращі інструменти продуктивності офісу

Kutools для Outlook - Понад 100 потужних функцій, які покращать ваш Outlook

🤖 AI Mail Assistant: Миттєві професійні електронні листи з магією штучного інтелекту – геніальні відповіді одним клацанням, ідеальний тон, багатомовна майстерність. Трансформуйте електронну пошту без зусиль! ...

???? Автоматизація електронної пошти: Поза офісом (доступно для POP та IMAP)  /  Розклад надсилання електронних листів  /  Автоматична копія/прихована копія за правилами під час надсилання електронної пошти  /  Автоматичне пересилання (розширені правила)   /  Автоматично додавати привітання   /  Автоматично розділяйте електронні листи кількох одержувачів на окремі повідомлення ...

📨 Управління електронною поштою: Легко відкликайте електронні листи  /  Блокуйте шахрайські електронні листи за темами та іншими  /  Видалити повторювані електронні листи  /  розширений пошук  /  Консолідація папок ...

📁 Вкладення ProПакетне збереження  /  Пакетне від'єднання  /  Пакетний компрес  /  Автозавантаження   /  Автоматичне від'єднання  /  Автокомпресія ...

???? Магія інтерфейсу: 😊Більше красивих і класних смайликів   /  Підвищте продуктивність Outlook за допомогою вкладок  /  Згорніть Outlook замість того, щоб закривати ...

👍 Дива в один клік: Відповісти всім із вхідними вкладеннями  /   Антифішингові електронні листи  /  🕘Показувати часовий пояс відправника ...

👩🏼‍🤝‍👩🏻 Контакти та календар: Пакетне додавання контактів із вибраних електронних листів  /  Розділіть групу контактів на окремі групи  /  Видаліть нагадування про день народження ...

більше Особливості 100 Чекайте на ваше дослідження! Натисніть тут, щоб дізнатися більше.

 

 

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