Skip to main content

Kutools for Office — مجموعة واحدة. خمسة أدوات. أنجز المزيد.

كيفية تغيير التوقيع تلقائيًا بناءً على المستلمين في Outlook؟

Author Siluvia Last modified

افتراضيًا، يحتوي Outlook على وظيفة مضمنة تتيح للمستخدمين تغيير التوقيع تلقائيًا أثناء إرسال رسائل البريد الإلكتروني من خلال حسابات بريد إلكتروني مختلفة. لكن إلى جانب ذلك، سأوضح لك طريقة لتغيير التوقيع تلقائيًا بناءً على المستلمين المختلفين في حقل "إلى" في Outlook.

تغيير التوقيع بناءً على المستلمين تلقائيًا باستخدام كود VBA


تغيير التوقيع بناءً على المستلمين تلقائيًا باستخدام كود VBA

يرجى اتباع الخطوات أدناه لتطبيق توقيعات مختلفة على المستلمين المعنيين أثناء إرسال رسائل البريد الإلكتروني في Outlook.

1. أولاً، تحتاج إلى تعطيل ميزة إرفاق التوقيع تلقائيًا في Outlook. يرجى النقر فوق ملف > الخيارات لفتح نافذة خيارات Outlook.

2. في نافذة خيارات Outlook، حدد البريد في الجزء الأيسر، ثم انقر فوق زر التواقيع في قسم كتابة الرسائل. انظر الصورة:

using vba to change signature based on recipients automatically with code

3. في مربع الحوار التواقيع والورق، انتقل إلى قسم اختيار التوقيع الافتراضي تحت علامة التبويب توقيع البريد الإلكتروني، واختر حساب بريد إلكتروني من قائمة حساب البريد الإلكتروني المنسدلة، ثم اختر (لا شيء) من قوائم الاختيار الخاصة بالالرسائل الجديدة والردود/إعادة الإرسال. كرر هذه الخطوات حتى يتم ضبط جميع حسابات البريد الإلكتروني على (لا شيء). بعد ذلك، انقر فوق الزر موافق.

using vba to change signature based on recipients automatically with VBA code

ملاحظة: يمكنك أيضًا إنشاء التواقيع التي تحتاجها في مربع الحوار التواقيع والورق.

4. انقر فوق الزر موافق عند العودة إلى نافذة خيارات Outlook.

5. اضغط على مفتاحي Alt + F11 لفتح نافذة Microsoft Visual Basic for Applications.

6. في نافذة Microsoft Visual Basic for Applications، انقر نقرًا مزدوجًا على ThisOutlookSession في الجزء الأيسر لفتح نافذة الكود، ثم انسخ الكود التالي VBA في النافذة. انظر الصورة:

using vba to change signature based on recipients automatically with VBA code

كود VBA: تغيير التوقيع تلقائيًا بناءً على المستلمين في Outlook

Private Sub Application_ItemSend(ByVal Item As Object, Cancel As Boolean)
'Updated by ExtendOffice 2022/08/01
Dim xMailItem As MailItem
Dim xRecipients As Recipients
Dim xRecipient As Recipient
Dim xRcpAddress As String
Dim xSignatureFile, xSignaturePath As String
Dim xFSO As Scripting.FileSystemObject
Dim xDoc As Document
Dim xFindStr As String
On Error Resume Next
Set xFSO = New Scripting.FileSystemObject
If Item.Class <> olMail Then Exit Sub
Set xMailItem = Item
Set xRecipients = xMailItem.Recipients
xSignaturePath = CreateObject("WScript.Shell").SpecialFolders(5) + "\Microsoft\Signatures\"
For Each xRecipient In xRecipients
    If xRecipient.AddressEntry.AddressEntryUserType = olExchangeUserAddressEntry Then
        xRcpAddress = xRecipient.AddressEntry.GetExchangeUser.PrimarySmtpAddress
    Else
        xRcpAddress = xRecipient.AddressEntry.Address
    End If
    Select Case xRcpAddress
        Case "Email Address 1"
            xSignatureFile = xSignaturePath & "aaa.htm"
            Exit For
        Case "Email Address 2", "Email Address 3"
            xSignatureFile = xSignaturePath & "bbb.htm"
            Exit For
        Case "Email Address 4"
            xSignatureFile = xSignaturePath & "ccc.htm"
            Exit For
    End Select
Next
VBA.DoEvents
Set xDoc = xMailItem.GetInspector.WordEditor
xFindStr = "From: " & xMailItem.Recipients.Item(1).Name & " <" & xRcpAddress & ">"
If VBA.InStr(1, xMailItem.Body, xFindStr) <> 0 Then
    xDoc.Application.Selection.HomeKey Unit:=wdStory, Extend:=wdMove
    With xDoc.Application.Selection.Find
        .ClearFormatting
        .Text = xFindStr
        .Execute Forward:=True
    End With
    With xDoc.Application.Selection
        .MoveLeft wdCharacter, 2
        .InsertParagraphAfter
        .MoveDown Unit:=wdLine, Count:=1
    End With
Else
    With xDoc.Application.Selection
        .EndKey Unit:=wdStory, Extend:=wdMove
        .InsertParagraphAfter
        .MoveDown Unit:=wdLine, Count:=1
    End With
End If
xDoc.Application.Selection.InsertFile FileName:=xSignatureFile, Link:=False, Attachment:=False
End Sub

ملاحظات:

  • 1). في كود VBA، يرجى استبدال "عنوان البريد الإلكتروني 1/2/3/4" بعناوين البريد الإلكتروني المحددة للمستلمين.
  • 2). "aaa.htm", "bbb.htm" و "ccc.htm" هي التواقيع المحددة التي سيتم إرسالها إلى المستلمين المعنيين.
  • 3). في هذه الحالة، سيتم إرسال التوقيع "aaa" إلى "عنوان البريد الإلكتروني 1"، وسيتم إرسال التوقيع "bbb" إلى "عنوان البريد الإلكتروني 2" و"عنوان البريد الإلكتروني 3"، و"عنوان البريد الإلكتروني 4" مع توقيع "ccc". يرجى تغييرها بناءً على احتياجاتك.
  • 4). إذا كان هناك عدة مستلمين في البريد الإلكتروني، فإن الكود يأخذ فقط المستلم الأول في الاعتبار. في هذه الحالة، سيتلقى المستلمون الآخرون نفس التوقيع الذي تم إرساله إلى المستلم الأول.

7. ثم انقر فوق أدوات > مراجع للانتقال إلى مربع الحوار مراجع-المشروع. في مربع الحوار، يرجى تحديد كل من مكتبة كائنات Microsoft Word ومكتبة تشغيل البرامج النصية Microsoft، ثم انقر فوق الزر موافق، انظر الصورة:

using vba to change signature based on recipients automatically with VBA code

8. اضغط على مفتاحي Alt + Q لإغلاق نافذة Microsoft Visual Basic for Applications.

من الآن فصاعدًا، بعد كتابة رسالة بريد إلكتروني والنقر على زر الإرسال، سيتم إدراج التوقيع المقابل تلقائيًا في نهاية نص البريد الإلكتروني بناءً على عنوان البريد الإلكتروني للمستلم في حقل "إلى".


إدراج التاريخ الحالي تلقائيًا كتوقيع عند إرسال البريد الإلكتروني في Outlook:

إذا كنت تريد إدراج الطابع الزمني كتوقيع في نص البريد الإلكتروني أثناء إنشاء/الرد/إعادة توجيه بريد إلكتروني جديد في Outlook الخاص بك، يمكنك تمكين إضافة توقيع التاريخ عند إنشاء جديد، الرد وإعادة الإرسال خيار Kutools for Outlook لتحقيق ذلك. انظر الصورة:
قم بتنزيله وتجربته الآن (30-يوم تجريبي مجاني)

using vba to change signature based on recipients automatically with VBA code


أفضل أدوات تعزيز الإنتاجية في المكتب

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

جرب الإصدار الجديد كليًا من Kutools لـ Outlook مع أكثر من100 ميزة مذهلة! انقر لتنزيل الآن!

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

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

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

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

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

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

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

استخدم Kutools بلغتك المفضلة – يدعم الإنجليزية والإسبانية والألمانية والفرنسية والصينية وأكثر من40 لغة أخرى!

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

kutools for outlook features1 kutools for outlook features2

🚀 تنزيل بنقرة واحدة — احصل على جميع إضافات Office

موصى به بقوة: Kutools لـ Office (خمسة في واحد)

بنقرة واحدة يمكنك تنزيل خمسة برامج تثبيت مرة واحدة — Kutools لـ Excel وOutlook وWord وPowerPoint وOffice Tab Pro. انقر لتنزيل الآن!

  • سهولة بنقرة واحدة: قم بتنزيل جميع حزم التثبيت الخمسة دفعة واحدة.
  • 🚀 جاهز لأي مهمة في Office: ثبّت الإضافات التي تحتاجها وقتما تشاء.
  • 🧰 يتضمن: Kutools لـ Excel / Kutools لـ Outlook / Kutools لـ Word / Office Tab Pro / Kutools لـ PowerPoint