العرض عبر VBA
Contents
[
Hide
]
ملاحظة
عند تحويل عرض يحتوي على ماكروز إلى تنسيق ملف مختلف (PDF، HTML، إلخ)، تتجاهل Aspose.Slides جميع الماكروز (لا تُنقل الماكروز إلى الملف الناتج).
عند إضافة ماكروز إلى عرض أو إعادة حفظ عرض يحتوي على ماكروز، تقوم Aspose.Slides ببساطة بكتابة بيانت الماكروز.
لا تقوم Aspose.Slides أبدًا بتشغيل الماكروز في العرض.
إضافة ماكروس VBA
توفر Aspose.Slides فئة VbaProject للسماح لك بإنشاء مشاريع VBA (ومراجع المشاريع) وتحرير الوحدات الموجودة. يمكنك استخدام واجهة IVbaProject لإدارة VBA المضمن في عرض.
- أنشئ مثيلاً من فئة Presentation.
- استخدم مُنشئ VbaProject لإضافة مشروع VBA جديد.
- أضف وحدة إلى VbaProject.
- قم بضبط كود المصدر للوحدة.
- أضف مراجع إلى
. - أضف مراجع إلى Microsoft Office.
- اربط المراجع بمشروع VBA.
- احفظ العرض.
يوضح لك هذا الرمز بلغة Java كيفية إضافة ماكرو VBA من الصفر إلى عرض:
// ينشئ مثيلًا من فئة العرض
Presentation pres = new Presentation();
try {
// ينشئ مشروع VBA جديد
pres.setVbaProject(new VbaProject());
// يضيف وحدة فارغة إلى مشروع VBA
IVbaModule module = pres.getVbaProject().getModules().addEmptyModule("Module");
// يضبط كود المصدر للوحدة
module.setSourceCode("Sub Test(oShape As Shape)MsgBox Test End Sub");
// ينشئ مرجعًا إلى <stdole>
VbaReferenceOleTypeLib stdoleReference = new VbaReferenceOleTypeLib("stdole", "*\\G{00020430-0000-0000-C000-000000000046}#2.0#0#C:\\Windows\\system32\\stdole2.tlb#OLE Automation");
// ينشئ مرجعًا إلى Office
VbaReferenceOleTypeLib officeReference = new VbaReferenceOleTypeLib("Office",
"*\\G{2DF8D04C-5BFA-101B-BDE5-00AA0044DE52}#2.0#0#C:\\Program Files\\Common Files\\Microsoft Shared\\OFFICE14\\MSO.DLL#Microsoft Office 14.0 Object Library");
// يضيف المراجع إلى مشروع VBA
pres.getVbaProject().getReferences().add(stdoleReference);
pres.getVbaProject().getReferences().add(officeReference);
// يحفظ العرض
pres.save("test.pptm", SaveFormat.Pptm);
} finally {
if (pres != null) pres.dispose();
}
قد ترغب في التحقق من Aspose Macro Remover، وهو تطبيق ويب مجاني يُستخدم لإزالة الماكروز من مستندات PowerPoint وExcel وWord.
إزالة ماكروس VBA
باستخدام خاصية VbaProject تحت فئة Presentation، يمكنك إزالة ماكرو VBA.
- أنشئ مثيلاً من فئة Presentation وقم بتحميل العرض الذي يحتوي على الماكرو.
- الوصول إلى وحدة الماكرو وإزالتها.
- احفظ العرض المعدل.
يوضح لك هذا الرمز بلغة Java كيفية إزالة ماكرو VBA:
// يحمل العرض الذي يحتوي على الماكرو
Presentation pres = new Presentation("VBA.pptm");
try {
// يصل إلى وحدة Vba ويزيلها
pres.getVbaProject().getModules().remove(pres.getVbaProject().getModules().get_Item(0));
// يحفظ العرض
pres.save("test.pptm", SaveFormat.Pptm);
} finally {
if (pres != null) pres.dispose();
}
استخراج ماكروس VBA
- أنشئ مثيلاً من فئة Presentation وقم بتحميل العرض الذي يحتوي على الماكرو.
- تحقق مما إذا كان العرض يحتوي على مشروع VBA.
- قم بتكرار جميع الوحدات الموجودة في مشروع VBA لعرض الماكروز.
يوضح لك هذا الرمز بلغة Java كيفية استخراج ماكروس VBA من عرض يحتوي على ماكروز:
// يحمل العرض الذي يحتوي على الماكرو
Presentation pres = new Presentation("VBA.pptm");
try {
if (pres.getVbaProject() != null) // يتحقق مما إذا كان العرض يحتوي على مشروع VBA
{
for (IVbaModule module : pres.getVbaProject().getModules())
{
System.out.println(module.getName());
System.out.println(module.getSourceCode());
}
}
} finally {
if (pres != null) pres.dispose();
}