Редактирование исходного кода VBA

Обзор

Файлы Microsoft Project (MPP/XML) могут содержать модули VBA, которые хранят макросы для автоматизации задач, связанных с проектом. Начиная с версии 25.6, Aspose.Tasks for .NET позволяет не только читать, но и редактировать исходный код существующих модулей VBA в проекте.

Это позволяет поддерживать и обновлять логику автоматизации без необходимости использования Microsoft Project.

Редактирование исходного кода существующего модуля

В следующем примере показано, как отредактировать исходный код модуля с именем Module1 в существующем проекте.

 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    var existingModule = project.VbaProject.Modules["Module1"];
 9    existingModule.SourceCode = @"Sub Method()
10    MsgBox ""This is an updated text.""
11    End Sub";
12            
13    // WriteVba flag should be specified in order to apply changes to MPP file.
14    project.Save("output.mpp", new MPPSaveOptions { WriteVba = true });

В этом примере проверяется, содержит ли проект модули VBA, находится модуль по его имени и заменяется его исходный код. Чтобы применить изменения, WriteVba флаг должен быть включен при сохранении проекта.

Часто задаваемые вопросы

В: Могу ли я обновить несколько модулей одновременно?

В: Что произойдет, если я попытаюсь обновить несуществующий модуль?

В: Могу ли я редактировать исходный код VBA в проекте без модулей VBA?

В: Могу ли я переименовывать модули VBA?

Заключение

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

Subscribe to Aspose Product Updates

Get monthly newsletters & offers directly delivered to your mailbox.