VbaModuleCollection
Inheritance: java.lang.Object
All Implemented Interfaces: java.lang.Iterable
public class VbaModuleCollection implements Iterable
Represents a collection of VbaModule objects.
To learn more, visit the Working with VBA Macros documentation article.
Examples:
Shows how to access a document’s VBA project information.
Document doc = new Document(getMyDir() + "VBA project.docm");
// A VBA project contains a collection of VBA modules.
VbaProject vbaProject = doc.getVbaProject();
System.out.println(vbaProject.isSigned()
? MessageFormat.format("Project name: {0} signed; Project code page: {1}; Modules count: {2}\n", vbaProject.getName(), vbaProject.getCodePage(), vbaProject.getModules().getCount())
: MessageFormat.format("Project name: {0} not signed; Project code page: {1}; Modules count: {2}\n", vbaProject.getName(), vbaProject.getCodePage(), vbaProject.getModules().getCount()));
VbaModuleCollection vbaModules = doc.getVbaProject().getModules();
Assert.assertEquals(vbaModules.getCount(), 3);
for (VbaModule module : vbaModules) {
System.out.println(MessageFormat.format("Module name: {0};\nModule code:\n{1}\n", module.getName(), module.getSourceCode()));
}
// Set new source code for VBA module. You can access VBA modules in the collection either by index or by name.
vbaModules.get(0).setSourceCode("Your VBA code...");
vbaModules.get("Module1").setSourceCode("Your VBA code...");
// Remove a module from the collection.
vbaModules.remove(vbaModules.get(2));
Methods
Method | Description |
---|---|
add(VbaModule vbaModule) | Adds a module to the collection. |
get(int index) | Retrieves a VbaModule object by index. |
get(String name) | Retrieves a VbaModule object by name, or Null if not found. |
getCount() | Returns the number of VBA modules in the collection. |
iterator() | |
remove(VbaModule module) | Removes the specified module from the collection. |
add(VbaModule vbaModule)
public void add(VbaModule vbaModule)
Adds a module to the collection.
Examples:
Shows how to create a VBA project using macros.
Document doc = new Document();
// Create a new VBA project.
VbaProject project = new VbaProject();
project.setName("Aspose.Project");
doc.setVbaProject(project);
// Create a new module and specify a macro source code.
VbaModule module = new VbaModule();
module.setName("Aspose.Module");
module.setType(VbaModuleType.PROCEDURAL_MODULE);
module.setSourceCode("New source code");
// Add the module to the VBA project.
doc.getVbaProject().getModules().add(module);
doc.save(getArtifactsDir() + "VbaProject.CreateVBAMacros.docm");
Parameters:
Parameter | Type | Description |
---|---|---|
vbaModule | VbaModule |
get(int index)
public VbaModule get(int index)
Retrieves a VbaModule object by index.
Examples:
Shows how to access a document’s VBA project information.
Document doc = new Document(getMyDir() + "VBA project.docm");
// A VBA project contains a collection of VBA modules.
VbaProject vbaProject = doc.getVbaProject();
System.out.println(vbaProject.isSigned()
? MessageFormat.format("Project name: {0} signed; Project code page: {1}; Modules count: {2}\n", vbaProject.getName(), vbaProject.getCodePage(), vbaProject.getModules().getCount())
: MessageFormat.format("Project name: {0} not signed; Project code page: {1}; Modules count: {2}\n", vbaProject.getName(), vbaProject.getCodePage(), vbaProject.getModules().getCount()));
VbaModuleCollection vbaModules = doc.getVbaProject().getModules();
Assert.assertEquals(vbaModules.getCount(), 3);
for (VbaModule module : vbaModules) {
System.out.println(MessageFormat.format("Module name: {0};\nModule code:\n{1}\n", module.getName(), module.getSourceCode()));
}
// Set new source code for VBA module. You can access VBA modules in the collection either by index or by name.
vbaModules.get(0).setSourceCode("Your VBA code...");
vbaModules.get("Module1").setSourceCode("Your VBA code...");
// Remove a module from the collection.
vbaModules.remove(vbaModules.get(2));
Parameters:
Parameter | Type | Description |
---|---|---|
index | int | Zero-based index of the module to retrieve. |
Returns: VbaModule - The corresponding VbaModule value.
get(String name)
public VbaModule get(String name)
Retrieves a VbaModule object by name, or Null if not found.
Examples:
Shows how to access a document’s VBA project information.
Document doc = new Document(getMyDir() + "VBA project.docm");
// A VBA project contains a collection of VBA modules.
VbaProject vbaProject = doc.getVbaProject();
System.out.println(vbaProject.isSigned()
? MessageFormat.format("Project name: {0} signed; Project code page: {1}; Modules count: {2}\n", vbaProject.getName(), vbaProject.getCodePage(), vbaProject.getModules().getCount())
: MessageFormat.format("Project name: {0} not signed; Project code page: {1}; Modules count: {2}\n", vbaProject.getName(), vbaProject.getCodePage(), vbaProject.getModules().getCount()));
VbaModuleCollection vbaModules = doc.getVbaProject().getModules();
Assert.assertEquals(vbaModules.getCount(), 3);
for (VbaModule module : vbaModules) {
System.out.println(MessageFormat.format("Module name: {0};\nModule code:\n{1}\n", module.getName(), module.getSourceCode()));
}
// Set new source code for VBA module. You can access VBA modules in the collection either by index or by name.
vbaModules.get(0).setSourceCode("Your VBA code...");
vbaModules.get("Module1").setSourceCode("Your VBA code...");
// Remove a module from the collection.
vbaModules.remove(vbaModules.get(2));
Parameters:
Parameter | Type | Description |
---|---|---|
name | java.lang.String |
Returns: VbaModule - The corresponding VbaModule value.
getCount()
public int getCount()
Returns the number of VBA modules in the collection.
Examples:
Shows how to access a document’s VBA project information.
Document doc = new Document(getMyDir() + "VBA project.docm");
// A VBA project contains a collection of VBA modules.
VbaProject vbaProject = doc.getVbaProject();
System.out.println(vbaProject.isSigned()
? MessageFormat.format("Project name: {0} signed; Project code page: {1}; Modules count: {2}\n", vbaProject.getName(), vbaProject.getCodePage(), vbaProject.getModules().getCount())
: MessageFormat.format("Project name: {0} not signed; Project code page: {1}; Modules count: {2}\n", vbaProject.getName(), vbaProject.getCodePage(), vbaProject.getModules().getCount()));
VbaModuleCollection vbaModules = doc.getVbaProject().getModules();
Assert.assertEquals(vbaModules.getCount(), 3);
for (VbaModule module : vbaModules) {
System.out.println(MessageFormat.format("Module name: {0};\nModule code:\n{1}\n", module.getName(), module.getSourceCode()));
}
// Set new source code for VBA module. You can access VBA modules in the collection either by index or by name.
vbaModules.get(0).setSourceCode("Your VBA code...");
vbaModules.get("Module1").setSourceCode("Your VBA code...");
// Remove a module from the collection.
vbaModules.remove(vbaModules.get(2));
Returns: int - The number of VBA modules in the collection.
iterator()
public Iterator iterator()
Returns: java.util.Iterator
remove(VbaModule module)
public void remove(VbaModule module)
Removes the specified module from the collection.
Examples:
Shows how to access a document’s VBA project information.
Document doc = new Document(getMyDir() + "VBA project.docm");
// A VBA project contains a collection of VBA modules.
VbaProject vbaProject = doc.getVbaProject();
System.out.println(vbaProject.isSigned()
? MessageFormat.format("Project name: {0} signed; Project code page: {1}; Modules count: {2}\n", vbaProject.getName(), vbaProject.getCodePage(), vbaProject.getModules().getCount())
: MessageFormat.format("Project name: {0} not signed; Project code page: {1}; Modules count: {2}\n", vbaProject.getName(), vbaProject.getCodePage(), vbaProject.getModules().getCount()));
VbaModuleCollection vbaModules = doc.getVbaProject().getModules();
Assert.assertEquals(vbaModules.getCount(), 3);
for (VbaModule module : vbaModules) {
System.out.println(MessageFormat.format("Module name: {0};\nModule code:\n{1}\n", module.getName(), module.getSourceCode()));
}
// Set new source code for VBA module. You can access VBA modules in the collection either by index or by name.
vbaModules.get(0).setSourceCode("Your VBA code...");
vbaModules.get("Module1").setSourceCode("Your VBA code...");
// Remove a module from the collection.
vbaModules.remove(vbaModules.get(2));
Parameters:
Parameter | Type | Description |
---|---|---|
module | VbaModule | The module to remove. |