Esempio n. 1
0
        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);
        }
Esempio n. 3
0
        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
        }
Esempio n. 4
0
        /// <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
        }
Esempio n. 6
0
        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
        }