Skip to main content

Outlook: كيفية استخراج جميع عناوين URL من بريد إلكتروني واحد

Author: Sun Last Modified: 2025-05-30

إذا كان البريد الإلكتروني يحتوي على مئات عناوين URL التي تحتاج إلى استخراجها إلى ملف نصي، فإن نسخها ولصقها واحدة تلو الأخرى سيكون مهمة شاقة. يقدم هذا البرنامج التعليمي VBAs التي يمكن أن تستخرج بسرعة جميع عناوين URL من بريد إلكتروني.

VBA لاستخراج عناوين URL من بريد إلكتروني واحد إلى ملف نصي

VBA لاستخراج عناوين URL من رسائل بريد إلكتروني متعددة إلى ملف Excel

Office Tab - تمكين التحرير والتصفح باستخدام الألسنة في Microsoft Office، مما يجعل العمل سهلاً كالنسيم
افتح النسخة المجانية من Kutools for Outlook الآن واستمتع بأكثر من 70 ميزة مع وصول غير محدود إلى الأبد
عزز Outlook 2024 - 2010 أو Outlook 365 بهذه الميزات المتقدمة. استمتع بأكثر من 70 ميزة قوية وارتقِ بتجربة بريدك الإلكتروني!

VBA لاستخراج عناوين URL من بريد إلكتروني واحد إلى ملف نصي

 

1. حدد البريد الإلكتروني الذي تريد استخراج عناوين URL منه، واضغط على مفاتيح Alt + F11 لتمكين نافذة Microsoft Visual Basic for Applications.

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، يمكنك تغييره حسب الحاجة.

steps on extracting all URLs from one email

3. انقر فوق أدوات > المراجع لتمكين مربع الحوار المراجع – المشروع 1، وضع علامة في خانة الاختيار Microsoft VBScript Regular Expressions 5.5. انقر فوق موافق.

steps on extracting all URLs from one email
steps on extracting all URLs from one email

4. اضغط على مفتاح F5 أو انقر فوق زر التشغيل لتشغيل الكود، الآن سيظهر ملف نصي وتكون جميع عناوين URL قد تم استخراجها فيه.

steps on extracting all URLs from one email
steps on extracting all URLs from one email

ملاحظة: إذا كنت أحد مستخدمي Outlook 2010 وOutlook 365، يرجى أيضًا وضع علامة في خانة اختيار Windows Script Host Object Model في الخطوة 3. ثم انقر فوق موافق.


VBA لاستخراج عناوين URL من رسائل بريد إلكتروني متعددة إلى ملف Excel

 

إذا كنت ترغب في استخراج عناوين URL من رسائل بريد إلكتروني متعددة محددة إلى ملف Excel، يمكن أن يساعدك الكود VBA أدناه.

1. حدد البريد الإلكتروني الذي تريد استخراج عناوين URL منه، واضغط على مفاتيح Alt + F11 لتمكين نافذة Microsoft Visual Basic for Applications.

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

في هذا الكود، يتم استخراج جميع الروابط التشعبية والنصوص المعروضة المقابلة لها ومواضيع البريد الإلكتروني.

steps on extracting all URLs from one email

3. انقر فوق أدوات > المراجع لتمكين مربع الحوار المراجع – المشروع 1، وضع علامة في خانات اختيار Microsoft Excel 16.0 Object Library و Microsoft Word 16.0 Object Library. انقر فوق موافق.

steps on extracting all URLs from one email
steps on extracting all URLs from one email

4. ثم ضع المؤشر داخل كود VBA، واضغط على مفتاح F5 أو انقر فوق زر التشغيل لتشغيل الكود، الآن سيظهر مصنف وتكون جميع عناوين URL قد تم استخراجها فيه، ثم يمكنك حفظه في مجلد.

steps on extracting all URLs from one email

ملاحظة: جميع VBAs أعلاه تستخرج جميع أنواع الروابط التشعبية.


أفضل أدوات الإنتاجية لمجموعة Office

خبر عاجل: أدوات Kutools لـ Outlook تطلق إصدارًا مجانيًا!

جرّب الآن الإصدار المجاني الجديد كليًا من أدوات Kutools لـ Outlook مع أكثر من70 ميزة مذهلة، متاحة لك مدى الحياة! انقر للتحميل الآن!

🤖 Kutools AI : يستخدم تقنية الذكاء الاصطناعي المتقدمة لإدارة البريد الإلكتروني بسهولة، بما في ذلك الرد، والتلخيص، والتحسين، والتوسيع، والترجمة، وكتابة الرسائل.

📧 أتمتة البريد الإلكتروني: الرد التلقائي (متوفر لـ POP وIMAP) / جدولة إرسال البريد / نسخة تلقائية/مخفية حسب القواعد عند الإرسال / التحويل التلقائي (قاعدة متقدمة) / إضافة التحية تلقائيًا / تقسيم رسائل البريد الإلكتروني متعددة المستلمين تلقائيًا إلى رسائل فردية ...

📨 إدارة البريد الإلكتروني: استدعاء البريد الإلكتروني / حظر رسائل الاحتيال حسب الموضوعات وغيرها / حذف الرسائل المكررة / البحث المتقدم / تنظيم المجلدات ...

📁 المرفقات الاحترافية: حفظ دفعي / فصل دفعي / ضغط دفعي / حفظ تلقائي / تفصيل تلقائي / ضغط تلقائي ...

🌟 سحر الواجهة: 😊 المزيد من الرموز التعبيرية الجميلة والرائعة / تنبيهك عند وصول رسائل هامة / تصغير Outlook بدلاً من الإغلاق ...

👍 ميزات بنقرة واحدة: الرد على الجميع مع المرفقات / رسائل البريد الإلكتروني المضادة للتصيد / 🕘 عرض المنطقة الزمنية للمرسل ...

👩🏼‍🤝‍👩🏻 جهات الاتصال والتقويم: إضافة جهات اتصال دفعة واحدة من الرسائل المحددة / تقسيم مجموعة جهات الاتصال إلى مجموعات فردية / إزالة تذكير عيد الميلاد ...

افتح أدوات Kutools لـ Outlook فورًا بنقرة واحدة. لا تنتظر، قم بالتحميل الآن وزد من إنتاجيتك!

kutools for outlook features1 kutools for outlook features2