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

Outlook: วิธีแยก URL ทั้งหมดจากอีเมลฉบับเดียว

หากอีเมลมี URL หลายร้อยรายการที่ต้องแยกออกเป็นไฟล์ข้อความ การคัดลอกและวางทีละรายการจะเป็นงานที่น่าเบื่อ บทช่วยสอนนี้จะแนะนำ VBA ที่สามารถดึง URL ทั้งหมดออกจากอีเมลได้อย่างรวดเร็ว

VBA เพื่อแยก URL จากอีเมลหนึ่งไปยังไฟล์ข้อความ

VBA เพื่อแยก URL จากอีเมลหลายฉบับไปยังไฟล์ Excel

แท็บ Office - เปิดใช้งานการแก้ไขและเรียกดูแบบแท็บใน Office และทำให้การทำงานง่ายขึ้นมาก ...
Kutools สำหรับ Outlook - นำ 100 คุณลักษณะขั้นสูงที่มีประสิทธิภาพมาสู่ Microsoft Outlook
  • CC อัตโนมัติ / BCC ตามกฎเมื่อส่งอีเมล ส่งต่ออัตโนมัติ อีเมลหลายฉบับตามกฎ ตอบอัตโนมัติ ไม่มีเซิร์ฟเวอร์แลกเปลี่ยนและคุณสมบัติอัตโนมัติอื่น ๆ ...
  • คำเตือน BCC - แสดงข้อความเมื่อคุณพยายามตอบกลับทั้งหมดหากที่อยู่อีเมลของคุณอยู่ในรายการ BCC เตือนเมื่อไม่มีไฟล์แนบและคุณสมบัติการเตือนอื่น ๆ ...
  • ตอบกลับ (ทั้งหมด) พร้อมไฟล์แนบทั้งหมด ในการสนทนาทางไปรษณีย์ ตอบอีเมลหลายฉบับพร้อมกัน เพิ่มคำทักทายอัตโนมัติ เมื่อตอบกลับ; เพิ่มวันที่และเวลาในหัวเรื่องโดยอัตโนมัติ ...
  • เครื่องมือแนบ: ถอดอัตโนมัติ, บีบอัดทั้งหมด, เปลี่ยนชื่อทั้งหมด, บันทึกอัตโนมัติทั้งหมด ... รายงานด่วน, นับเมลที่เลือก, ลบอีเมลและรายชื่อที่ซ้ำกัน ...
  • คุณสมบัติขั้นสูงมากกว่า 100 รายการจะ แก้ปัญหาส่วนใหญ่ของคุณ ใน Outlook 2010-2019 และ 365 ฟีเจอร์เต็มรูปแบบทดลองใช้ฟรี 60 วัน

VBA เพื่อแยก URL จากอีเมลหนึ่งไปยังไฟล์ข้อความ

 

1. เลือกอีเมลที่คุณต้องการแยก URL แล้วกด อื่น ๆ + F11 คีย์เพื่อเปิดใช้งาน Microsoft Visual Basic สำหรับแอปพลิเคชัน หน้าต่าง

2 คลิก สิ่งที่ใส่เข้าไป > โมดูล เพื่อสร้างโมดูลเปล่าใหม่ จากนั้นคัดลอกและวางโค้ดด้านล่างลงในโมดูล

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 คลิก เครื่องมือ > อ้างอิง การเปิดใช้งาน ข้อมูลอ้างอิง – โครงการ 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 โปรดทำเครื่องหมายที่ช่องทำเครื่องหมาย Windows Script Host Object Model ในขั้นตอนที่ 3 จากนั้นคลิก ตกลง


VBA เพื่อแยก URL จากอีเมลหลายฉบับไปยังไฟล์ Excel

 

ถ้าคุณต้องการแยก URL จากอีเมลที่เลือกหลายฉบับไปยังไฟล์ Excel โค้ด VBA ด้านล่างสามารถช่วยคุณได้

1. เลือกอีเมลที่คุณต้องการแยก URL แล้วกด อื่น ๆ + F11 คีย์เพื่อเปิดใช้งาน Microsoft Visual Basic สำหรับแอปพลิเคชัน หน้าต่าง

2 คลิก สิ่งที่ใส่เข้าไป > โมดูล เพื่อสร้างโมดูลเปล่าใหม่ จากนั้นคัดลอกและวางโค้ดด้านล่างลงในโมดูล

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 คลิก เครื่องมือ > อ้างอิง การเปิดใช้งาน ข้อมูลอ้างอิง – โครงการ 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 และทำให้การทำงานง่ายขึ้นมาก

  • CC อัตโนมัติ / BCC ตามกฎเมื่อส่งอีเมล ส่งต่ออัตโนมัติ อีเมลหลายฉบับโดยกำหนดเอง ตอบอัตโนมัติ ไม่มีเซิร์ฟเวอร์แลกเปลี่ยนและคุณสมบัติอัตโนมัติอื่น ๆ ...
  • คำเตือน BCC - แสดงข้อความเมื่อคุณพยายามตอบกลับทั้งหมด หากที่อยู่อีเมลของคุณอยู่ในรายการ BCC; เตือนเมื่อไม่มีไฟล์แนบและคุณสมบัติการเตือนอื่น ๆ ...
  • ตอบกลับ (ทั้งหมด) พร้อมไฟล์แนบทั้งหมดในการสนทนาทางไปรษณีย์; ตอบกลับอีเมลจำนวนมาก ในไม่กี่วินาที เพิ่มคำทักทายอัตโนมัติ เมื่อตอบกลับ; เพิ่มวันที่ในหัวเรื่อง ...
  • เครื่องมือแนบ: จัดการไฟล์แนบทั้งหมดในอีเมลทั้งหมด ถอดอัตโนมัติ, บีบอัดทั้งหมด, เปลี่ยนชื่อทั้งหมด, บันทึกทั้งหมด ... รายงานด่วน, นับอีเมลที่เลือก...
  • อีเมลขยะที่มีประสิทธิภาพ ตามธรรมเนียม; ลบอีเมลและผู้ติดต่อที่ซ้ำกัน... ช่วยให้คุณทำงานได้อย่างชาญฉลาดขึ้นเร็วขึ้นและดีขึ้นใน Outlook
shot kutools outlook แท็บ kutools 1180x121
shot kutools Outlook kutools plus แท็บ 1180x121
 
จัดเรียงความคิดเห็นโดย
ความคิดเห็น (0)
ยังไม่มีการให้คะแนน เป็นคนแรกที่ให้คะแนน!
มีความคิดเห็นยังไม่มีการโพสต์ที่นี่
แสดงความคิดเห็นของคุณ
โพสต์ในฐานะแขก
×
ให้คะแนนโพสต์นี้:
0  ตัวอักษร
สถานที่แนะนำ