Чтение информации VBA из файла MPP

Aspose.Tasks for .NET API предоставляет полную поддержку для чтения информации VBA из файлов Microsoft Project MPP. Это включает работу с данными VBA на уровне проекта, с Modules, References и атрибутами модулей. Класс VbaProject класс является центральной точкой доступа к сведениям VBA, в то время как Modules и References коллекции позволяют более детально исследовать содержимое проекта.

Чтение информации о VBA-проекте

В следующем примере показано, как считать общую информацию проекта VBA, используя VbaProject и Project классы. Этот фрагмент демонстрирует, как загрузить файл проекта и получить доступ к связанным данным VBA-проекта.

1Project project = new Project("New Project.mpp");
2VbaProject vbaProject = project.VbaProject;
3Console.WriteLine("VbaProject.Name " + vbaProject.Name);
4Console.WriteLine("VbaProject.Description " + vbaProject.Description);
5Console.WriteLine("VbaProject.CompilationArguments " + vbaProject.CompilationArguments);
6Console.WriteLine("VbaProject.HelpContextId " + vbaProject.HelpContextId);

Чтение информации о References из VBA

В следующем примере показано, как читать References VBA, используя VbaProject, Project, и VbaReference классы. References содержат внешние библиотеки или компоненты, от которых зависит VBA-проект.

 1Project project = new Project("New Project.mpp");
 2
 3VbaProject vbaProject = project.VbaProject;
 4VbaReferenceCollection references = vbaProject.References;
 5Console.WriteLine("Reference count ", references.Count);
 6
 7VbaReference reference = vbaProject.References.ToList()[0];
 8Console.WriteLine("Identifier: " + reference.LibIdentifier);
 9Console.WriteLine("Name: " + reference.Name);
10
11reference = vbaProject.References.ToList()[1];
12Console.WriteLine("Identifier: " + reference.LibIdentifier);
13Console.WriteLine("Name: " + reference.Name);
14
15reference = vbaProject.References.ToList()[2];
16Console.WriteLine("Identifier: " + reference.LibIdentifier);
17Console.WriteLine("Name: " + reference.Name);

Чтение информации о Modules из VBA

Следующий пример демонстрирует, как читать информацию о модулях из VBA-проектов. Modules содержат код VBA, который определяет макросы, процедуры и функции. Вы можете программно получить доступ к каждому модулю и связанным с ним деталям.

1Project project = new Project("New Project.mpp");
2
3VbaProject vbaProject = project.VbaProject;
4Console.WriteLine("Total Modules Count: " + vbaProject.Modules.Count);
5
6IVbaModule vbaModule = vbaProject.Modules.ToList()[0];
7Console.WriteLine("Module Name: " + vbaModule.Name);
8Console.WriteLine("Source Code: " + vbaModule.SourceCode);

Чтение информации об атрибутах модулей из VBA

В следующем примере показано, как читать атрибуты модулей, используя VbaProject, Project, и IVbaModule классы. Attributes определяют дополнительные свойства модулей VBA, такие как описания, контекст справки или пользовательские флаги.

1Project project = new Project("New Project.mpp");
2VbaProject vbaProject = project.VbaProject;
3IVbaModule vbaModule = vbaProject.Modules.ToList()[0];
4
5Console.WriteLine("Attributes Count: " + vbaModule.Attributes.Count);
6Console.WriteLine("VB_Name: " + vbaModule.Attributes.ToList()[0].Key);
7Console.WriteLine("Module1: " + vbaModule.Attributes.ToList()[0].Value);

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

В: Нужно ли устанавливать Microsoft Project, чтобы читать информацию VBA?

В: Могу ли я изменять код VBA в файлах MPP с помощью Aspose.Tasks for .NET?

В: Какие сведения VBA можно извлечь из проекта?

Заключение

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

Subscribe to Aspose Product Updates

Get monthly newsletters & offers directly delivered to your mailbox.