VbaProject

VbaProject class

Обеспечивает доступ к информации о проекте VBA. Проект VBA внутри документа определяется как набор модулей VBA.

Чтобы узнать больше, посетитеРабота с макросами VBA статья документации.

public class VbaProject

Конструкторы

ИмяОписание
VbaProject()Создает пробелVbaProject .

Характеристики

ИмяОписание
CodePage { get; set; }Получает или задает кодовую страницу проекта VBA.
IsSigned { get; }Показывает,VbaProject подписан или нет.
Modules { get; }Возвращает коллекцию модулей проекта VBA.
Name { get; set; }Получает или задает имя проекта VBA.
References { get; }Получает коллекцию ссылок на проекты VBA.

Методы

ИмяОписание
Clone()Выполняет копиюVbaProject .

Примеры

Показывает, как получить доступ к информации о проекте VBA документа.

Document doc = new Document(MyDir + "VBA project.docm");

// Проект VBA содержит набор модулей VBA.
VbaProject vbaProject = doc.VbaProject;
Console.WriteLine(vbaProject.IsSigned
    ? $"Project name: {vbaProject.Name} signed; Project code page: {vbaProject.CodePage}; Modules count: {vbaProject.Modules.Count()}\n"
    : $"Project name: {vbaProject.Name} not signed; Project code page: {vbaProject.CodePage}; Modules count: {vbaProject.Modules.Count()}\n");

VbaModuleCollection vbaModules = doc.VbaProject.Modules; 

Assert.AreEqual(vbaModules.Count(), 3);

foreach (VbaModule module in vbaModules)
    Console.WriteLine($"Module name: {module.Name};\nModule code:\n{module.SourceCode}\n");

// Устанавливаем новый исходный код для модуля VBA. Доступ к модулям VBA в коллекции можно получить либо по индексу, либо по имени.
vbaModules[0].SourceCode = "Your VBA code...";
vbaModules["Module1"].SourceCode = "Your VBA code...";

// Удалить модуль из коллекции.
vbaModules.Remove(vbaModules[2]);

Смотрите также