في ما يلي المشاكل الشائعة التي قد تواجهها عند تحويل رمز VBA إلى "برمجة تطبيقات Google" باستخدام "أداة تحويل وحدات الماكرو".
الطباعة
يتم تلقائيًا تحويل واجهات برمجة التطبيقات VBA التي تطبع الملفات إلى "برمجة تطبيقات Google"، ولكن قد يختلف سلوكها عن سلوك واجهة برمجة التطبيقات VBA الأصلية. في ما يلي مثالان:
VBA API | السلوك في "برمجة التطبيقات" |
---|---|
PrintOut | يتم التحويل إلى Apps Script، ولكن يطبع Apps Script API إلى ملف بدلاً من الطابعة. يمكنك طباعة ملف PDF يدويًا. |
PrintToFile | يتم تحويلها إلى "برمجة تطبيقات Google". يتم حفظ ملف PDF في مجلد "ملفاتي". |
السلع التي لم يتمّ تحويلها
لا يتم تحويل الميزات التالية باستخدام "أداة تحويل وحدات الماكرو"، ويجب تحويلها يدويًا:
- بعض أنواع المشغّلات
- نماذج المستخدمين
- أنواع النطاقات المُعنوَنة غير المتوافقة
العوامل التي تؤدي إلى الظهور
لا يحوّل Macro Converter نوعَين من المشغّلات، وهما اختصارات لوحة المفاتيح وبعض المشغّلات المستندة إلى الأحداث. في كثير من الحالات، يمكنك إنشاء هذه المشغّلات يدويًا.
اختصارات لوحة المفاتيح
لإضافة اختصارات لوحة المفاتيح، اتّبِع الخطوات اللازمة لاستيراد الدوال كوحدات ماكرو.
المشغّلات المستندة إلى الأحداث
لا تتوفّر في "برمجة التطبيقات" مكافئات لبعض الأحداث من رمز VBA، مثل BeforeClose
أو BeforeSave
، ولكن قد تتمكّن من إيجاد حل بديل.
بالنسبة إلى أحداث مثل BeforeClose
، يمكنك إنشاء قائمة أو زر مخصّصَين للنقر عليهما
لتنفيذ الإجراء المطلوب قبل إغلاق جدول البيانات.
بما أنّ "جداول بيانات Google" تحفظ كل تعديل تلقائيًا، لا يمكن إيجاد حلول بديلة لأحداث مثل
BeforeSave
.
نماذج المستخدمين
في VBA، UserForm هي نافذة أو مربّع حوار في واجهة المستخدم (UI) لأحد التطبيقات. لا يحوّل Macro Converter نماذج UserForm. يمكنك إنشاء هذه الرموز يدويًا في Apps Script.
إنشاء مربّع حوار لنموذج مستخدم
- على الكمبيوتر، افتح الملف المحوّل في جداول بيانات Google.
- في أعلى الصفحة، انقر على الإضافات > ** Apps Script**.
- على يمين المحرّر بجانب "الملفات"، انقر على "إضافة ملف" > HTML. ننصحك بتسمية ملف HTML بالاسم نفسه الذي استخدمته في UserForm الأصلي في 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 متوافقة
- تحويل وحدات ماكرو VBA إلى "برمجة تطبيقات Google"
- حلّ الأخطاء في الرمز المحوَّل
- مشاهدة البرامج التعليمية الخاصة بأداة Macro Converter
- قائمة بواجهات برمجة التطبيقات المتوافقة مع VBA