Чтение информации 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?
- Нет. Aspose.Tasks for .NET может извлекать данные VBA непосредственно из файлов MPP без необходимости установки Microsoft Project.
В: Могу ли я изменять код VBA в файлах MPP с помощью Aspose.Tasks for .NET?
- В настоящее время Aspose.Tasks for .NET позволяет читать информацию VBA, modules и attributes, но не поддерживает редактирование кода VBA.
В: Какие сведения VBA можно извлечь из проекта?
- Вы можете читать информацию VBA на уровне проекта, References на внешние библиотеки, Modules, содержащие код, и специфические для модуля attributes.
Заключение
Чтение информации VBA из файлов Microsoft Project с помощью Aspose.Tasks for .NET просто. Вы можете программно получить доступ к данным VBA на уровне проекта, References, Modules и их attributes без установки Microsoft Project. Эта возможность особенно полезна для аудита, составления отчетов или анализа автоматизаций на основе VBA в корпоративных файлах проектов.