قاعدة المعارف 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 لدي؟?