25. التنفيذ التلقائي مع بيانات Excel
عندما تكون البيانات متوفرة في Excel، يمكنك استخدام الوظيفتين UpdateChart
وPresentationFromTemplate
للتحكم برمجيًا باستخدام هذه البيانات.
باستخدام UpdateChart
، يمكنك استبدال ورقة بيانات عنصر معين ببيانات Excel الخاصة بك. باستخدام PresentationFromTemplate
، يمكنك استخدام بياناتك لإنشاء عرض تقديمي جديد يستند إلى قالب PowerPoint يحتوي على عناصر think-cell مرتبطة بنطاقات بيانات في Excel على النحو الموضح في 21. ارتباطات بيانات Excel.
واجهة كلتا الوظيفتين مدمجة في نموذج التنفيذ التلقائي لتطبيقات Office، بحيث يمكن الوصول إليها من أي لغة تستخدمها لبرمجة Office، مثل Visual Basic for Applications (VBA) أو C#. راجع بدء الاستخدام للحصول على إرشادات تفصيلية.
نقطة الدخول إلى think-cell هي كائن الوظيفة الإضافية think-cell. يمكن الوصول إليه عبر المجموعة Application.COMAddIns
. دائمًا ما تكون عمليات الاستدعاء في think-cell متأخرة الربط. راجع قاعدة معارف Microsoft للحصول على توضيح:
استخدام الربط المبكر والربط المتأخر في التنفيذ التلقائي
لذلك، يكون نوع كائن الوظيفة الإضافية think-cell هو Object
ببساطة، ولا توجد مكتبة نوع أو مرجع للإضافة. ما عليك سوى الحصول على الكائن، وستكون جاهزًا لإجراء استدعاءات. على سبيل المثال، في لغة البرمجة VBA في Excel:
في لغة C#، يمكنك تحقيق الربط المتأخر من خلال توضيح المرجع لكائن الوظيفة الإضافية think-cell بمثابة dynamic
؛ هذا هو أيضًا النوع الذي يستنتجه برنامج التحويل البرمجي عند توضيح المرجع بمثابة var
، حتى تستطيع بسهولة كتابة:
هنا xlapp
هو مرجع لكائن Excel.Application
يتم تحميل think-cell بداخله.
- 25.1
- UpdateChart
- 25.2
- PresentationFromTemplate
25.1 UpdateChart
25.1.1 التوقيع
VBA
C#
25.1.2 الوصف
تقوم هذه الوظيفة بتحديث كل العناصر في target
التي تحمل الاسم strName
بالبيانات الواردة في rgData
. لكي يتم تفسير البيانات بصورة صحيحة للمخططات، يجب أن يكون النطاق rgData
مطابقًا لتخطيط ورقة البيانات الافتراضي، أو الإصدار المبدّل، انظر أيضًا إنشاء مخطط من Excel وإدخال تخطيط البيانات. يتم تحديد استخدام الإصدار الافتراضي أو المبدّل بواسطة تعيين bTransposed
على false
أو true
على التوالي. للعناصر الأخرى بخلاف المخططات، مثل الجداول، يتم تجاهل قيمة bTransposed
.
target
يجب أن يكون Presentation
، أو SlideRange
، أو Slide
مفرد، أو Master
، أو CustomLayout
.
تتم مطابقة الاسم strName
دون حساسية لحالة الأحرف. يجب أن يكون قد تم تعيينه مسبقًا في PowerPoint باستخدام عنصر تحكم الخاصية اسم UpdateChart على النحو الموضح في 24. مقدمة عن التنفيذ التلقائي.
لضمان استهداف العناصر الصحيحة، تأكد من أنها العناصر الوحيدة التي تم تعيين اسم UpdateChart لها على strName
في الكائن المنقول بمثابة pres
.
إذا كان العنصر المستهدف مرتبطًا بأي نطاق بيانات Excel عند استدعاء هذه الوظيفة، يتم قطع الارتباط. بعد ذلك، لن يتم ربط العنصر بأي نطاق Excel.
25.1.3 أمثلة
لاستخدام هذه النماذج، قم بإعداد عرض تقديمي على النحو الموضح في 24. مقدمة عن التنفيذ التلقائي، واحفظه بمثابة C:\Samples\UpdateChart\template.pptx
.
VBA
لاستخدام هذا النموذج، قم بإضافته إلى وحدة نمطية في مصنف Excel.
وهو يتطلب مرجع لمكتبة كائنات Microsoft PowerPoint 16.0 (انظر Visual Basic for Applications لمعرفة التفاصيل).
سيؤدي تشغيل UpdateChart_Sample
في مصنف إلى تحديث المخطط في قالب العرض التقديمي بالبيانات الموجودة في النطاق A1:D5
بأول ورقة منه.
C#
لاستخدام هذا النموذج، استبدل التعليمة البرمجية في Program.cs
ضمن قالب المشروع تطبيق وحدة التحكم بلغة C# به.
وهو يتطلب مراجع لمكتبة كائنات Microsoft PowerPoint 16.0، ومكتبة كائنات Microsoft Excel 16.0، ومكتبة كائنات Microsoft Office 16.0 (انظر C# لمعرفة التفاصيل).
سيؤدي تشغيل التطبيق الناتج إلى تحديث المخطط في قالب العرض التقديمي لكي يحتوي على سلسلة فردية باسم "السلسلة 1" تحمل القيم 1، و2، و3 وحفظ النتيجة بمثابة template_updated.pptx
.
25.2 PresentationFromTemplate
25.2.1 التوقيع
VBA
C#
25.2.2 الوصف
تستخدم هذه الوظيفة ارتباطات البيانات بين مصنف Excel wb
والقالب الذي يحمل اسم الملف strTemplate
لإنشاء مثيل لذلك القالب من خلال تحديث العناصر المرتبطة باستخدام البيانات المستمدة من النطاقات المرتبطة بها. تكون النتيجة عرضًا تقديميًا جديدًا داخل مثيل PowerPoint ppapp
.
strTemplate
قد يكون مسارًا كاملاً أو مسارًا نسبيًا يتم التعامل معه بعد ذلك باعتباره نسبيًا إلى موقع ملف مصنف Excel wb
.
يتم تحديث كل العناصر الموجودة في strTemplate
والمرتبطة بمصنف Excel wb
(بصرف النظر عما إذا كان قد تم تعيينها على التحديث التلقائي أم لا). في العرض التقديمي الناتج، يتم قطع ارتباطات البيانات الخاصة بها لمنع إجراء تغييرات إضافية بهذه العناصر.
يتم ترك العناصر الموجودة في strTemplate
والمرتبطة بمصنفات Excel أخرى بخلاف wb
دون تغيير وتظل مرتبطة، لذلك يمكن تحديث الارتباطات من مصنفات Excel متعددة من خلال حفظ نتيجة هذه الوظيفة كقالب جديد ثم استدعاء هذه الوظيفة مرة أخرى مع المصنف التالي.
إذا كنت تريد التحكم في ألوان مقاطع المخطط أو تنسيق خلايا الجدول باستخدام ارتباط Excel، يمكنك تعيين نظام الألوان على الخيار استخدام تعبئة ورقة بيانات إضافية (انظر نظام الألوان) أو استخدام ورقة بيانات... (انظر تنسيق جدول) على التوالي. بالمثل، للتحكم في تنسيق الأرقام باستخدام ارتباط Excel، قم بتعيينه على استخدام تنسيق Excel (راجع تنسيق الأرقام).
تأكد من تعيين خيارات التنسيق ذات الصلة وتنسيق الأرقام للخلايا المعنية في Excel قبل استدعاء PresentationFromTemplate
.
25.2.3 أمثلة
لاستخدام هذه النماذج، قم أولاً بإنشاء عرض تقديمي يحتوي على مخطط مكدس مرتبط بالنطاق G1:K4
بأول ورقة في مصنف Excel على النحو الموضح في إنشاء مخطط من Excel. احفظ العرض التقديمي الناتج بمثابة C:\Samples\PresentationFromTemplate\template.pptx
والمصنف بمثابة data.xlsx
في نفس الدليل.
VBA
لاستخدام هذا النموذج، قم بإضافته إلى وحدة نمطية في مصنف Excel data.xlsx
الذي تم إعداده على النحو الموضح أعلاه.
وهو يتطلب مرجع لمكتبة كائنات Microsoft PowerPoint 16.0 (انظر Visual Basic for Applications لمعرفة التفاصيل).
سيؤدي تشغيل PresentationFromTemplate_Sample
إلى تغيير القيمة في الخلية Sheet1!H3
المرتبطة بالقيمة الأولى في السلسلة الأولى من المخطط الموجود في template.pptx
من i=1
إلى 10
، وإنشاء عرض تقديمي جديد مع تحديث المخطط الموجود في القالب لكي يحتوي على تلك القيمة، والتي لم تعد مرتبطة بالمصنف، وحفظه بمثابة output_i.pptx
في نفس الدليل الخاص بالقالب.
C#
لاستخدام هذا النموذج، استبدل التعليمة البرمجية في Program.cs
ضمن قالب المشروع تطبيق وحدة التحكم بلغة C# به.
وهو يتطلب مراجع لمكتبة كائنات Microsoft PowerPoint 16.0، ومكتبة كائنات Microsoft Excel 16.0، ومكتبة كائنات Microsoft Office 16.0 (انظر C# لمعرفة التفاصيل).
سيؤدي تشغيل التطبيق الناتج إلى فتح تطبيق Excel أمامك، وتحميل المصنف data.xlsx
، وتغيير القيمة في الخلية H3
المرتبطة بالقيمة الأولى في السلسلة الأولى من المخطط الموجود في template.pptx
من i=1
إلى 10
، وإنشاء عرض تقديمي جديد مع تحديث المخطط الموجود في القالب لكي يحتوي على تلك القيمة، والتي لم تعد مرتبطة بالمصنف، وحفظه بمثابة output_i.pptx
في نفس الدليل الخاص بالقالب.