قاعدة المعارف KB0073

كيف يمكنك معرفة من خلال VBA ما إذا كان الشكل يُستخدم بواسطة think-cell؟

يتم تمييز كل الأشكال المستخدمة في think-cell بعلامة. بالإضافة إلى أشكال PowerPoint، قد يقوم think-cell كذلك بوضع شكل خاص (حاوية ActiveDocument) في الشرائح، أو الشرائح الرئيسية، أو التخطيطات المخصصة. لا تظهر حاوية ActiveDocument هذه وتحتوي على معلومات خاصة عن كائنات think-cell.
في نموذج كائن PowerPoint، يحتوي كل كائن PowerPoint.Shape على مجموعة Tags. ويقوم think-cell بتعيين العلامة الخاصة thinkcellShapeDoNotDelete للمساعدة في تحديد الأشكال. يتم تعيين قيمة العلامة الخاصة على thinkcellActiveDocDoNotDelete لحاوية ActiveDocument، وبالنسبة لجميع الأشكال الأخرى التي يتحكم فيها think-cell، فإنها تبدأ بـ t.

مثال: كيف يمكنك البحث عن أشكال think-cell؟

توضح وظيفة VBA التالية كيفية تصنيف كائن PowerPoint.Shape معين باستخدام العلامة الخاصة:

Sub CheckShape(oShape As PowerPoint.Shape)
    Dim str As String
    str = oShape.Tags.Item(Name:="thinkcellShapeDoNotDelete")
    If (str = "" Or Left$(str, 1) <> "t") Then
        MsgBox "PowerPoint shape"
    Else
        If str = "thinkcellActiveDocDoNotDelete" Then
            MsgBox "think-cell ActiveDocument"
        Else
            MsgBox "think-cell shape"
        End If
    End If
End Sub

يمكنك استخدام هذه الوظيفة لتحديد كل الأشكال في الشريحة النشطة:

Sub Test()
    Dim oShape As PowerPoint.Shape
    For Each oShape In ActiveWindow.View.Slide.Shapes
        Call CheckShape(oShape)
    Next oShape
End Sub

يرجى ملاحظة أنه يتم كذلك نسخ مجموعة العلامات الخاصة بكل شكل عند نسخ أي شكل، على سبيل المثال، عن طريق نسخ مخطط think-cell ولصقه. CheckShape يقوم بالتنويه عن think-cell shape لجميع الأشكال التي تمثل جزءًا من مخطط think-cell حتى في حالة نسخ الشكل ولصقه في عرض تقديمي آخر.

قد ترغب أيضًا في الاطلاع على KB0107: كيف يمكنني نسخ مخططات think-cell ولصقها في التعليمات البرمجية بلغة VBA لدي؟?

مشاركة