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]);

也可以看看