VBA Macro
Contents
[
Hide
]
This article demonstrates how to add, access, and remove VBA macros using Aspose.Slides for C++.
Add a VBA Macro
Create a presentation with a VBA project and a simple macro module.
#include <DOM/Presentation.h>
#include <DOM/Vba/IVbaModule.h>
#include <DOM/Vba/IVbaModuleCollection.h>
#include <DOM/Vba/IVbaProject.h>
#include <DOM/Vba/VbaProject.h>
#include <system/smart_ptr.h>
using namespace Aspose::Slides;
using namespace Aspose::Slides::Vba;
using namespace System;
static void AddVbaMacro()
{
auto presentation = MakeObject<Presentation>();
presentation->set_VbaProject(MakeObject<VbaProject>());
auto module = presentation->get_VbaProject()->get_Modules()->AddEmptyModule(u"Module");
module->set_SourceCode(u"Sub Test()\n MsgBox \"Hi\" \nEnd Sub");
presentation->Dispose();
}
Access a VBA Macro
Retrieve the first module from the VBA project.
#include <DOM/Presentation.h>
#include <DOM/Vba/IVbaModule.h>
#include <DOM/Vba/IVbaModuleCollection.h>
#include <DOM/Vba/IVbaProject.h>
#include <DOM/Vba/VbaProject.h>
#include <system/smart_ptr.h>
using namespace Aspose::Slides;
using namespace Aspose::Slides::Vba;
using namespace System;
static void AccessVbaMacro()
{
auto presentation = MakeObject<Presentation>();
presentation->set_VbaProject(MakeObject<VbaProject>());
auto module = presentation->get_VbaProject()->get_Modules()->AddEmptyModule(u"Module");
module->set_SourceCode(u"Sub Test()\n MsgBox \"Hi\" \nEnd Sub");
auto firstModule = presentation->get_VbaProject()->get_Module(0);
presentation->Dispose();
}
Remove a VBA Macro
Delete a module from the VBA project.
#include <DOM/Presentation.h>
#include <DOM/Vba/IVbaModule.h>
#include <DOM/Vba/IVbaModuleCollection.h>
#include <DOM/Vba/IVbaProject.h>
#include <DOM/Vba/VbaProject.h>
#include <system/smart_ptr.h>
using namespace Aspose::Slides;
using namespace Aspose::Slides::Vba;
using namespace System;
static void RemoveVbaMacro()
{
auto presentation = MakeObject<Presentation>();
presentation->set_VbaProject(MakeObject<VbaProject>());
auto module = presentation->get_VbaProject()->get_Modules()->AddEmptyModule(u"Module");
module->set_SourceCode(u"Sub Test()\n MsgBox \"Hi\" \nEnd Sub");
presentation->get_VbaProject()->get_Modules()->Remove(module);
presentation->Dispose();
}