كيفية حفظ ورقة عمل كملف PDF وإرسالها كمرفق عبر البريد الإلكتروني باستخدام Outlook؟
في العمل اليومي، قد تواجه غالبًا مواقف تحتاج فيها إلى مشاركة ورقة عمل معينة مع الزملاء أو العملاء، ولكنك تريد التأكد من أن تنسيق الملف ثابت وآمن. إرسال ورقة عمل بصيغة ملف PDF عبر Outlook هو أمر شائع جدًا، خاصةً عند توثيق التقارير، إرسال الفواتير، أو مشاركة بيانات نهائية لا ينبغي تعديلها بسهولة. عادةً ما يتطلب هذا الأمر حفظ ورقة العمل يدويًا كملف PDF، فتح Outlook، كتابة البريد الإلكتروني، إرفاق ملف PDF، ثم الإرسال — وهو أمر ممل ويستغرق وقتًا طويلاً، خصوصًا إذا تم تكراره بشكل متكرر أو عند التعامل مع عدة أوراق عمل.
يوجهك هذا المقال خطوة بخطوة حول كيفية أتمتة عملية تحويل ورقة العمل إلى PDF وربطها مباشرة ببريد إلكتروني في Outlook من داخل Excel، مما يساعدك على توفير الكثير من الوقت وتجنب العمل اليدوي المتكرر. ستجد هنا حلًا باستخدام رمز VBA، بالإضافة إلى تفاصيل حول التشغيل، المزايا، سيناريوهات التطبيق، ونصائح عملية.
حفظ ورقة عمل كملف PDF وإرسالها كمرفق باستخدام رمز VBA
حفظ ورقة عمل كملف PDF وإرسالها كمرفق باستخدام رمز VBA
لتسريع عملية تصدير ورقة عمل Excel كملف PDF وإرسالها عبر البريد الإلكتروني باستخدام Outlook، يمكنك استخدام الرمز البرمجي VBA التالي. هذه الطريقة مفيدة بشكل خاص إذا كنت بحاجة إلى إرسال تقارير أو فواتير أو صور بيانات شخصية بشكل منتظم مباشرة من Excel، حيث تقوم بأتمتة جميع خطوات الحفظ والإرسال بالكامل.
قبل تطبيق هذه الطريقة، تأكد من تثبيت Microsoft Outlook وتعيينه كعميل البريد الافتراضي لديك. يعمل الكود بشكل أفضل عندما تكون الماكروهات مفعلة في بيئة Excel الخاصة بك.
1. افتح ورقة العمل التي تريد حفظها وإرسالها كملف PDF. اضغط على Alt + F11 في نفس الوقت لتشغيل محرر Microsoft Visual Basic for Applications (VBA).
2. في نافذة VBA، انتقل إلى القائمة وانقر فوق إدراج > وحدة. سيؤدي ذلك إلى إنشاء وحدة كود جديدة. بعد ذلك، قم بنسخ ولصق الرمز البرمجي VBA التالي في نافذة الكود الخاصة بالوحدة.
رمز VBA: حفظ ورقة عمل كملف PDF وإرسالها كمرفق
Sub Saveaspdfandsend()
Dim xSht As Worksheet
Dim xFileDlg As FileDialog
Dim xFolder As String
Dim xYesorNo As Integer
Dim xOutlookObj As Object
Dim xEmailObj As Object
Dim xUsedRng As Range
Set xSht = ActiveSheet
Set xFileDlg = Application.FileDialog(msoFileDialogFolderPicker)
If xFileDlg.Show = True Then
xFolder = xFileDlg.SelectedItems(1)
Else
MsgBox "You must specify a folder to save the PDF into." & vbCrLf & vbCrLf & "Press OK to exit this macro.", vbCritical, "Must Specify Destination Folder"
Exit Sub
End If
xFolder = xFolder + "\" + xSht.Name + ".pdf"
'Check if file already exist
If Len(Dir(xFolder)) > 0 Then
xYesorNo = MsgBox(xFolder & " already exists." & vbCrLf & vbCrLf & "Do you want to overwrite it?", _
vbYesNo + vbQuestion, "File Exists")
On Error Resume Next
If xYesorNo = vbYes Then
Kill xFolder
Else
MsgBox "if you don't overwrite the existing PDF, I can't continue." _
& vbCrLf & vbCrLf & "Press OK to exit this macro.", vbCritical, "Exiting Macro"
Exit Sub
End If
If Err.Number <> 0 Then
MsgBox "Unable to delete existing file. Please make sure the file is not open or write protected." _
& vbCrLf & vbCrLf & "Press OK to exit this macro.", vbCritical, "Unable to Delete File"
Exit Sub
End If
End If
Set xUsedRng = xSht.UsedRange
If Application.WorksheetFunction.CountA(xUsedRng.Cells) <> 0 Then
'Save as PDF file
xSht.ExportAsFixedFormat Type:=xlTypePDF, Filename:=xFolder, Quality:=xlQualityStandard
'Create Outlook email
Set xOutlookObj = CreateObject("Outlook.Application")
Set xEmailObj = xOutlookObj.CreateItem(0)
With xEmailObj
.Display
.To = ""
.CC = ""
.Subject = xSht.Name + ".pdf"
.Attachments.Add xFolder
If DisplayEmail = False Then
'.Send
End If
End With
Else
MsgBox "The active worksheet cannot be blank"
Exit Sub
End If
End Sub
3. بعد لصق الكود، اضغط على F5 أو انقر فوق تشغيل في محرر VBA لتنفيذ الماكرو. ستظهر نافذة اختيار المجلد. اختر المجلد المستهدف الذي سيتم فيه حفظ ملف PDF، ثم انقر فوق موافق للمتابعة.
ملاحظات ونصائح عملية:
4. بمجرد اكتمال العملية، سيتم إنشاء نافذة بريد إلكتروني جديدة في Outlook، مع إرفاق ملف PDF. يكون موضوع البريد معبأ مسبقًا باسم ورقة العمل ينتهي بـ ".pdf"؛ يمكنك تعديل محتوى البريد الإلكتروني، إضافة المستلمين، ثم إرساله حسب الحاجة. يقلل هذا الخطأ ويزيد من الكفاءة مقارنة بالإرفاق اليدوي.
هذه الطريقة المعتمدة على VBA هي الأكثر كفاءة عندما تحتاج بانتظام إلى توزيع أوراق عمل نهائية كمرفقات PDF وتقلل من الخطوات اليدوية المتكررة. تشمل قيودها الاعتماد على Outlook، عدم القدرة على معالجة أوراق متعددة دفعة واحدة، والحاجة إلى تمكين الماكروهات. بالنسبة للسير العمل الأكثر تعقيدًا مثل إرسال أوراق عمل متعددة دفعة واحدة أو المزيد من الأتمتة، يمكن التفكير في استخدام الوظائف الإضافية أو الميزات المدمجة في Excel.
حل بديل: إذا كانت الماكروهات VBA غير مناسبة لبيئتك، مثل عندما تكون الماكروهات مقيدة، يمكنك استخدام وظيفة Export أو Save As المدمجة في Excel يدويًا لحفظ ورقة العمل كملف PDF، ثم إرفاقها وإرسالها في Outlook. هذه الطريقة، رغم أنها تتطلب المزيد من الخطوات، إلا أنها متوفرة بشكل عام دون الحاجة إلى أذونات خاصة أو معرفة برمجية.
احفظ ورقة عمل أو أوراق عمل متعددة كملفات PDF منفصلة مرة واحدة:
يمكن لخاصية Split Workbook من Kutools for Excel مساعدتك بسهولة في حفظ ورقة عمل أو أوراق عمل متعددة كملفات PDF منفصلة مرة واحدة كما هو موضح في العرض التوضيحي أدناه. قم بتنزيل البرنامج وتجربته الآن! (30-day free trail)
مقالات ذات صلة:
- كيفية حفظ اسم ملف Excel مع ختم زمني؟
- كيفية استخدام وظيفة Save As لتجاوز الملفات الموجودة تلقائيًا في Excel؟
- كيفية حفظ أو تصدير أوراق متعددة/جميع الأوراق إلى ملفات CSV أو نصية منفصلة في Excel؟
- كيفية تعطيل أو عدم السماح بخيارات الحفظ والحفظ باسم في Excel؟
- كيفية تعطيل حفظ المصنف والسماح فقط بالحفظ باسم في Excel؟
أفضل أدوات زيادة الإنتاجية لمجموعة Office
عزز مهاراتك في Excel مع Kutools لـ Excel، وتمتع بكفاءة غير مسبوقة. يقدم Kutools لـ Excel أكثر من300 ميزة متقدمة لتعزيز الإنتاجية وتوفير وقت الحفظ. انقر هنا للحصول على الميزة التي تحتاجها أكثر...
Office Tab يجلب تجربة التبويبات إلى Office، ويجعل عملك أسهل بكثير
- فعّل تحرير وقراءة المستندات عبر التبويبات في Word وExcel وPowerPoint
- افتح وأنشئ مستندات متعددة في تبويبات جديدة ضمن نفس النافذة، بدلاً من فتحها في نوافذ جديدة.
- يمنحك زيادة إنتاجية تصل إلى50% ويوفر عليك مئات النقرات يومياً!