Add a library reference to VBA project in workbook with C++
Contents
[
Hide
]
Sometimes, you need to add or register the library reference to the VBA project through code. You can do it using Aspose.Cells VbaProject.References.AddRegisteredReference() method.
Add a library reference to VBA project in Microsoft Excel
In Microsoft Excel, you can add a library reference to the VBA project by clicking the Tools > References… manually.
Add a library reference to the VBA project in a workbook using Aspose.Cells
The following sample code adds or registers two library references to the VBA project of the workbook using VbaProject.References.AddRegisteredReference() method.
#include <iostream>
#include "Aspose.Cells.h"
using namespace Aspose::Cells;
int main()
{
Aspose::Cells::Startup();
// Source directory path
U16String srcDir(u"..\\Data\\01_SourceDirectory\\");
// Output directory path
U16String outDir(u"..\\Data\\02_OutputDirectory\\");
// Path of output excel file
U16String outputPath = outDir + u"Output_out.xlsm";
// Create a new workbook
Workbook workbook;
// Get the VBA project from the workbook
VbaProject vbaProj = workbook.GetVbaProject();
// Add registered references to the VBA project
vbaProj.GetReferences().AddRegisteredReference(u"stdole", u"*\\G{00020430-0000-0000-C000-000000000046}#2.0#0#C:\\Windows\\system32\\stdole2.tlb#OLE Automation");
vbaProj.GetReferences().AddRegisteredReference(u"Office", u"*\\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");
// Save the workbook
workbook.Save(outputPath);
std::cout << "VBA project references added successfully!" << std::endl;
Aspose::Cells::Cleanup();
}