VbaReferenceCollection

VbaReferenceCollection class

يمثل مجموعة منVbaReference الأشياء.

لمعرفة المزيد، قم بزيارةالعمل مع وحدات الماكرو VBA مقالة توثيقية.

public sealed class VbaReferenceCollection : IEnumerable<VbaReference>

الخصائص

اسموصف
Count { get; }إرجاع عدد مراجع VBA في المجموعة.
Item { get; }يحصلVbaReference الكائن في الفهرس المحدد.

طُرق

اسموصف
Remove(VbaReference)يزيل أول ظهور لعنصر محددVbaReference عنصر من المجموعة.
RemoveAt(int)يزيلVbaReference عنصر في الفهرس المحدد للمجموعة.

أمثلة

يوضح كيفية الحصول على عنصر أو إزالته من مجموعة مرجع VBA.

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"); 
}

/// <summary>
 /// إرجاع سلسلة تمثل مسار LibId لمرجع محدد.
/// </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();
    }
}

/// <summary>
/// إرجاع المسار من معرف محدد لمكتبة نوع الأتمتة.
/// </summary>
private static string GetLibIdReferencePath(string libIdReference)
{
    if (libIdReference != null)
    {
        string[] refParts = libIdReference.Split('#');
        if (refParts.Length > 3)
            return refParts[3];
    }

    return "";
}

/// <summary>
/// إرجاع المسار من معرف محدد لمكتبة نوع الأتمتة.
/// </summary>
private static string GetLibIdProjectPath(string libIdProject)
{
    return libIdProject != null ? libIdProject.Substring(3) : "";
}

أنظر أيضا