public void RemoveVbaReference() { const string brokenPath = @"X:\broken.dll"; Document doc = new Document(MyDir + "VBA project.docm"); VbaReferenceCollection references = doc.VbaProject.References; Assert.AreEqual(5, references.Count); for (int i = references.Count - 1; i >= 0; i--) { VbaReference reference = doc.VbaProject.References[i]; string path = GetLibIdPath(reference); if (path == brokenPath) { references.RemoveAt(i); } } Assert.AreEqual(4, references.Count); references.Remove(references[1]); Assert.AreEqual(3, references.Count); doc.Save(ArtifactsDir + "VbaProject.RemoveVbaReference.docm"); }
public static void Run() { // The path to the documents directory. string dataDir = RunExamples.GetDataDir_WorkingWithProjects(); Project project = new Project(dataDir + "VbaProject1.mpp"); VbaProject vbaProject = project.VbaProject; VbaReferenceCollection references = vbaProject.References; Console.WriteLine("Reference count ", references.Count); VbaReference reference = vbaProject.References.ToList()[0]; Console.WriteLine("Identifier: " + reference.LibIdentifier); Console.WriteLine("Name: " + reference.Name); reference = vbaProject.References.ToList()[1]; Console.WriteLine("Identifier: " + reference.LibIdentifier); Console.WriteLine("Name: " + reference.Name); reference = vbaProject.References.ToList()[2]; Console.WriteLine("Identifier: " + reference.LibIdentifier); Console.WriteLine("Name: " + reference.Name); }
public static void Run() { // The path to the documents directory. string dataDir = RunExamples.GetDataDir(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.FullName); //ExStart:ReadReferencesInformation Project project = new Project(dataDir + "VbaProject1.mpp"); VbaProject vbaProject = project.VbaProject; VbaReferenceCollection references = vbaProject.References; Console.WriteLine("Reference count " + references.Count); VbaReference reference = vbaProject.References.ToList()[0]; Console.WriteLine("Identifier: " + reference.LibIdentifier); Console.WriteLine("Name: " + reference.Name); reference = vbaProject.References.ToList()[1]; Console.WriteLine("Identifier: " + reference.LibIdentifier); Console.WriteLine("Name: " + reference.Name); reference = vbaProject.References.ToList()[2]; Console.WriteLine("Identifier: " + reference.LibIdentifier); Console.WriteLine("Name: " + reference.Name); //ExEnd:ReadReferencesInformation }
/// <summary> /// Returns string representing LibId path of a specified reference. /// </summary> private static string GetLibIdPath(VbaReference reference) { switch (reference.Type) { case VbaReferenceType.Registered: case VbaReferenceType.Original: case VbaReferenceType.Control: return(GetLibIdReferencePath(reference.LibId)); case VbaReferenceType.Project: return(GetLibIdProjectPath(reference.LibId)); default: throw new ArgumentOutOfRangeException(); } }
public void RemoveBrokenRef() { //ExStart:RemoveReferenceFromCollectionOfReferences Document doc = new Document(MyDir + "VBA project.docm"); // Find and remove the reference with some LibId path. const string brokenPath = "brokenPath.dll"; VbaReferenceCollection references = doc.VbaProject.References; for (int i = references.Count - 1; i >= 0; i--) { VbaReference reference = doc.VbaProject.References.ElementAt(i); string path = GetLibIdPath(reference); if (path == brokenPath) { references.RemoveAt(i); } } doc.Save(ArtifactsDir + "WorkingWithVba.RemoveBrokenRef.docm"); //ExEnd:RemoveReferenceFromCollectionOfReferences }
public static void Run() { // The path to the documents directory. string dataDir = RunExamples.GetDataDir_LoadingAndSaving(); //ExStart: RemoveReferenceFromCollectionOfReferences Document doc = new Document(dataDir + "VbaProject.docm"); // Find and remove the reference with some LibId path. const string brokenPath = "brokenPath.dll"; VbaReferenceCollection references = doc.VbaProject.References; for (int i = references.Count - 1; i >= 0; i--) { VbaReference reference = doc.VbaProject.References.ElementAt(i); string path = GetLibIdPath(reference); if (path == brokenPath) { references.RemoveAt(i); } } doc.Save(dataDir + "NoBrokenRef.docm"); //ExEnd: RemoveReferenceFromCollectionOfReferences }