Worksheet Method
سنتحدث عن باقي اشهر الأساليب لكائن ورقة العمل وهم
Select Worksheet method
Protect Worksheet method
UnProtect Worksheet Method
طريقة تستخدم بشكل متكرر أثناء كتابة الأكواد.
يجب قبل تحديد أي خلية أو نطاق ، قم أولاً بتنشيط ورقة العمل.
يمكنك التنشيط من خلال رقم ورقة العمل كمجموعة ، أو من خلال اسم ورقة العمل .
Password سلسلة تحدد كلمة المرور .
DrawingObjects لحماية الأشكال.
Contents لحماية المحتويات ، بالنسبة إلى المخطط ، يحمي هذا المخطط بأكمله ، وبالنسبة لورقة العمل ، هذا يحمي الخلايا المؤمنة.
Scenarios لحماية سيناريوهات ، هذه الوسيطة صالحة فقط لأوراق العمل.
UserInterfaceOnly لحماية واجهة المستخدم فقط.
AllowFormattingCells يسمح للمستخدم بتنسيق أي خلية في ورقة العمل المحمية.
AllowFormattingColumns يسمح للمستخدم بتنسيق أي عمود في ورقة العمل المحمية.
AllowFormattingRows يسمح للمستخدم بتنسيق أي صف في ورقة العمل المحمية.
AllowInsertingHyperlinks يسمح للمستخدم بإدراج ارتباطات تشعبية في ورقة العمل المحمية.
AllowDeletingColumns يسمح للمستخدم بحذف الأعمدة في ورقة العمل المحمية ، حيث يتم إلغاء تأمين كل خلية في العمود الذي سيتم حذفه.
AllowDeletingRows يسمح للمستخدم بحذف الصفوف في ورقة العمل المحمية ، حيث يتم إلغاء تأمين كل خلية في الصف الذي سيتم حذفه.
AllowSorting يسمح للمستخدم بالفرز على ورقة العمل المحمية ، لاحظ أنه يجب أن تكون كل خلية في نطاق الفرز غير مقفلة أو غير محمية.
AllowFiltering يسمح للمستخدم بتعيين الفلاتر في ورقة العمل المحمية ، ويمكن للمستخدمين تغيير معايير التصفية ولكن لا يمكنهم تمكين أو تعطيل عامل التصفية التلقائي ، ويمكن للمستخدمين تعيين عوامل التصفية على عامل تصفية تلقائي موجود.
AllowUsingPivotTables يسمح للمستخدم باستخدام تقارير الجدول المحوري في ورقة العمل المحمية.
ماذا لو أردت حماية جميع أوراق العمل دفعة واحدة ؟
نستخدم ( المتغيرات ) و ( حلقة تكرارية ) لكى نتمكن من حماية جميع الأوراق دفعة واحدة .
أين يوضع هذا الكود ؟
يوضع بحدث فتح المصنف ، أو وضعه بموديول واستدعاؤه عند حدث فتح المصنف .
ماذا لو أدخل المستخدم كلمة سر خاطئة ؟
ستظهر رسالة خطأ برمجية رقم 1004 وبالطبع هذا أمر غير احترافي .
لماذا هو غير احترافي ؟
لأن الرسالة التى ستظهر يكون به زر Debug لو ضغط المستخدم عليه
سيتم نقله الى الخطأ بداخل المحرر .
نلجأ الى استخدام دالة الرسالة ، بناء على شرط .
تغيير الحالة المؤمنة أو غير المقفلة للخلايا والكائنات والسيناريوهات
عندما تكون ورقة العمل محمية فقط ، يمكن تحرير العناصر غير المؤمنة.
سنتعرف من خلال الأسطر البرمجية التالية كيفية قفل النطاقات والخلايا والمخططات والأشكال والسيناريوهات.
سنتحدث عن باقي اشهر الأساليب لكائن ورقة العمل وهم
Select Worksheet method
Protect Worksheet method
UnProtect Worksheet Method
Select Worksheet method
تحديد ورقة العمل
نستخدم طريقة تحديد كائن ورقة العمل لتحديد أي خلية أو نطاق.طريقة تستخدم بشكل متكرر أثناء كتابة الأكواد.
يجب قبل تحديد أي خلية أو نطاق ، قم أولاً بتنشيط ورقة العمل.
يمكنك التنشيط من خلال رقم ورقة العمل كمجموعة ، أو من خلال اسم ورقة العمل .
'https://elshriefacademy.blogspot.com
Sub Select_Range()
Worksheets("Sheet1").Activate
Range("A1").Select
End Sub
'OR -----------------------
Sub Select_Range_1()
Worksheets(1).Activate
Range("A1").Select
End Sub
Protect Worksheet method
حماية ورقة العمل
Syntax
,[Worksheets(" Your Worksheet Name ").Protect([Password
,[DrawingObjects]
,[Contents]
, [Scenarios]
,[UserInterfaceOnly]
,[AllowFormattingCells]
,[AllowFormattingColumns]
,[AllowFormattingRows]
,[AllowInsertingColumns]
,[AllowInsertingRows]
,[AllowInsertingHyperlinks]
,[AllowDeletingColumns]
,[AllowDeletingRows]
,[AllowSorting]
,[AllowFiltering]
([AllowUsingPivotTables]
DrawingObjects لحماية الأشكال.
Contents لحماية المحتويات ، بالنسبة إلى المخطط ، يحمي هذا المخطط بأكمله ، وبالنسبة لورقة العمل ، هذا يحمي الخلايا المؤمنة.
Scenarios لحماية سيناريوهات ، هذه الوسيطة صالحة فقط لأوراق العمل.
UserInterfaceOnly لحماية واجهة المستخدم فقط.
AllowFormattingCells يسمح للمستخدم بتنسيق أي خلية في ورقة العمل المحمية.
AllowFormattingColumns يسمح للمستخدم بتنسيق أي عمود في ورقة العمل المحمية.
AllowFormattingRows يسمح للمستخدم بتنسيق أي صف في ورقة العمل المحمية.
AllowInsertingHyperlinks يسمح للمستخدم بإدراج ارتباطات تشعبية في ورقة العمل المحمية.
AllowDeletingColumns يسمح للمستخدم بحذف الأعمدة في ورقة العمل المحمية ، حيث يتم إلغاء تأمين كل خلية في العمود الذي سيتم حذفه.
AllowDeletingRows يسمح للمستخدم بحذف الصفوف في ورقة العمل المحمية ، حيث يتم إلغاء تأمين كل خلية في الصف الذي سيتم حذفه.
AllowSorting يسمح للمستخدم بالفرز على ورقة العمل المحمية ، لاحظ أنه يجب أن تكون كل خلية في نطاق الفرز غير مقفلة أو غير محمية.
AllowFiltering يسمح للمستخدم بتعيين الفلاتر في ورقة العمل المحمية ، ويمكن للمستخدمين تغيير معايير التصفية ولكن لا يمكنهم تمكين أو تعطيل عامل التصفية التلقائي ، ويمكن للمستخدمين تعيين عوامل التصفية على عامل تصفية تلقائي موجود.
AllowUsingPivotTables يسمح للمستخدم باستخدام تقارير الجدول المحوري في ورقة العمل المحمية.
'https://elshriefacademy.blogspot.com
Sub Protect_WorkSheet_With_Password()
Sheets("Sheet1").Protect Password:="myPassword"
End Sub
UnProtect Worksheet Method
الغاء حماية ورقة العمل
Syntax
([Worksheets("Your Worksheet Name").Unprotect([Password
'https://elshriefacademy.blogspot.com
Sub Unprotect_WorkSheet()
Sheets("Sheet1").Unprotect Password:="myPassword"
End Sub
ماذا لو أردت حماية جميع أوراق العمل دفعة واحدة ؟
نستخدم ( المتغيرات ) و ( حلقة تكرارية ) لكى نتمكن من حماية جميع الأوراق دفعة واحدة .
أين يوضع هذا الكود ؟
يوضع بحدث فتح المصنف ، أو وضعه بموديول واستدعاؤه عند حدث فتح المصنف .
'https://elshriefacademy.blogspot.com
Private Sub Workbook_Open()
'Declare your variables
Dim ws As Worksheet
'Start looping through all worksheets
For Each ws In ActiveWorkbook.Worksheets
'Protect all worksheets with _
password and loop to next worksheet
ws.Protect Password:="myPassword"
Next ws
End Sub
كيفية استخدام المعلمات الأخري
'https://elshriefacademy.blogspot.com
'Apply worksheet contents protection only
Sheets("Sheet1").Protect Password:="myPassword", _
DrawingObjects:=False, _
Contents:=True, _
Scenarios:=False
'----------------------
'Apply worksheet objects protection only
Sheets("Sheet1").Protect Password:="myPassword", _
DrawingObjects:=True, _
Contents:=False, _
Scenarios:=False
ماذا لو أدخل المستخدم كلمة سر خاطئة ؟
ستظهر رسالة خطأ برمجية رقم 1004 وبالطبع هذا أمر غير احترافي .
لماذا هو غير احترافي ؟
لأن الرسالة التى ستظهر يكون به زر Debug لو ضغط المستخدم عليه
سيتم نقله الى الخطأ بداخل المحرر .
نلجأ الى استخدام دالة الرسالة ، بناء على شرط .
'https://elshriefacademy.blogspot.com
On Error Resume Next
Sheets("Sheet1").Unprotect Password:="myPassword"
If Err.Number <> 0 Then
MsgBox "The Password Provided is incorrect"
Exit Sub
End If
On Error GoTo 0
تغيير الحالة المؤمنة أو غير المقفلة للخلايا والكائنات والسيناريوهات
عندما تكون ورقة العمل محمية فقط ، يمكن تحرير العناصر غير المؤمنة.
سنتعرف من خلال الأسطر البرمجية التالية كيفية قفل النطاقات والخلايا والمخططات والأشكال والسيناريوهات.
'https://elshriefacademy.blogspot.com
'Changing the options to lock or unlock cells
Sheets("Sheet1").Range("A1").Locked =True
'-----------------------
'Changing the options to lock or unlock cells all cells
Sheets("Sheet1").Cells.Locked =True
'-----------------------
'Changing the options to lock or unlock charts
Sheets("Sheet1").ChartObjects("Chart 1").Locked =True
'-----------------------
'Changing the option to lock or unlock shapes
Sheets("Sheet1").Shapes("Rectangle 1").Locked =True
'-----------------------
'Changing the option to lock or unlock a scenario
Sheets("Sheet1").Scenarios("scenarioName").Locked =True