في ما يلي المشاكل الشائعة التي قد تواجهها عند تحويل رمز VBA إلى Apps Script باستخدام "محوِّل الماكرو".
الطباعة
يتم تلقائيًا تحويل واجهات برمجة التطبيقات في VBA التي تُطبع الملفات إلى Apps Script، ولكن قد تختلف سلوكها عن واجهة برمجة التطبيقات الأصلية في VBA. وفي ما يلي مثالان على ذلك:
واجهة برمجة تطبيقات VBA | السلوك في برمجة التطبيقات |
---|---|
PrintOut | يتم التحويل إلى Apps Script، ولكن تُطبِّع واجهة برمجة التطبيقات Apps Script ملفًا بدلاً من الطابعة. يمكنك طباعة ملف PDF يدويًا. |
PrintToFile | يتم تحويلها إلى "برمجة تطبيقات Google". يتم حفظ ملف PDF في مجلد "ملفاتي". |
العناصر التي لم يتم تحويلها
لا يتم تحويل الميزات التالية باستخدام محوّل ماكرو ويجب تحويلها يدويًا:
- بعض أنواع العوامل المشغِّلة
- Userforms
- أنواع النطاقات المُعنوَنة غير المتوافقة
العوامل التي تؤدي إلى الظهور
لا يُحوّل "محوِّل وحدات الماكرو" نوعَين من عوامل التفعيل، وهما اختصارات لوحة المفاتيح وبعض عوامل التفعيل المستندة إلى الأحداث. في كثير من الحالات، يمكنك إنشاء هذه المشغلات يدويًا.
اختصارات لوحة المفاتيح
لإضافة اختصارات لوحة المفاتيح، اتّبِع الخطوات اللازمة لاستيراد الدوالّ كملفات ملفات برمجية.
عوامل التشغيل المستندة إلى الأحداث
لا تتوفّر معادلات لبعض الأحداث من رمز VBA، مثل BeforeClose
أو BeforeSave
، في Apps Script، ولكن قد تتمكّن من إنشاء حل بديل.
بالنسبة إلى الأحداث مثل BeforeClose
، يمكنك إنشاء قائمة أو زر مخصّصَين للنقر عليهما
لتنفيذ الإجراء الذي يجب تنفيذه قبل إغلاق جدول البيانات.
نظرًا لأنّ "جداول بيانات Google" تحفظ تلقائيًا كل تعديل، لا يمكن تنفيذ حلول بديلة لأحداث مثل BeforeSave
.
نماذج المستخدمين
في لغة VBA، UserForm هي نافذة أو مربّع حوار في واجهة مستخدم التطبيق. لا يحوِّل "محوِّل النماذج المخصّصة" نماذج المستخدمين. يمكنك إنشاؤها يدويًا في "برمجة تطبيقات Google".
إنشاء مربّع حوار نموذج مستخدم
- على الكمبيوتر، افتح الملف المحوَّل في جداول بيانات Google.
- في أعلى الصفحة، انقر على الإضافات > ** برمجة التطبيقات**.
- على يمين المحرِّر بجانب "الملفات"، انقر على رمز إضافة ملف > HTML. ننصحك بمنح ملف HTML الاسم نفسه الذي يحمله نموذج مستخدم VBA الأصلي.
- أضِف الحقول والمعلومات التي تريد أن تظهر في النموذج. تعرَّف على المزيد من المعلومات حول نماذج HTML على W3school.com.
- على يمين الصفحة، انقر على ملف Apps Script (ملف GS) الذي يحتوي على الرمز المُحوَّل.
- إذا كان لديك عامل تشغيل
onOpen()
في رمزك، يجب تعديله باستخدام الرمز أدناه. إذا لم يكن لديك عامل التشغيلonOpen()
في الرمز، أضِف الرمز أدناه.function onOpen() { SpreadsheetApp.getUi() .createMenu('User Form') .addItem('Show Form', 'showForm') .addToUi(); } function showForm() { var html = HtmlService.createHtmlOutputFromFile('userform_module_name') .setWidth(100) .setTitle('Sign-up for Email Updates'); SpreadsheetApp.getUi().showSidebar(html); }
- استبدِل
userform_module_name
باسم ملف HTML الذي أضفته. - في أعلى الصفحة، انقر على رمز حفظ المشروع .
- انتقِل إلى "جداول بيانات Google" وأعِد تحميل الصفحة.
- في أعلى "جدول بيانات Google"، انقر على نموذج المستخدم > عرض النموذج.
النطاقات المُعنوَنة
في Excel، النطاقات المُعنوَنة هي أسماء تُعطى لخلية واحدة أو نطاق من الخلايا.
عند تحويل ملف Excel إلى "جداول بيانات Google"، لن يتم تحويل بعض أنواع النطاقات المُسمّاة لأنّها غير متوافقة. في ما يلي مثالان:
النطاقات المُعنوَنة غير المتوافقة | الوصف |
---|---|
الجداول | لا تتوفّر هذه الميزة في "جداول بيانات Google"، ولكن هناك حل بديل.
لإعادة إنشاء هذا النطاق المُعنوَن في "جداول بيانات Google"، أضِف نطاقًا مُعنوَنًا يشير إلى رمز A1 لنطاق الجدول. استخدِم الاسم نفسه للسلسلة الأصلية المُسمّاة في رمز VBA حتى يتعرّف عليه الرمز المحوَّل. |
قائمة النطاقات | غير متاح في "جداول بيانات Google". ليس هناك حل بديل. |
مقالات ذات صلة
- نظرة عامة على إضافة "محوِّل وحدات الماكرو"
- تحديد ما إذا كانت وحدات الماكرو في VBA متوافقة
- تحويل وحدات ماكرو Visual Basic for Applications (VBA) إلى "برمجة تطبيقات Google"
- إصلاح الأخطاء في الرمز الذي تم تحويله
- مشاهدة الأدلة التعليمية حول أداة Macro Converter
- قائمة واجهات برمجة التطبيقات المتوافقة مع VBA