Добавление модуля 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?

В: Какие типы модулей VBA я могу добавить?

Заключение

Добавление модулей VBA с помощью Aspose.Tasks for .NET предоставляет разработчикам возможности автоматизации непосредственно внутри файлов Microsoft Project. Это помогает расширить функциональность проекта с помощью пользовательских макросов для повторяющихся или сложных операций.

Subscribe to Aspose Product Updates

Get monthly newsletters & offers directly delivered to your mailbox.