منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب

نسخة كاملة : يمكننا استخدام فيجول بايزيك 2008 لإنشاء صفحات أشرطة إضافية لـ Excel 2007
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
كاتب الموضوع : samerselo

سنرى هنا كيف يمكننا استخدام فيجول بايزيك 2008 لإنشاء صفحات أشرطة إضافية لـ Excel 2007
• قم بإنشاء مشروع فيجول بايزيك جديد وذلك بتحديد Project Type إلى Office ثم 2007 ثم اختيار الـ Template هي Excel 2007 WorkBook
• من قائمة Project اختر Add New Item ثم اختر التحكم Actions Pane Control ثم اضغط Add
• من الـ toolbox أضف التحكمات التي تريدها لـ Actions Pane Controls مثلا Label وغير النص بداخله إلى Actions Pane 1
• كرر العملية وأضف تحكما آخر من النوع Actions Pane Control وضع عليه تحكم Label وغير النص بداخله إلى Actions Pane 2
• اختر Add New Item من قائمة Project و أضف تحكم من النوع Ribbon (Visual Designer) للمشروع بعد تغيير تسميته من Ribbon1 إلى MyRibbon ثم اختر Group1 من المحرر الذي يظهر لك وغير الخاصية Label إلى Actions Pane Manager
• من الـ ToolBox ومن قسم Office Ribbon controls أضف Button إلى داخل المجموعة Actions Pane Manager وغير الخاصية Label لتحمل القيمة Show Actions Pane 1 وأضف زرا آخر وغير خاصية Label له إلى Show Actions Pane 2 ثم أضف تحكما آخر لنفس المجموعة من نوع ToggleButton وغير خاصية Label إلى Hide Actions Pane
• يمكننا ملاحظة إمكانية إضافة صفحات إضافية لـ My Ribbon وذلك بالنقر بزر الماوس اليميني في الفراغ بجانب TabAddIns واختيار الأمر Add Ribbon Tab وإضافة الصفحات التي تريدها ثم وضع التحكمات عليها كما سنرى لاحقا جرب إضافة صفحة أو أكثر كما تشاء ثم عد إلى TabAddIns لمتابعة العمل معا
• من solution Explorer انقر بزر الماوس اليميني على MyRibbon ثم اختر الأمر View Code من قائمة السياق
• تحت تعريف الفئة مباشرة أدخل سطري الكود التاليين

كود :
Dim ActionsPane1 As New ActionsPaneControl1
Dim ActionsPane2 As New ActionsPaneControl2
وذلك لتعريف متغيرات في MyRibbon تشير إلى ActionsPaneControls الذين أضفناهما سابقا
• أضف الكود التالي لإجراء معالجة الحدث Load الخاص بـ MyRibbon الذي سيضيف التحكمات ActionsPane1 و ActionsPane2 إلى مجموعة ActionsPane ثم إخفاءهما

كود :
Private Sub MyRibbon_Load(ByVal sender As System.Object, _
ByVal e As RibbonUIEventArgs) Handles MyBase.Load

' Add ActionsPane1 & ActionsPane2 to ActionPane Collection
Globals.ThisWorkbook.ActionsPane.Controls.Add(ActionsPane1)
Globals.ThisWorkbook.ActionsPane.Controls.Add(ActionsPane2)
' Hide Action Panes From View
ActionsPane1.Hide()
ActionsPane2.Hide()
Globals.ThisWorkbook.Application.DisplayDocumentActionTaskPane = False
End Sub
• سنضيف الآن إجراء معالجة الحدث Click للزر الأول الذي سيقوم بإظهار ActionsPane1 وإخفاء ActionsPane2 ويكون الكود كالتالي

كود :
' Show Actions Pane 1 Button Event Handler
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As _
Microsoft.Office.Tools.Ribbon.RibbonControlEventArgs) Handles Button2.Click

Globals.ThisWorkbook.Application.DisplayDocumentActionTaskPane = True
ActionsPane1.Show()
ActionsPane2.Hide()
End Sub
• سنضيف الآن إجراء معالجة الحدث Click للزر الثاني الذي سيقوم بإظهار ActionsPane2 وإخفاء ActionsPane1 ويكون الكود كالتالي

كود :
' Show Actions Pane 2 Button Event Handler
Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As _
Microsoft.Office.Tools.Ribbon.RibbonControlEventArgs) Handles Button3.Click

Globals.ThisWorkbook.Application.DisplayDocumentActionTaskPane = True
ActionsPane2.Show()
ActionsPane1.Hide()
End Sub
• سنضيف الآن إجراء معالجة الحدث Click لـ ToggleButton1 كما يلي

كود :
' Hide Actions Pane Event Handler
Private Sub ToggleButton1_Click(ByVal sender As System.Object, ByVal e As _
Microsoft.Office.Tools.Ribbon.RibbonControlEventArgs) Handles ToggleButton1.Click

If ToggleButton1.Checked Then
Globals.ThisWorkbook.Application.DisplayDocumentActionTaskPane = False
Else
Globals.ThisWorkbook.Application.DisplayDocumentActionTaskPane = True
End If
End Sub
• شغل التطبيق وانتقل إلى صفحة Add Ins لاختبار البرنامج هنا وإن قمت بإضافة صفحات إضافية ستراها في آخر صفحات شريط أدوات Excel 2007