VbaProject

VbaProject class

Proporciona acceso a la información del proyecto VBA. Un proyecto VBA dentro del documento se define como una colección de módulos VBA.

Para obtener más información, visite elTrabajar con macros VBA artículo de documentación.

public class VbaProject

Constructores

NombreDescripción
VbaProject()Crea un espacio en blancoVbaProject .

Propiedades

NombreDescripción
CodePage { get; set; }Obtiene o establece la página de códigos del proyecto VBA.
IsSigned { get; }Muestra si elVbaProject está firmado o no.
Modules { get; }Devuelve la colección de módulos del proyecto VBA.
Name { get; set; }Obtiene o establece el nombre del proyecto VBA.
References { get; }Obtiene una colección de referencias de proyectos VBA.

Métodos

NombreDescripción
Clone()Realiza una copia delVbaProject .

Ejemplos

Muestra cómo acceder a la información del proyecto VBA de un documento.

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

// Un proyecto VBA contiene una colección de módulos 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");

// Establece un nuevo código fuente para el módulo VBA. Puede acceder a los módulos VBA de la colección por índice o por nombre.
vbaModules[0].SourceCode = "Your VBA code...";
vbaModules["Module1"].SourceCode = "Your VBA code...";

// Eliminar un módulo de la colección.
vbaModules.Remove(vbaModules[2]);

Ver también