مقالات و شروح
كيفية إرسال البريد الإلكتروني في Google Sheet باستخدام النصوص البرمجية من غوغل

كيفية إرسال البريد الإلكتروني في Google Sheet باستخدام النصوص البرمجية من غوغل

في : القراءات : 3004
اذا كنت احد مستخدمي خدمات غوغل مثل جداول البيانات فعلى الاغلب ستلاحظ ان هناك العديد المهام التي تتمنى لو يمكنك اتمتتها لتسهيل عملك , في هذا المقال سنعرض عليك الطريقة للقيام بذلك.
كيفية إرسال البريد الإلكتروني في Google Sheet باستخدام النصوص البرمجية من غوغل
تعد التعليمات البرمجية(النصوص البرمجية)(Scripts) من غوغل أداة فعالة يمكنك استخدامها لأتمتة أدوات إنتاجية غوغل مثل جداول البيانات ومحرر المستندات. كما ان القدرة على إرسال رسائل البريد الإلكتروني تلقائيا يجعلها أداة قوية جدا.









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








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




 

إعداد صفحتك لإرسال البريد الإلكتروني:




الخطوة الأولى في جعل النص البرمجي من غوغل(Google Script) يقوم بإرسال البريد عبر جداول بيانات غوغل(Google Sheets) تعد الضبط بشكل صحيح للصفحة التي تحتوي على جميع الأسماء وعناوين البريد الإلكتروني والرسائل لجميع الأشخاص الذين تريد إرسال البريد الإلكتروني لهم .







في هذا المثال، سأبدأ بجدول بيانات قمت بإعداده لاستيراد جميع المقالات المنشورة لهذا الشهر من غوغل Google Analytics تلقائيا. لقد قمت بإنشاء ورقة جميع المؤلفين التي تسجل المقالات المنشورة لكل مؤلف، والآن أريد أن أرسل الى كل مؤلف فردي رسالة بريد إلكتروني مع رصيدهم من المقالات المنشورة .









للبدء، أنشئ ورقة البريد الإلكتروني الخاصة بك عن طريق إضافة ورقة جديدة في جدول البيانات الحالي وندعوها مثلا إرسال رسائل البريد الإلكتروني.
screenshot 1 كيفية إرسال البريد الإلكتروني في Google Sheet باستخدام النصوص البرمجية من غوغل

في هذه الورقة الجديدة لإرسال رسائل البريد الإلكتروني، ستحتاج إلى إنشاء ترويسة. يمثل كل صف أو سطر في جدول البيانات هذا رسالة بريد إلكتروني فردية سيتم إرسالها. لذا في هذا المثال، قمت بإنشاء ورقة لاسم المستلم وعنوان البريد الإلكتروني الخاص به، وأجزاء من الرسالة التي سأقوم بجمعها معا داخل النص البرمجي.
screenshot 2 كيفية إرسال البريد الإلكتروني في Google Sheet باستخدام النصوص البرمجية من غوغل

يمكنك إنشاء بريد إلكتروني من أي حجم وهيكلية باستخدام الأعمدة لتجميع المعلومات الثابتة والديناميكية(المتغيرة) على حد سواء.
screenshot 3 كيفية إرسال البريد الإلكتروني في Google Sheet باستخدام النصوص البرمجية من غوغل

المعلومات الثابتة هي مجرد نص قمت بكتابته في الخلية. لن يتغير هذا من شهر لآخر. انها مجرد جزء من رسالة البريد الإلكتروني الذي يبقى دائما نفسه. ومع ذلك، بالنسبة إلى البيانات التي تريد تغييرها كل شهر، يمكنك إدراج وظائف ستستورد البيانات ذات الصلة من أية ورقة أخرى في جدول البيانات.
screenshot 4 كيفية إرسال البريد الإلكتروني في Google Sheet باستخدام النصوص البرمجية من غوغل

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







بعد الانتهاء من إنشاء الورقة، سيبدو الأمر كما يلي:
screenshot 5 كيفية إرسال البريد الإلكتروني في Google Sheet باستخدام النصوص البرمجية من غوغل

الآن بعد أن أصبحت صفحتك جاهزة والتي تضم جميع عنواين البريد الإلكتروني الفردية، حان الوقت أخيرا لكتابة النص البرمجي!





 

كتابة النص البرمجي للبريد الإلكتروني التلقائي:




لكتابة النص البرمجي، تحتاج إلى استخدام محرر النصوص البرمجية. ستجد محرر النصوص البرمجية ضمن قائمة أدوات وبالنقر عليه تفتح نافذة المحرر.
screenshot 6 كيفية إرسال البريد الإلكتروني في Google Sheet باستخدام النصوص البرمجية من غوغل

سيبدو محرر النصوص البرمجية بالشكل التالي. سوف نقوم بكتابة وظيفة جديدة(تابع جديد) في مربع النص على اليمين.
screenshot 7 كيفية إرسال البريد الإلكتروني في Google Sheet باستخدام النصوص البرمجية من غوغل

ما عليك سوى نسخ النص البرمجي أدناه ولصقه في منطقة النص البرمجي.

function sendArticleCountEmails() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
ss.setActiveSheet(ss.getSheetByName(Send-Emails));
var sheet = SpreadsheetApp.getActiveSheet();
var dataRange = sheet.getRange(A2:F4);
var data = dataRange.getValues();
for (i in data) {
var rowData = data[i];
var emailAddress = rowData[1];
var recipient = rowData[0];
var message1 = rowData[2];
var message2 = rowData[3];
var parameter2 = rowData[4];
var message3 = rowData[5];
var message = 'Dear ' + recipient + '،\n\n' + message1 + ' ' + message2 + ' ' + parameter2 + ' ' + message3;
var subject = 'Your article count for this month';
MailApp.sendEmail(emailAddress، subject، message);
}
}

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


 

شرح النص البرمجي سطر بسطر :




لكي تعمل هذه الوظيفة بشكل صحيح، يجب التأكد من أن الورقة التي يتم فيها تخزين جميع معلومات بريدك الإلكتروني هي في الواقع الورقة النشطة. وإلا لن يعمل ماتبقى من النص البرمجي. هذا هو ما يفعله هذين السطرين ل:
 
var ss = SpreadsheetApp.getActiveSpreadsheet();
ss.setActiveSheet(ss.getSheetByName(Send-Emails));

بعد ذلك، نحن بحاجة إلى استخراج كافة البيانات من تلك الورقة. فإن طريقة sheet.GetRange () ستقوم باستخراج المعلومات من أي مجال من الخلايا التي تقدمها ضمن اشارتي التنصيص. بعد ذلك، طريقة dataRange.getValues () تقوم فعليا باستخراج القيم وتخزينها في مصفوفة ثنائية الأبعاد تسمى البيانات.
 
var sheet = SpreadsheetApp.getActiveSheet();
var dataRange = sheet.getRange(A2:F4);
var data = dataRange.getValues();

الآن اصبح لدينا جميع البيانات مخزنة في مصفوفة، يمكننا المرور على عناصر المصفوفة باستخدام حلقة for والتي وظيفتها المرور على عناصر المصفوفة. كل عنصر من المصفوفة هو صف او سطر من الورقة ويحتوي على صفيف أحادي الأبعاد لعناصر العمود. يمكنك تحديد كل عمود باستخدام رقمه.
 
var rowData = data[i];
var emailAddress = rowData[1];
var recipient = rowData[0];
var message1 = rowData[2];
var message2 = rowData[3];
var parameter2 = rowData[4];
var message3 = rowData[5];

كما ترون أعلاه، سحبت عناصر السطر إلى مصفوفة أحادية البعد تسمى rowData. ثم أشير إلى العمود الثاني (للحصول على عنوان البريد الإلكتروني) من خلال الرجوع إلى rowData [1]، العنصر الثاني من المصفوفة (العنصر الأول من المصفوفة دائما صفر).







الخطوة التالية في هذه الوظيفة(التابع) هي تجميع كل أجزاء الرسائل التي تشكل نص الرسالة الإلكترونية. الشيء الجميل هنا هو أنه يمكنك فعلا إعطاء محتوى البريد الإلكتروني شكل جيد جدا باستخدام الحرف \ n، وهو يمثل سطر جديد. في ما يلي شكل تسلسل هيئة البريد الإلكتروني:
var message = 'Dear ' + recipient + '،\n\n' + message1 + ' ' + message2 + ' ' + parameter2 + ' ' + message3;

المحرف + يمثل أمر دمج للسلسلتين النصيتين. يمكنك وضع النص الثابت ضمن إشارتي تنصيص . لذلك يتم تجميع هذه الرسالة معا و وضع كلمة Dear أمام متغير المتلقي recipient (لاحظ Dear لديه مساحة).
بعد ذلك، يمكنك إضافة سطرين جديدين . بعدها إضافة جزء الرسالة الأول، ومسافة(مسطرة)، وجزء الرسالة الثاني، ومسافة(مسطرة)، والمتغير الذي سيتم إدراجه في الرسالة كل شهر، وأخيرا الجزء الأخير من الرسالة.
هل يمكن أن يكون للرسالة العديد من الأجزاء كما تريد، يمكنك ببساطة استخدام المزيد من الأعمدة لإنشاء الرسالة بأكملها من الاجزاء.






آخر سطرين من التعليمات البرمجية مجرد تعيين سطر الموضوع للبريد الإلكتروني (وهذا يمكن أن تشمل أيضا بيانات من جدول البيانات إذا أردت)، وأخيرا طريقة sendEmail() 
كيفية تفعيل/تشغيل النص البرمجي الخاص بك :
مرة أخرى في نافذة محرر النص البرمجي، قم بالبحث عن وظيفة onOpen. إذا كانت هناك وظيفة، سترى على الأرجح مجموعة من التعليمات البرمجية داخل الأقواس. انتقل إلى الجزء السفلي من هذا الرمز وأدرج الأسطر التالية:
var spreadsheet = SpreadsheetApp.getActive();
var menuItems = [
{name: 'Send Emails'، functionName: 'sendArticleCountEmails'}
];
spreadsheet.addMenu('Send Emails'، menuItems);

تأكد من كتابة الاسم الدقيق للتابع الذي قمنا بكتابه ضمن علامات اقتباس مفردة للمعامل functionName. سيؤدي ذلك إلى تحميل عنصر قائمة مخصص في الورقة في كل مرة تفتح فيها الورقة.
screenshot 8 كيفية إرسال البريد الإلكتروني في Google Sheet باستخدام النصوص البرمجية من غوغل

الآن، كلما قمت بفتح جدول البيانات الخاص بك على أساس شهري لمراجعة جميع البيانات الخاصة بك، كل ما عليك القيام به هو النقر على عنصر القائمة لإرسال رسائل البريد الإلكتروني. سيؤدي هذا إلى تشغيل وظيفتك الجديدة وإرسال جميع رسائل البريد الإلكتروني هذه لك. المهمة التي اعتادت ان تأخذ من وقتك عدة ساعات الآن تحتاج فقط نقرة واحدة من الماوس !





 

يمكن أن تساعدك النصوص البرمجية من غوغل في توفير الوقت:




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

آراء الزوار