VbaReferenceCollection
Inheritance: java.lang.Object
All Implemented Interfaces: java.lang.Iterable
public class VbaReferenceCollection implements Iterable
Represents a collection of VbaReference objects.
To learn more, visit the Working with VBA Macros documentation article.
Examples:
Shows how to get/remove an element from the VBA reference collection.
public void removeVbaReference() throws Exception {
final String BROKEN_PATH = "X:\\broken.dll";
Document doc = new Document(getMyDir() + "VBA project.docm");
VbaReferenceCollection references = doc.getVbaProject().getReferences();
Assert.assertEquals(5, references.getCount());
for (int i = references.getCount() - 1; i >= 0; i--) {
VbaReference reference = doc.getVbaProject().getReferences().get(i);
String path = getLibIdPath(reference);
if (BROKEN_PATH.equals(path))
references.removeAt(i);
}
Assert.assertEquals(4, references.getCount());
references.remove(references.get(1));
Assert.assertEquals(3, references.getCount());
doc.save(getArtifactsDir() + "VbaProject.RemoveVbaReference.docm");
}
///
/// Returns string representing LibId path of a specified reference.
///
private static String getLibIdPath(VbaReference reference) {
switch (reference.getType()) {
case VbaReferenceType.REGISTERED:
case VbaReferenceType.ORIGINAL:
case VbaReferenceType.CONTROL:
return getLibIdReferencePath(reference.getLibId());
case VbaReferenceType.PROJECT:
return getLibIdProjectPath(reference.getLibId());
default:
throw new IllegalArgumentException();
}
}
///
/// Returns path from a specified identifier of an Automation type library.
///
private static String getLibIdReferencePath(String libIdReference) {
if (libIdReference != null) {
String[] refParts = libIdReference.split("#");
if (refParts.length > 3)
return refParts[3];
}
return "";
}
///
/// Returns path from a specified identifier of an Automation type library.
///
private static String getLibIdProjectPath(String libIdProject) {
return libIdProject != null ? libIdProject.substring(3) : "";
}
Methods
Method | Description |
---|---|
get(int index) | Gets VbaReference object at the specified index. |
getCount() | Returns the number of VBA references in the collection. |
iterator() | |
remove(VbaReference item) | Removes the first occurrence of a specified VbaReference item from the collection. |
removeAt(int index) | Removes the VbaReference element at the specified index of the collection. |
get(int index)
public VbaReference get(int index)
Gets VbaReference object at the specified index.
Examples:
Shows how to get/remove an element from the VBA reference collection.
public void removeVbaReference() throws Exception {
final String BROKEN_PATH = "X:\\broken.dll";
Document doc = new Document(getMyDir() + "VBA project.docm");
VbaReferenceCollection references = doc.getVbaProject().getReferences();
Assert.assertEquals(5, references.getCount());
for (int i = references.getCount() - 1; i >= 0; i--) {
VbaReference reference = doc.getVbaProject().getReferences().get(i);
String path = getLibIdPath(reference);
if (BROKEN_PATH.equals(path))
references.removeAt(i);
}
Assert.assertEquals(4, references.getCount());
references.remove(references.get(1));
Assert.assertEquals(3, references.getCount());
doc.save(getArtifactsDir() + "VbaProject.RemoveVbaReference.docm");
}
///
/// Returns string representing LibId path of a specified reference.
///
private static String getLibIdPath(VbaReference reference) {
switch (reference.getType()) {
case VbaReferenceType.REGISTERED:
case VbaReferenceType.ORIGINAL:
case VbaReferenceType.CONTROL:
return getLibIdReferencePath(reference.getLibId());
case VbaReferenceType.PROJECT:
return getLibIdProjectPath(reference.getLibId());
default:
throw new IllegalArgumentException();
}
}
///
/// Returns path from a specified identifier of an Automation type library.
///
private static String getLibIdReferencePath(String libIdReference) {
if (libIdReference != null) {
String[] refParts = libIdReference.split("#");
if (refParts.length > 3)
return refParts[3];
}
return "";
}
///
/// Returns path from a specified identifier of an Automation type library.
///
private static String getLibIdProjectPath(String libIdProject) {
return libIdProject != null ? libIdProject.substring(3) : "";
}
Parameters:
Parameter | Type | Description |
---|---|---|
index | int | The zero-based index of the reference to get. |
Returns: VbaReference - VbaReference object at the specified index.
getCount()
public int getCount()
Returns the number of VBA references in the collection.
Examples:
Shows how to get/remove an element from the VBA reference collection.
public void removeVbaReference() throws Exception {
final String BROKEN_PATH = "X:\\broken.dll";
Document doc = new Document(getMyDir() + "VBA project.docm");
VbaReferenceCollection references = doc.getVbaProject().getReferences();
Assert.assertEquals(5, references.getCount());
for (int i = references.getCount() - 1; i >= 0; i--) {
VbaReference reference = doc.getVbaProject().getReferences().get(i);
String path = getLibIdPath(reference);
if (BROKEN_PATH.equals(path))
references.removeAt(i);
}
Assert.assertEquals(4, references.getCount());
references.remove(references.get(1));
Assert.assertEquals(3, references.getCount());
doc.save(getArtifactsDir() + "VbaProject.RemoveVbaReference.docm");
}
///
/// Returns string representing LibId path of a specified reference.
///
private static String getLibIdPath(VbaReference reference) {
switch (reference.getType()) {
case VbaReferenceType.REGISTERED:
case VbaReferenceType.ORIGINAL:
case VbaReferenceType.CONTROL:
return getLibIdReferencePath(reference.getLibId());
case VbaReferenceType.PROJECT:
return getLibIdProjectPath(reference.getLibId());
default:
throw new IllegalArgumentException();
}
}
///
/// Returns path from a specified identifier of an Automation type library.
///
private static String getLibIdReferencePath(String libIdReference) {
if (libIdReference != null) {
String[] refParts = libIdReference.split("#");
if (refParts.length > 3)
return refParts[3];
}
return "";
}
///
/// Returns path from a specified identifier of an Automation type library.
///
private static String getLibIdProjectPath(String libIdProject) {
return libIdProject != null ? libIdProject.substring(3) : "";
}
Returns: int - The number of VBA references in the collection.
iterator()
public Iterator iterator()
Returns: java.util.Iterator
remove(VbaReference item)
public void remove(VbaReference item)
Removes the first occurrence of a specified VbaReference item from the collection.
Examples:
Shows how to get/remove an element from the VBA reference collection.
public void removeVbaReference() throws Exception {
final String BROKEN_PATH = "X:\\broken.dll";
Document doc = new Document(getMyDir() + "VBA project.docm");
VbaReferenceCollection references = doc.getVbaProject().getReferences();
Assert.assertEquals(5, references.getCount());
for (int i = references.getCount() - 1; i >= 0; i--) {
VbaReference reference = doc.getVbaProject().getReferences().get(i);
String path = getLibIdPath(reference);
if (BROKEN_PATH.equals(path))
references.removeAt(i);
}
Assert.assertEquals(4, references.getCount());
references.remove(references.get(1));
Assert.assertEquals(3, references.getCount());
doc.save(getArtifactsDir() + "VbaProject.RemoveVbaReference.docm");
}
///
/// Returns string representing LibId path of a specified reference.
///
private static String getLibIdPath(VbaReference reference) {
switch (reference.getType()) {
case VbaReferenceType.REGISTERED:
case VbaReferenceType.ORIGINAL:
case VbaReferenceType.CONTROL:
return getLibIdReferencePath(reference.getLibId());
case VbaReferenceType.PROJECT:
return getLibIdProjectPath(reference.getLibId());
default:
throw new IllegalArgumentException();
}
}
///
/// Returns path from a specified identifier of an Automation type library.
///
private static String getLibIdReferencePath(String libIdReference) {
if (libIdReference != null) {
String[] refParts = libIdReference.split("#");
if (refParts.length > 3)
return refParts[3];
}
return "";
}
///
/// Returns path from a specified identifier of an Automation type library.
///
private static String getLibIdProjectPath(String libIdProject) {
return libIdProject != null ? libIdProject.substring(3) : "";
}
Parameters:
Parameter | Type | Description |
---|---|---|
item | VbaReference |
removeAt(int index)
public void removeAt(int index)
Removes the VbaReference element at the specified index of the collection.
Examples:
Shows how to get/remove an element from the VBA reference collection.
public void removeVbaReference() throws Exception {
final String BROKEN_PATH = "X:\\broken.dll";
Document doc = new Document(getMyDir() + "VBA project.docm");
VbaReferenceCollection references = doc.getVbaProject().getReferences();
Assert.assertEquals(5, references.getCount());
for (int i = references.getCount() - 1; i >= 0; i--) {
VbaReference reference = doc.getVbaProject().getReferences().get(i);
String path = getLibIdPath(reference);
if (BROKEN_PATH.equals(path))
references.removeAt(i);
}
Assert.assertEquals(4, references.getCount());
references.remove(references.get(1));
Assert.assertEquals(3, references.getCount());
doc.save(getArtifactsDir() + "VbaProject.RemoveVbaReference.docm");
}
///
/// Returns string representing LibId path of a specified reference.
///
private static String getLibIdPath(VbaReference reference) {
switch (reference.getType()) {
case VbaReferenceType.REGISTERED:
case VbaReferenceType.ORIGINAL:
case VbaReferenceType.CONTROL:
return getLibIdReferencePath(reference.getLibId());
case VbaReferenceType.PROJECT:
return getLibIdProjectPath(reference.getLibId());
default:
throw new IllegalArgumentException();
}
}
///
/// Returns path from a specified identifier of an Automation type library.
///
private static String getLibIdReferencePath(String libIdReference) {
if (libIdReference != null) {
String[] refParts = libIdReference.split("#");
if (refParts.length > 3)
return refParts[3];
}
return "";
}
///
/// Returns path from a specified identifier of an Automation type library.
///
private static String getLibIdProjectPath(String libIdProject) {
return libIdProject != null ? libIdProject.substring(3) : "";
}
Parameters:
Parameter | Type | Description |
---|---|---|
index | int |