كيف ترسل عدة مسودات مرة واحدة في Outlook؟
إذا كانت هناك مسودات رسائل متعددة في مجلد المسودات ، فأنت تريد الآن إرسالها مرة واحدة دون إرسالها واحدة تلو الأخرى. كيف يمكنك التعامل مع هذه الوظيفة بسرعة وسهولة في Outlook؟
أرسل جميع رسائل المسودات مرة واحدة في Outlook برمز VBA
أرسل جميع رسائل المسودات مرة واحدة في Outlook برمز VBA
يمكن أن تساعدك أكواد VBA التالية في إرسال جميع رسائل البريد الإلكتروني أو المسودات المحددة من مجلد المسودات في وقت واحد ، يرجى القيام بذلك على النحو التالي:
1. اضغط باستمرار على ALT + F11 مفاتيح لفتح ميكروسوفت فيسوال باسيك للتطبيقات نافذة.
2. ثم اضغط إدراج > وحدة، انسخ والصق الكود أدناه في الوحدة الفارغة المفتوحة ، انظر لقطة الشاشة:
كود فبا: أرسل كل مسودات رسائل البريد الإلكتروني مرة واحدة في Outlook:
Sub SendAllDraftEmails()
Dim xAccount As Account
Dim xDraftFld As Folder
Dim xItemCount As Integer
Dim xCount As Integer
Dim xDraftsItems As Outlook.Items
Dim xPromptStr As String
Dim xYesOrNo As Integer
Dim i As Long
Dim xCurFld As Folder
Dim xTmpFld As Folder
On Error Resume Next
xItemCount = 0
xCount = 0
Set xTmpFld = Nothing
Set xCurFld = Application.ActiveExplorer.CurrentFolder
For Each xAccount In Outlook.Application.Session.Accounts
Set xDraftFld = xAccount.DeliveryStore.GetDefaultFolder(olFolderDrafts)
xItemCount = xItemCount + xDraftFld.Items.Count
If xDraftFld.EntryID = xCurFld.EntryID Then
Set xTmpFld = xCurFld.Parent
End If
Next xAccount
Set xDraftFld = Nothing
If xItemCount > 0 Then
xPromptStr = "Are you sure to send out all the drafts?"
xYesOrNo = MsgBox(xPromptStr, vbQuestion + vbYesNo, "Kutools for Outlook")
If xYesOrNo = vbYes Then
If Not xTmpFld Is Nothing Then
Set Application.ActiveExplorer.CurrentFolder = xTmpFld
End If
VBA.DoEvents
For Each xAccount In Outlook.Application.Session.Accounts
Set xDraftFld = xAccount.DeliveryStore.GetDefaultFolder(olFolderDrafts)
Set xDraftsItems = xDraftFld.Items
For i = xDraftsItems.Count To 1 Step -1
If xDraftsItems.Item(i).Recipients.Count <> 0 Then
xDraftsItems.Item(i).sEnd
xCount = xCount + 1
End If
Next
Next xAccount
VBA.DoEvents
Set Application.ActiveExplorer.CurrentFolder = xCurFld
MsgBox "Successfully sent " & xCount & " messages", vbInformation, "Kutools for Outlook"
End If
Else
MsgBox "No Drafts!", vbInformation + vbOKOnly, "Kutools for Outlook"
End If
End Sub
3. ثم احفظ الرمز ، واضغط على F5 مفتاح لتشغيل هذا الرمز ، سيظهر مربع موجه لتذكيرك في حالة إرسال جميع المسودات ، انقر فوق نعم، انظر لقطة الشاشة:
4. وسيظهر مربع حوار لتذكيرك بعدد مسودات رسائل البريد الإلكتروني التي تم إرسالها ، انظر لقطة الشاشة:
5. ثم انقر فوق OK الزر ، جميع رسائل البريد الإلكتروني الموجودة في ملف مسودة سيتم إرسال المجلد مرة واحدة ، انظر الصورة:
الملاحظات:
1. سيرسل الكود أعلاه جميع مسودات رسائل البريد الإلكتروني من جميع الحسابات في Outlook الخاص بك.
2. إذا كنت ترغب فقط في إرسال بعض رسائل البريد الإلكتروني المحددة من مجلد المسودات ، فالرجاء تطبيق رمز فبا التالي:
كود فبا: أرسل رسائل بريد إلكتروني محددة من مجلد المسودات:
Sub SendSelectedDraftEmails()
Dim xSelection As Selection
Dim xPromptStr As String
Dim xYesOrNo As Integer
Dim i As Long
Dim xAccount As Account
Dim xCurFld As Folder
Dim xDraftsFld As Folder
Dim xTmpFld As Folder
Dim xArr() As String
Dim xCount As Integer
Dim xMail As MailItem
On Error Resume Next
xCount = 0
Set xTmpFld = Nothing
Set xCurFld = Application.ActiveExplorer.CurrentFolder
For Each xAccount In Outlook.Application.Session.Accounts
Set xDraftsFld = xAccount.DeliveryStore.GetDefaultFolder(olFolderDrafts)
If xDraftsFld.EntryID = xCurFld.EntryID Then
Set xTmpFld = xCurFld.Parent
End If
Next xAccount
If xTmpFld Is Nothing Then
MsgBox "The current folder is not a draft folder", vbInformation, "Kutools for Outlook"
Exit Sub
End If
Set xSelection = Outlook.Application.ActiveExplorer.Selection
If xSelection.Count > 0 Then
xPromptStr = "Are you sure to send out the selected " & xSelection.Count & " draft item(s)?"
xYesOrNo = MsgBox(xPromptStr, vbQuestion + vbYesNo, "Kutools for Outlook")
If xYesOrNo = vbYes Then
ReDim xArr(xSelection.Count - 1)
For i = 1 To xSelection.Count
xArr(i - 1) = xSelection.Item(i).EntryID
Next
Set Application.ActiveExplorer.CurrentFolder = xTmpFld
VBA.DoEvents
For i = 0 To UBound(xArr)
Set xMail = Application.Session.GetItemFromID(xArr(i))
If xMail.Recipients.Count <> 0 Then
xMail.sEnd
xCount = xCount + 1
End If
Next
VBA.DoEvents
Set Application.ActiveExplorer.CurrentFolder = xCurFld
MsgBox "Successfully sent " & xCount & " messages", vbInformation, "Kutools for Outlook"
End If
Else
MsgBox "No items selected!", vbInformation, "Kutools for Outlook"
End If
End Sub
مقالات ذات صلة:
كيفية إرسال بريد إلكتروني إلى عدة مستلمين بشكل فردي في Outlook؟
كيفية إرسال رسائل بريد إلكتروني جماعية مخصصة إلى قائمة من Excel عبر Outlook؟
كيفية إرسال تقويم إلى عدة مستلمين بشكل فردي في Outlook؟
كيفية إرسال بريد إلكتروني إلى عدة مستلمين دون علمهم في Outlook؟
أفضل أدوات إنتاجية المكتب
كوتولس لتوقعات - أكثر من 100 ميزة قوية لتعزيز توقعاتك
🤖 مساعد بريد الذكاء الاصطناعي: رسائل بريد إلكتروني احترافية فورية مع سحر الذكاء الاصطناعي - بنقرة واحدة للردود العبقرية، والنغمة المثالية، وإتقان متعدد اللغات. تحويل البريد الإلكتروني دون عناء! ...
📧 أتمتة البريد الإلكتروني: خارج المكتب (متوفر لـ POP وIMAP) / جدولة إرسال رسائل البريد الإلكتروني / نسخة تلقائية/نسخة مخفية الوجهة حسب القواعد عند إرسال البريد الإلكتروني / إعادة التوجيه التلقائي (القواعد المتقدمة) / إضافة تحية تلقائية / تقسيم رسائل البريد الإلكتروني متعددة المستلمين تلقائيًا إلى رسائل فردية
📨 إدارة البريد الإلكتروني: استدعاء رسائل البريد الإلكتروني بسهولة / حظر رسائل البريد الإلكتروني الاحتيالية حسب الموضوعات والآخرين / حذف رسائل البريد الإلكتروني المكررة / المزيد من خيارات البحث / توحيد المجلدات
📁 المرفقات برو: حفظ دفعة / فصل دفعة / ضغط دفعة / حفظ تلقائي / فصل تلقائي / ضغط تلقائي
؟؟؟؟ واجهة ماجيك: 😊 المزيد من الرموز التعبيرية الجميلة والرائعة / عزز إنتاجية Outlook الخاص بك باستخدام طرق العرض المبوبة / تصغير Outlook بدلاً من الإغلاق
؟؟؟؟ بنقرة واحدة عجائب: الرد على الكل بالمرفقات الواردة / رسائل البريد الإلكتروني لمكافحة التصيد / 🕘إظهار المنطقة الزمنية للمرسل
👩🏼🤝👩🏻 جهات الاتصال والتقويم: دفعة إضافة جهات الاتصال من رسائل البريد الإلكتروني المحددة / تقسيم مجموعة اتصال إلى مجموعات فردية / إزالة تذكير عيد ميلاد
على مدى ميزات 100 في انتظار الاستكشاف الخاص بك! انقر هنا لاكتشاف المزيد.