كيفية إنشاء ماكرو Excel باستخدام التنفيذ التلقائي من Visual Basic.NET

للحصول على إصدار Microsoft Visual C#.NET من هذه المقالة، راجع
303872 .

في هذه المهمة

ملخص

توضح هذه المقالة خطوة بخطوة كيفية أتمتة Microsoft Excel من Microsoft Visual Basic.NET لإنشاء مصنف يحتوي على ماكرو جديد مقترن بزر شريط الأوامر .

خطوات إنشاء نموذج تطبيق Visual Basic.NET

  1. بدء تشغيل برنامج Microsoft Visual Basic.NET.
  2. من القائمة ملف ، انقر فوق جديد، ومن ثم انقر فوق المشروع. حدد تطبيق Windows من أنواع مشاريع Visual Basic. يتم إنشاء Form1 افتراضياً.
  3. إضافة مراجع إلى مكتبة كائنات Microsoft Excelو مكتبة كائنات Microsoft Office Microsoft Visual Basic "مكتبة القابلية للتوسعة للتطبيقات". للقيام بذلك، اتبع الخطوات التالية:
    1. من القائمة ' مشروع '، انقر فوق إضافة مرجع.
    2. انقر فوق علامة التبويب COM ، انقر فوق مكتبة كائنات Microsoft Excel، وثم انقر فوق تحديد.

      ملاحظة: يتضمن Microsoft Office 2003 "تجميعات التوافق الأساسية" (PIAs). Microsoft Office XP لا يتضمن التقييمات الأولية للتنفيذ، ولكن قد يتم تحميل.
      للحصول على معلومات إضافية حول Office XP PIAs، انقر فوق رقم المقالة التالي لعرضها في "قاعدة المعارف ل Microsoft":

      معلومات 328912 : Microsoft Office XP PIAs متوفرة للتنزيل

    3. حدد Microsoft Visual Basic "مكتبة القابلية للتوسعة للتطبيقات"، ومن ثم انقر فوق تحديد.
    4. انقر فوق "موافق" في مربع الحوار إضافة مراجع لقبول التحديدات.
  4. من القائمة عرض ، انقر فوق مربع الأدوات لعرض مربع الأدوات، وإضافة زر إلى Form1.
  5. انقر نقراً مزدوجاً فوق Button1. فتح إطار التعليمات البرمجية في هذا الحدث onClick ل Button1. أضف السطر التالي فوق Form1 الفئة العامة:
       Imports Office = Microsoft.Office.Core
  6. في إطار التعليمات البرمجية، أضف التعليمات البرمجية التالية:
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As      System.EventArgs) Handles Button1.Click
    Dim oExcel As Excel.Application
    Dim oBook As Excel.Workbook
    Dim oModule As VBIDE.VBComponent
    Dim oCommandBar As Office.CommandBar
    Dim oCommandBarButton As Office.CommandBarControl
    Dim sCode As String

    ' Create an instance of Excel, and show it to the user.
    oExcel = New Excel.Application()

    ' Add a workbook.
    oBook = oExcel.Workbooks.Add

    ' Create a new VBA code module.
    oModule = oBook.VBProject.VBComponents.Add(VBIDE.vbext_ComponentType.vbext_ct_StdModule)

    sCode = "sub VBAMacro()" & vbCr & _
    " msgbox ""VBA Macro called"" " & vbCr & _
    "end sub"

    ' Add the VBA macro to the new code module.
    oModule.CodeModule.AddFromString(sCode)

    Try
    ' Create a new toolbar, and show it to the user.
    oCommandBar = oExcel.CommandBars.Add("VBAMacroCommandBar")
    oCommandBar.Visible = True

    ' Create a new button on the toolbar.
    oCommandBarButton = oCommandBar.Controls.Add(Office.MsoControlType.msoControlButton)
    ' Assign a macro to the button.
    oCommandBarButton.OnAction = "VBAMacro"
    ' Set the caption of the button.
    oCommandBarButton.Caption = "Call VBAMacro"
    ' Set the icon on the button to a picture.
    oCommandBarButton.FaceId = 2151
    Catch exc As Exception
    MessageBox.Show("VBAMacroCommandBar already exists.", "Error")
    End Try

    oExcel.Visible = True
    ' Set the UserControl property so that Excel does not shut down.
    oExcel.UserControl = True

    ' Release the variables.
    oCommandBarButton = Nothing
    oCommandBar = Nothing
    oModule = Nothing
    oBook = Nothing
    oExcel = Nothing

    ' Force garbage collection.
    GC.Collect()

    End Sub

  7. أضف التعليمات البرمجية التالية إلى أعلى Form1.vb:
    Imports Office = Microsoft.Office.CoreImports Microsoft.Office.Interop
    Imports VBIDE = Microsoft.Vbe.Interop

  8. اضغط F5 لإنشاء وتشغيل البرنامج.
  9. انقر فوق Button1 لبدء تشغيل برنامج Excel، إدراج Visual Basic للتعليمات البرمجية Applications (VBA) ثم قم بإضافة عنصر تحكم شريط الأوامر جديدة. انقر فوق الزر على شريط الأوامر لتشغيل ماكرو VBA.

ملاحظات إضافية لبرنامج Office XP

تطبيقات Microsoft Office 2003 و Microsoft Office XP على خيار أمان الذي يسمح بالوصول المبرمج إلى طراز كائن VBA. إذا كان هذا الإعداد إيقاف (الافتراضي)، قد تتلقى خطأ عند تشغيل نموذج التعليمة البرمجية.
للحصول على معلومات إضافية حول هذا الإعداد وكيف يمكن تصحيح الخطأ، انقر فوق رقم المقالة التالي لعرضها في "قاعدة المعارف ل Microsoft":

282830 PRB: تم رفض الوصول المبرمج إلى مشروع XP VBA Office

المراجع

للحصول على معلومات إضافية، انقر فوق رقم المقالة التالي لعرضها في "قاعدة معارف Microsoft":

إنشاء 194611 واستدعاء ماكرو Excel برمجياً من VB

خصائص

رقم الموضوع: 303871 - آخر مراجعة: 18‏/01‏/2017 - المراجعة: 1

تعليقات