كود لخلق او إنشاء موديول وأزرار داخل المصنف
يمكنك انشاء زر Button داخل ورقة العمل النشطة وربطه بكود موجود بشكل أوتوماتيكي
الخطوات- اضغط على ALT + F11
- قم بالضغط كليك يمين على يسار النافذة
- اختر Insert >> Module
- قم بكتابة الكود التالي
- ثم قم بإنشاء زر داخل ورقة العمل
- وانشاء ارتباط بالكود المسمي AddButton
الكود كالتالي
'https://elshriefacademy.blogspot.com
Sub AddButton()
ActiveSheet.Buttons.Add(441, 12, 88.5, 26.25).Select 'Locate and measure the button
Selection.OnAction = "SayHello" 'Type the code name between the quotation marks
Selection.Characters.Text = "Test Buttons" 'What will write on the button
With Selection.Font 'Button formats
.Name = "Arial"
.FontStyle = "Bold"
.Size = 14
.Strikethrough = False
.Superscript = False
.Subscript = False
.OutlineFont = False
.Shadow = False
.Underline = xlUnderlineStyleNone
.ColorIndex = 32
End With
Range("A1").Select
End Sub
لتحميل كود انشاء الأزرار
يمكنك انشاء أو خلق موديول جديد بواسطة كود فيجوال بيسك للتطبيقات وإضافة أسطر برمجية بداخله
الخطوات- اضغط على ALT + F11
- من قائمة Tools
- اضغط على References
- قم بالبحث عن المكتبة التالية واختيارها
- Microsoft Visual Basic For Applications Extensibility 5.3
- ثم الحفظ ، واغلق الملف ، ثم اعد فتحه من جديد
- تأكد من تفعيل المكتبة
- قم بالضغط كليك يمين على يسار النافذة
- اختر Insert >> Module
- قم بكتابة الكودين التاليين
- ثم قم بإنشاء زر داخل ورقة العمل
- وانشاء ارتباط بالكود المسمي AddModule
- ملحوظة بدون تفعيل المكتبة المشار اليها أعلاه لن يتم تنفيذ عمل الكود وستحصل على خطأ مرجعي
الكود الأول ، خاص بإنشاء Stander Module جديد
سنقوم بتسمية الموديول الجديد باسم MyModule
الكود الثاني ، خاص بإضافة اجراءات (اسطر الشفرة ) داخل الموديول الجديد
'https://elshriefacademy.blogspot.com
Sub AddModule()
Dim ModProj As VBProject
Dim ModComp As VBComponent 'to add new object
Set ModProj = ActiveWorkbook.VBProject
Set ModComp = ModProj.VBComponents.Add(vbext_ct_StdModule)
ModComp.Name = "MyModule" 'name the module
Call AddProcedure ' call the next module to insert procedure
End Sub
Sub AddProcedure()
Dim ProcProj As VBProject
Dim ProcComp As VBComponent
Dim CodeMod As CodeModule
Dim LineNum As Long
Const DQUOTE = """"
Set ProcProj = ActiveWorkbook.VBProject
Set ProcComp = ProcProj.VBComponents("MyModule")
Set CodeMod = ProcComp.CodeModule
With CodeMod
LineNum = .CountOfLines + 1
.InsertLines LineNum, "Sub SayHello()"
LineNum = LineNum + 1
.InsertLines LineNum, " MsgBox " & DQUOTE & "Hello World" & DQUOTE
LineNum = LineNum + 1
.InsertLines LineNum, "End Sub"
End With
End Sub
لتحميل كود انشاء الموديول