العمل مع وحدات ماكرو VBA في مستندات Word باستخدام Python

Visual Basic for Applications (VBA) هي لغة برمجة قوية تتيح لك أتمتة المهام في مستندات Word. علاوة على ذلك ، يمكنك إجراء مهام متكررة باستخدام وحدات ماكرو VBA بسهولة تامة. في هذه المقالة ، ستتعلم كيفية العمل مع مشاريع ووحدات VBA في مستندات MS Word. على وجه الخصوص ، ستغطي المقالة كيفية إنشاء وتعديل واستنساخ وحدات ماكرو VBA برمجيًا في Python.

مكتبة Python للعمل مع وحدات ماكرو MS Word VBA

للعمل مع وحدات ماكرو VBA في ملفات Word ، سنستخدم Aspose.Words for Python. إنها مكتبة قوية لإنشاء مستندات Word ومعالجتها من داخل تطبيقات Python. يمكنك تثبيت المكتبة في تطبيقك من PyPI باستخدام أمر pip التالي.

pip install aspose-words

قم بإنشاء VBA Macro في مستند MS Word في Python

فيما يلي خطوات إنشاء ماكرو VBA في ملف MS Word DOCM باستخدام Python.

  • قم بتحميل مستند Word أو إنشاء مستند جديد باستخدام فئة المستند.
  • قم بإنشاء كائن من فئة VbaProject.
  • قم بتعيين اسم المشروع باستخدام خاصية VbaProject.name.
  • قم بتعيين المشروع إلى خاصية Document.vbaproject.
  • قم بإنشاء كائن من فئة VbaModule.
  • قم بتعيين اسم ونوع الوحدة النمطية باستخدام خصائص VbaModule.name و VbaModule.type ، على التوالي.
  • قم بتعيين شفرة المصدر باستخدام خاصية VbaModule.sourcecode.
  • أضف وحدة نمطية إلى مشروع VBA للمستند باستخدام أسلوب Document.vbaproject.modules.add (VbaModule).
  • احفظ المستند باستخدام طريقة Document.save().

يوضح نموذج التعليمات البرمجية التالي كيفية إنشاء ماكرو VBA في مستند DOCM باستخدام Python.

import aspose.words as aw

# تحميل مستند Word.
doc = aw.Document("document.docm")

# إنشاء مشروع VBA
project = aw.vba.VbaProject()
project.name = "AsposeProject"
doc.vba_project = project

# إنشاء وحدة نمطية جديدة وتحديد شفرة مصدر الماكرو.
module = aw.vba.VbaModule()
module.name = "AsposeModule"
module.type = aw.vba.VbaModuleType.PROCEDURAL_MODULE
module.source_code = "New source code"

# أضف وحدة إلى مشروع VBA.
doc.vba_project.modules.add(module)

# احفظ المستند.
doc.save("create_vba_project.docm")

تعديل VBA Macro في مستند Word في Python

يمكنك أيضًا الوصول إلى وحدات ماكرو VBA وتعديلها في مستندات Word بسلاسة. توضح الخطوات التالية كيفية تحقيق ذلك باستخدام Aspose.Words for Python.

  • قم بتحميل مستند Word باستخدام فئة المستند.
  • احصل على مرجع من VbaProject في كائن باستخدام خاصية Document.vbaproject.
  • قم بالوصول إلى وحدة VBA المطلوبة باستخدام الفهرس وقم بتحديث كود المصدر الخاص بها باستخدام خاصية VbaProject.modules [int] .sourcecode.
  • احفظ المستند باستخدام طريقة Document.save().

يوضح نموذج التعليمات البرمجية التالي كيفية تعديل ماكرو MS Word VBA موجود باستخدام Python.

import aspose.words as aw

# تحميل مستند Word.
doc = aw.Document("document.docm")

# احصل على مرجع لمشروع VBA.
project = doc.vba_project

# تحديث كود المصدر.
newSourceCode = "Test change source code"
project.modules[0].source_code = newSourceCode
    
# احفظ المستند.
doc.save("modify_vba_macros.docm")

استنساخ VBA Macro في مستند Word باستخدام Python

في بعض الحالات ، قد تحتاج إلى استنساخ وحدة VBA أو مشروع VBA بأكمله من مستند Word إلى آخر. لتحقيق ذلك ، يتيح لك Aspose.Words for Python إنشاء نسخ مستنسخة بسهولة تامة. تغطي الأقسام التالية كيفية استنساخ وحدة نمطية لـ VBA أو مشروع VBA.

استنساخ وحدة VBA

فيما يلي خطوات إنشاء نسخة من وحدة VBA من مستند DOCM إلى آخر باستخدام Python.

  • قم بتحميل مستند Word المصدر باستخدام فئة المستند.
  • قم بتحميل مستند Word الوجهة باستخدام فئة المستند.
  • قم بإنشاء VbaProject لمستند Word الوجهة.
  • احصل على نسخة من وحدة VBA من مستند Word المصدر إلى كائن باستخدام أسلوب Document.vbaproject.modules.getbyname(string) .clone().
  • أضف الوحدة النمطية المستنسخة إلى المستند الوجهة باستخدام طريقة Document.vbaproject.modules.add (VbaModule).
  • احفظ المستند الوجهة باستخدام طريقة Document.save().

يوضح نموذج التعليمات البرمجية التالي كيفية استنساخ وحدة MS Word VBA في Python.

import aspose.words as aw

# تحميل مستند Word المصدر.
doc = aw.Document("document.docm")

# تحميل مستند Word الوجهة.
destDoc = aw.Document("dest_document.docm")
destDoc.vba_project = aw.vba.VbaProject() 

# وحدة استنساخ VBA.
copyModule = doc.vba_project.modules.get_by_name("Module1").clone()
destDoc.vba_project.modules.add(copyModule)

# احفظ المستند.
destDoc.save("clone_vba_module.docm")

استنساخ مشروع VBA

فيما يلي خطوات استنساخ مشروع MS Word VBA في Python.

  • قم بتحميل مستند Word المصدر باستخدام فئة المستند.
  • قم بتحميل مستند Word الوجهة باستخدام فئة المستند.
  • احصل على نسخة من مشروع VBA من المستند المصدر باستخدام أسلوب Document.vbaproject.clone() وأضفه إلى المستند الوجهة باستخدام خاصية Document.vbaproject.
  • احفظ المستند الوجهة باستخدام طريقة Document.save().

يوضح نموذج التعليمات البرمجية التالي كيفية استنساخ مشروع VBA من مستند Word إلى آخر في Python.

import aspose.words as aw

# تحميل مستند Word المصدر.
doc = aw.Document("document.docm")

# تحميل مستند Word الوجهة.
destDoc = aw.Document("dest_document.docm")

# مشروع استنساخ VBA.
destDoc.vba_project = doc.vba_project.clone() 

# احفظ المستند.
destDoc.save("clone_vba_module.docm")

احصل على ترخيص API مجاني

يمكنك الحصول على ترخيص مؤقت لاستخدام Aspose.Words مع Python بدون قيود تقييم.

استنتاج

في هذه المقالة ، تعلمت كيفية إنشاء وحدات ماكرو VBA في مستندات MS Word باستخدام Python. علاوة على ذلك ، لقد رأيت كيفية تعديل أو استنساخ وحدات أو مشاريع VBA الحالية برمجيًا. بالإضافة إلى ذلك ، يمكنك استكشاف ميزات أخرى لـ Aspose.Words لبايثون باستخدام التوثيق. في حال كان لديك أي أسئلة ، لا تتردد في إخبارنا عبر المنتدى.

أنظر أيضا

معلومات: إذا احتجت في أي وقت إلى الحصول على مستند Word من عرض تقديمي لـ PowerPoint ، فيمكنك استخدام محول Aspose Presentation to Word Document.