Note: The other languages of the website are Google-translated. Back to English

Outlook: Cách trích xuất tất cả các URL từ một email

Nếu một email chứa hàng trăm URL cần được trích xuất thành một tệp văn bản, thì việc sao chép và dán từng URL một sẽ là một công việc tẻ nhạt. Hướng dẫn này giới thiệu các VBA có thể nhanh chóng trích xuất tất cả các URL từ email.

VBA để trích xuất URL từ một email sang tệp văn bản

VBA để trích xuất URL từ nhiều email vào một tệp Excel

Tab Office - Cho phép Chỉnh sửa và Duyệt theo Tab trong Office và Giúp Công việc Dễ dàng hơn Nhiều ...
Kutools cho Outlook - Mang đến 100 tính năng nâng cao mạnh mẽ cho Microsoft Outlook
  • Auto CC / BCC bởi các quy tắc khi gửi email; Tự động chuyển tiếp Nhiều Email theo quy tắc; Tự động trả lời không có máy chủ trao đổi và các tính năng tự động khác ...
  • Cảnh báo BCC - hiển thị tin nhắn khi bạn cố gắng trả lời tất cả nếu địa chỉ mail của bạn có trong danh sách BCC; Nhắc nhở khi thiếu tệp đính kèmvà các tính năng nhắc nhở khác ...
  • Trả lời (Tất cả) Với Tất cả Tệp đính kèm trong cuộc trò chuyện qua thư; Trả lời nhiều email cùng một lúc; Tự động thêm lời chào khi trả lời; Tự động Thêm Ngày & Giờ vào chủ đề ...
  • Công cụ đính kèm: Tự động tách, Nén tất cả, Đổi tên tất cả, Tự động lưu tất cả ... Báo cáo nhanh, Đếm Thư đã Chọn, Xóa Thư và Địa chỉ Liên hệ Trùng lặp ...
  • Hơn 100 tính năng nâng cao sẽ giải quyết hầu hết các vấn đề của bạn trong Outlook 2010-2019 và 365. Có đầy đủ các tính năng dùng thử miễn phí 60 ngày.

VBA để trích xuất URL từ một email sang tệp văn bản

 

1. Chọn một email mà bạn muốn trích xuất các URL và nhấn Khác + F11 phím để kích hoạt Microsoft Visual Basic cho các ứng dụng cửa sổ.

2. nhấp chuột Chèn > Mô-đun để tạo một mô-đun trống mới, sau đó sao chép và dán mã bên dưới vào mô-đun.

VBA: trích xuất tất cả các URL từ một email thành một tệp văn bản.

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

Trong mã này, nó sẽ tạo một tệp văn bản mới được đặt tên với chủ đề email và được đặt trong đường dẫn: C: \ Users \ Public \ Downloads, bạn có thể thay đổi nó khi bạn cần.

doc giải nén url 1

3. nhấp chuột CÔNG CỤ > dự án để cho phép Tài liệu tham khảo - Đồ án 1 hộp thoại, đánh dấu vào Microsoft VBScript Biểu thức chính quy 5.5 hộp kiểm. Nhấp chuột OK.

doc giải nén url 1

doc giải nén url 1

4. nhấn F5 phím hoặc bấm chạy để chạy mã, bây giờ một tệp văn bản bật ra và tất cả các URL đã được trích xuất trong đó.

doc giải nén url 1

doc giải nén url 1

Chú thích: nếu bạn là người dùng Outlook 2010 và Outlook 365, vui lòng đánh dấu vào hộp kiểm Windows Script Host Object Model ở Bước 3. Sau đó bấm OK.


VBA để trích xuất URL từ nhiều email vào một tệp Excel

 

Nếu bạn muốn trích xuất URL từ nhiều email đã chọn sang tệp Excel, mã VBA dưới đây có thể giúp bạn.

1. Chọn một email mà bạn muốn trích xuất các URL và nhấn Khác + F11 phím để kích hoạt Microsoft Visual Basic cho các ứng dụng cửa sổ.

2. nhấp chuột Chèn > Mô-đun để tạo một mô-đun trống mới, sau đó sao chép và dán mã bên dưới vào mô-đun.

VBA: trích xuất tất cả các URL từ nhiều email vào một tệp 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

Trong mã này, nó trích xuất tất cả các siêu liên kết và các văn bản hiển thị tương ứng và các chủ đề email.

doc giải nén url 1

3. nhấp chuột CÔNG CỤ > dự án để cho phép Tài liệu tham khảo - Đồ án 1 hộp thoại, đánh dấu Thư viện đối tượng Microsoft Excel 16.0 Thư viện đối tượng Microsoft Word 16.0 hộp kiểm. Nhấp chuột OK.

doc giải nén url 1

doc giải nén url 1

4. Sau đó đặt con trỏ trong mã VBA, nhấn F5 phím hoặc bấm chạy để chạy mã, bây giờ một sổ làm việc bật ra và tất cả các URL đã được trích xuất trong đó, sau đó bạn có thể lưu nó vào một thư mục.

doc giải nén url 1

Chú thích: tất cả các VBA trên đều trích xuất tất cả các loại siêu liên kết.


Kutools cho Outlook - Cung cấp 100 Tính năng Nâng cao cho Outlook và Làm cho Công việc Dễ dàng hơn Nhiều!

  • Auto CC / BCC bởi các quy tắc khi gửi email; Tự động chuyển tiếp Nhiều Email theo tùy chỉnh; Tự động trả lời không có máy chủ trao đổi và các tính năng tự động khác ...
  • Cảnh báo BCC - hiển thị tin nhắn khi bạn cố gắng trả lời tất cả nếu địa chỉ thư của bạn có trong danh sách BCC; Nhắc nhở khi thiếu tệp đính kèmvà các tính năng nhắc nhở khác ...
  • Trả lời (Tất cả) Với Tất cả Tệp đính kèm trong cuộc trò chuyện qua thư; Trả lời nhiều email trong vài giây; Tự động thêm lời chào khi trả lời; Thêm Ngày vào chủ đề ...
  • Công cụ Tệp đính kèm: Quản lý Tất cả Tệp đính kèm trong Tất cả Thư, Tự động tách, Nén tất cả, Đổi tên tất cả, Lưu tất cả ... Báo cáo nhanh, Đếm thư đã chọnhữu ích. Cảm ơn !
  • Email rác mạnh mẽ Theo phong tục; Xóa thư và liên hệ trùng lặphữu ích. Cảm ơn ! Cho phép bạn làm việc thông minh hơn, nhanh hơn và tốt hơn trong Outlook.
shot kutools triển vọng tab kutools 1180x121
shot kutools triển vọng kutools plus tab 1180x121
 
Nhận xét (0)
Chưa có xếp hạng. Hãy là người đầu tiên xếp hạng!
Không có bình luận nào được đăng ở đây
Để lại ý kiến ​​của bạn
Đăng với tư cách khách
×
Đánh giá bài viết này:
0  Nhân vật
Các vị trí được đề xuất