ارسال ایمیل در اکسل می تواند بحث بسیار پرکاربردی باشد ، فرض کنید در جایی مشغول به کار هستید و روزانه و یا در زمانهای مختلف باید فایل خود را برای افراد مختلفی ارسال کنید ، برای این منظور بهتر است که همان زمان یک پشتیبانگیری از فایل اکسل هم انجام دهید.
موضوع این آموزش دقیقا همین است که بتوانید اولا از فایل خود پشتیبان گیری انجام دهید و همان فایل را بلافاصله برای افرادی که از قبل مشخص کرده اید ارسال کنید .
فهرست محتوا
نحوه ذخیره فایل و ارسال ایمیل در اکسل
انجام این کار چند مرحله دارد ، مرحله اول ذخیره کردن فایل است و مرحله دوم ارسال همان فایل که در ادامه انجام خواهیم داد.
ذخیره کردن فایل
برای ذخیره کردن فایل باید در نظر داشته باشید که نام فیال باید ترکیبی از نام فایل خود فایل و تاریخ و زمان جاری سیستم به همراه دقیقه و ثانیه باشد مانند تصویر زیر.
همچنین باید بررسی کنیم که اگر پوشه مورد نظر در مسیر دلخواه وجود نداشت با کدنویسی آن را ایجاد کنیم.
نکته مهم این است که برای ارسال ایمیل در اکسل نباید مسیری که برای ذخیره نظر می گیریم و یا نام خود فایل نباید حروف فارسی باشد .
ارسال ایمیل در اکسل
در مرحله قبل که کدهای آن را در ادامه خواهید دید فایل را ذخیره کردیم و حالا لازم است که فایل ذخیره شده را ارسال کنیم و برای این منظور هم باید آبجکت اوتلوک تعریف کنیم که در دوره کدنویسی VBA توضیح داده ایم .
همچنین باید در آدرس مشخصی از فایل اکسل ، آدرس ایمیل و سابجکت و متن ایمیل را داشته باشیم که در این مثال به ترتیب :
آدرس ایمیل در A1 شیت1
سابجکت یا موضوع ایمیل در A2 شیت 1
و در نهایت متن ایمیل هم در آدرس A3 در نظر گرفته شده است .
البته آدرسهای فوق قابل تغییر است و شاید بهتر باشد که در یک فایل دیگری باشد که در اینصورت در نظرات عنوان نمائید تا مطلب را آپدیت کنم.
اجرای دستورات در تمام فایلهای اکسل
ما نیاز داریم که امکانات ارسال ایمیل در اکسل در تمام فایلهای اکسل این کامپیوتر قابل اجرا باشد که در واقع باید از Personal Macro استفاده نمائیم که توضیح آن هم در دوره VBA داده شده است ودر ویدیو آموزشی هم مشاهده می کنید.
مراحل نهایی ارسال ایمیل در اکسل
حال که مراحل انجام کار را درک کرده اید کافیست از کدهای زیر همانطور که در ویدیو توضیح داده شد در Personal Macro استفاده نمائید.
Dim backupFolder As String Dim backupFileName As String Dim emailAddress As String Dim emailSubject As String Dim emailDescription As String emailAddress = Worksheets("Sheet1").Range("A1").Value emailSubject = Worksheets("Sheet1").Range("A2").Value emailDescription = Worksheets("Sheet1").Range("A3").Value 'مشخص کردن مسير ذخيره سازي backupFolder = "E:\Backup\" ' ساخت پوشه بکاپ در صورت عدم وجود If Dir(backupFolder, vbDirectory) = "" Then MkDir backupFolder End If 'اختاصاص تاريخ حاري سيستم به عنوان نام فايلي که قرار است ايميل شود backupFileName = ActiveWorkbook.Name & "-" & Format(Now(), "yyyymmdd-hhmmss") & ".xlsx" 'ذخيره کردن فايل در پوشه بکاپ جهت ارسال ThisWorkbook.SaveCopyAs backupFolder & backupFileName Dim strMsg As String Dim strMsg1 As String strMsg = "شما در حال ارسال ايميل فايل " & vbacrlf & vbCrLf & backupFileName & vbCrLf & vbCrLf & " به آدرس ايميل " & vbCrLf & vbCrLf & emailAddress & vbCrLf & vbCrLf & "هستيد ، آيا ادامه مي دهيد ؟ " strMsg1 = " فايل شما با نام " & vbCrLf & vbCrLf & backupFileName & vbCrLf & vbCrLf & "ذخيره شد ولي ارسال صورت نگرفت" Select Case MsgBox(strMsg, vbYesNo Or vbQuestion Or vbMsgBoxRight Or vbSystemModal Or vbMsgBoxSetForeground, "Officebaz") Case vbYes Dim outlookapp As Object Dim outlookMail As Object Set outlookapp = CreateObject("Outlook.Application") Set outlookMail = outlookapp.CreateItem(0) With outlookMail .To = emailAddress .Subject = emailSubject .body = emailDescription .attachments.Add backupFolder & backupFileName .display End With Case vbNo MsgBox strMsg1, vbMsgBoxRight + vbInformation, "Officebaz.ir" End Select
پیشنهاد آپدیت ارسال ایمیل در اکسل
بدیهی است که این فایل هنوز جای کار دارد و در قسمکت نظرات منتظر پیشنهادات ارزشمند شما عزیزان در راستای رفع اشکال و آپدیت کدهای بالا و روند انجام کار هستیم .