Додавання модуля VBA
Огляд
У файлах Microsoft Project (MPP/XML) модулі VBA дозволяють зберігати макроси, які автоматизують завдання з управління проєктом. За допомогою Aspose.Tasks for .NET, ви можете додати нові процедурні або класові модулі до існуючого VBA-проєкту. Ця функція доступна, починаючи з версії 25.6.
Додавання нового модуля VBA
Приклад нижче показує, як додати новий процедурний модуль і призначити йому вихідний код. Перед виконанням цього коду переконайтеся, що проєкт уже містить модулі VBA. Інакше буде згенеровано виключення.
1 Project project = new Project("FileWithVbaProject.mpp");
2
3 if (project.VbaProject.Modules.Count == 0)
4 {
5 throw new InvalidOperationException("Project should contain VBA modules");
6 }
7
8 VbaModule newModule = VbaModule.CreateProceduralModule("TestModule10");
9 newModule.SourceCode = @"Sub TestMacro()
10 MsgBox ""This is a test macro.""
11 End Sub";
12
13 project.VbaProject.Modules.Add(newModule);
14
15 // WriteVba flag should be specified in order to apply changes to MPP file.
16 project.Save("output.mpp", new MPPSaveOptions { WriteVba = true });
Цей код створює новий модуль VBA з іменем TestModule10
з простим макросом, який показує вікно повідомлення. Щоб правильно зберегти модуль, необхідно увімкнути WriteVba
прапорець у MPPSaveOptions
.
Поширені питання
Питання: Чи можу я додати модулі VBA до проєкту без існуючого VBA-проєкту?
- Ні. Цільовий файл Microsoft Project уже повинен містити VBA-проєкт хоча б з одним модулем.
Питання: Які типи модулів VBA можна додати?
- Ви можете додати як процедурні і класові модулі.
Висновок
Додавання модулів VBA за допомогою Aspose.Tasks for .NET надає розробникам можливості автоматизації безпосередньо у файлах Microsoft Project. Це допомагає розширити функціональність проєкту за допомогою власних макросів для повторюваних або складних операцій.