الوصول إلى النطاقات والأوراق المحمية وتعديلها يمكن للنطاق المحمي حماية نطاق ثابت من الخلايا أو نطاق مُعنون. قد تتضمن ورقة البيانات مناطق غير محمية. بالنسبة إلى
جداول البيانات التي تم إنشاؤها باستخدام الإصدار القديم من"جداول بيانات Google"، يمكنك استخدام الفئة
بدلاً من ذلك.
PageProtection
// Protect range A1:B10, then remove all other users from the list of editors. var ss = SpreadsheetApp.getActive(); var range = ss.getRange('A1:B10'); var protection = range.protect().setDescription('Sample protected range'); // Ensure the current user is an editor before removing others. Otherwise, if the user's edit // permission comes from a group, the script throws an exception upon removing the group. var me = Session.getEffectiveUser(); protection.addEditor(me); protection.removeEditors(protection.getEditors()); if (protection.canDomainEdit()) { protection.setDomainEdit(false); }
// Remove all range protections in the spreadsheet that the user has permission to edit. var ss = SpreadsheetApp.getActive(); var protections = ss.getProtections(SpreadsheetApp.ProtectionType.RANGE); for (var i = 0; i < protections.length; i++) { var protection = protections[i]; if (protection.canEdit()) { protection.remove(); } }
// Protect the active sheet, then remove all other users from the list of editors. var sheet = SpreadsheetApp.getActiveSheet(); var protection = sheet.protect().setDescription('Sample protected sheet'); // Ensure the current user is an editor before removing others. Otherwise, if the user's edit // permission comes from a group, the script throws an exception upon removing the group. var me = Session.getEffectiveUser(); protection.addEditor(me); protection.removeEditors(protection.getEditors()); if (protection.canDomainEdit()) { protection.setDomainEdit(false); }
الطُرق
الطريقة | نوع الإرجاع | وصف قصير |
---|---|---|
addEditor(emailAddress) | Protection | إضافة مستخدم معيّن إلى قائمة أدوات تحرير الورقة أو النطاق المحمي. |
addEditor(user) | Protection | إضافة مستخدم معيّن إلى قائمة أدوات تحرير الورقة أو النطاق المحمي. |
addEditors(emailAddresses) | Protection | لإضافة صفيف معيّن من المستخدمين إلى قائمة أدوات تحرير الورقة أو النطاق المحمي. |
addTargetAudience(audienceId) | Protection | لإضافة الجمهور المستهدف المحدّد كمحرِّر للنطاق المحمي. |
canDomainEdit() | Boolean | تحدد ما إذا كان لدى جميع المستخدمين في النطاق الذي يملك جدول البيانات إذنًا لتعديل النطاق أو الورقة المحمية. |
canEdit() | Boolean | تحدِّد هذه السياسة ما إذا كان لدى المستخدم إذن بتعديل النطاق أو ورقة البيانات المحمية. |
getDescription() | String | الحصول على وصف النطاق المحمي أو ورقة البيانات المحمية. |
getEditors() | User[] | للحصول على قائمة بالمحررين للنطاق أو ورقة البيانات المحمية. |
getProtectionType() | ProtectionType | يحصل على نوع المنطقة المحمية، إما RANGE أو SHEET . |
getRange() | Range | الحصول على النطاق المحمي. |
getRangeName() | String | تحصل على اسم النطاق المحمي إذا كان مرتبطًا بنطاق مُعنون. |
getTargetAudiences() | TargetAudience[] | تعرض أرقام تعريف الجماهير المستهدفة التي يمكنها تعديل النطاق المحمي. |
getUnprotectedRanges() | Range[] | تعرض صفيفًا لنطاقات غير محمية داخل ورقة محمية. |
isWarningOnly() | Boolean | يحدّد هذا الإعداد ما إذا كانت المنطقة المحمية تستخدم حماية &عرض أسعار&مستندة إلى تحذير. |
remove() | void | إلغاء حماية النطاق أو الورقة. |
removeEditor(emailAddress) | Protection | إزالة المستخدم المحدد من قائمة محرري الورقة المحمية أو النطاق. |
removeEditor(user) | Protection | إزالة المستخدم المحدد من قائمة محرري الورقة المحمية أو النطاق. |
removeEditors(emailAddresses) | Protection | يزيل صفيفًا معينًا من المستخدمين من قائمة محرري الورقة المحمية أو النطاق المحمي. |
removeTargetAudience(audienceId) | Protection | إزالة الجمهور المستهدف المحدد كمحرِّر للنطاق المحمي. |
setDescription(description) | Protection | لضبط وصف النطاق المحمي أو الورقة. |
setDomainEdit(editable) | Protection | يحدِّد هذا الإعداد ما إذا كان يمكن لجميع المستخدمين في النطاق الذي يملك جدول البيانات الحصول على إذن لتعديل النطاق أو ورقة البيانات المحمية. |
setNamedRange(namedRange) | Protection | تربط النطاق المحمي بنطاق اسم حالي. |
setRange(range) | Protection | لضبط النطاق المحمي. |
setRangeName(rangeName) | Protection | تربط النطاق المحمي بنطاق اسم حالي. |
setUnprotectedRanges(ranges) | Protection | إلغاء حماية مصفوفة محددة من النطاقات داخل ورقة محمية. |
setWarningOnly(warningOnly) | Protection | لتحديد ما إذا كان هذا النطاق المحمي يستخدم الحماية من "عرض الأسعار"؟ |
المستندات التفصيلية
addEditor(emailAddress)
إضافة مستخدم معيّن إلى قائمة أدوات تحرير الورقة أو النطاق المحمي. ولا تمنح هذه الطريقة المستخدم تلقائيًا إذنًا لتعديل جدول البيانات نفسه، ولتنفيذ ذلك، يمكنك استدعاء Spreadsheet.addEditor(emailAddress)
.
المعلّمات
الاسم | النوع | الوصف |
---|---|---|
emailAddress | String | عنوان البريد الإلكتروني للمستخدم المطلوب إضافته. |
تذكرة ذهاب وعودة
Protection
: العنصر الذي يمثّل إعدادات الحماية، للسلسلة
التفويض
تتطلب النصوص البرمجية التي تستخدم هذه الطريقة تفويضًا مع واحد أو أكثر من النطاقات التالية:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
addEditor(user)
إضافة مستخدم معيّن إلى قائمة أدوات تحرير الورقة أو النطاق المحمي. ولا تمنح هذه الطريقة المستخدم تلقائيًا إذنًا لتعديل جدول البيانات نفسه، ولتنفيذ ذلك، يمكنك استدعاء Spreadsheet.addEditor(user)
.
المعلّمات
الاسم | النوع | الوصف |
---|---|---|
user | User | تمثيل للمستخدم لإضافته. |
تذكرة ذهاب وعودة
Protection
: العنصر الذي يمثّل إعدادات الحماية، للسلسلة
التفويض
تتطلب النصوص البرمجية التي تستخدم هذه الطريقة تفويضًا مع واحد أو أكثر من النطاقات التالية:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
addEditors(emailAddresses)
لإضافة صفيف معيّن من المستخدمين إلى قائمة أدوات تحرير الورقة أو النطاق المحمي. ولا تمنح هذه الطريقة المستخدمين تلقائيًا إذنًا لتعديل جدول البيانات نفسه، ولتنفيذ ذلك، اطلب Spreadsheet.addEditors(emailAddresses)
.
المعلّمات
الاسم | النوع | الوصف |
---|---|---|
emailAddresses | String[] | مصفوفة من عناوين البريد الإلكتروني للمستخدمين المطلوب إضافتها. |
تذكرة ذهاب وعودة
Protection
: العنصر الذي يمثّل إعدادات الحماية، للسلسلة
التفويض
تتطلب النصوص البرمجية التي تستخدم هذه الطريقة تفويضًا مع واحد أو أكثر من النطاقات التالية:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
addTargetAudience(audienceId)
لإضافة الجمهور المستهدف المحدّد كمحرِّر للنطاق المحمي.
المعلّمات
الاسم | النوع | الوصف |
---|---|---|
audienceId | String | رقم تعريف الجمهور المستهدف المطلوب إضافته. |
تذكرة ذهاب وعودة
Protection
: العنصر الذي يمثّل إعدادات الحماية، للسلسلة.
التفويض
تتطلب النصوص البرمجية التي تستخدم هذه الطريقة تفويضًا مع واحد أو أكثر من النطاقات التالية:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
canDomainEdit()
تحدد ما إذا كان لدى جميع المستخدمين في النطاق الذي يملك جدول البيانات إذنًا لتعديل النطاق أو الورقة المحمية. ويتم طرح استثناء إذا لم يكن لدى المستخدم إذن بتعديل النطاق أو ورقة البيانات المحمية.
تذكرة ذهاب وعودة
Boolean
— true
إذا كان لدى جميع المستخدمين في النطاق الذي يملك جدول البيانات إذنًا
لتعديل النطاق أو الورقة المحمية، false
وإذا لم يكن الأمر كذلك
التفويض
تتطلب النصوص البرمجية التي تستخدم هذه الطريقة تفويضًا مع واحد أو أكثر من النطاقات التالية:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
canEdit()
تحدِّد هذه السياسة ما إذا كان لدى المستخدم إذن بتعديل النطاق أو ورقة البيانات المحمية. ويمكن لمالك جدول البيانات دائمًا تعديل النطاقات والأوراق المحمية.
// Remove all range protections in the spreadsheet that the user has permission to edit. var ss = SpreadsheetApp.getActive(); var protections = ss.getProtections(SpreadsheetApp.ProtectionType.RANGE); for (var i = 0; i < protections.length; i++) { var protection = protections[i]; if (protection.canEdit()) { protection.remove(); } }
تذكرة ذهاب وعودة
Boolean
— true
إذا كان لدى المستخدم إذن لتعديل النطاق أو الورقة المحمية، false
إذا لم يكن لدى المستخدم إذن بتعديل
التفويض
تتطلب النصوص البرمجية التي تستخدم هذه الطريقة تفويضًا مع واحد أو أكثر من النطاقات التالية:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
getDescription()
الحصول على وصف النطاق المحمي أو ورقة البيانات المحمية. في حال عدم ضبط وصف، ستعرض هذه الطريقة سلسلة فارغة.
تذكرة ذهاب وعودة
String
- وصف النطاق أو الورقة المحمية أو سلسلة فارغة في حال عدم ضبط وصف
التفويض
تتطلب النصوص البرمجية التي تستخدم هذه الطريقة تفويضًا مع واحد أو أكثر من النطاقات التالية:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
getEditors()
للحصول على قائمة بالمحررين للنطاق أو ورقة البيانات المحمية. ويتم طرح استثناء إذا لم يكن لدى المستخدم إذن لتعديل النطاق أو الورقة المحمية.
// Protect the active sheet, then remove all other users from the list of editors. var sheet = SpreadsheetApp.getActiveSheet(); var protection = sheet.protect().setDescription('Sample protected sheet'); // Ensure the current user is an editor before removing others. Otherwise, if the user's edit // permission comes from a group, the script throws an exception upon removing the group. var me = Session.getEffectiveUser(); protection.addEditor(me); protection.removeEditors(protection.getEditors()); if (protection.canDomainEdit()) { protection.setDomainEdit(false); }
تذكرة ذهاب وعودة
User[]
: مصفوفة من المستخدمين لديهم إذن بتعديل النطاق أو ورقة البيانات المحمية
التفويض
تتطلب النصوص البرمجية التي تستخدم هذه الطريقة تفويضًا مع واحد أو أكثر من النطاقات التالية:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
getProtectionType()
يحصل على نوع المنطقة المحمية، إما RANGE
أو SHEET
.
تذكرة ذهاب وعودة
ProtectionType
— نوع المنطقة المحمية، إما RANGE
أو SHEET
التفويض
تتطلب النصوص البرمجية التي تستخدم هذه الطريقة تفويضًا مع واحد أو أكثر من النطاقات التالية:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
getRange()
الحصول على النطاق المحمي. إذا تم تطبيق الحماية على ورقة البيانات بدلاً من نطاقها، ستعرض هذه الطريقة نطاقًا يمتد للورقة الكاملة.
تذكرة ذهاب وعودة
Range
- النطاق المحمي
التفويض
تتطلب النصوص البرمجية التي تستخدم هذه الطريقة تفويضًا مع واحد أو أكثر من النطاقات التالية:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
getRangeName()
تحصل على اسم النطاق المحمي إذا كان مرتبطًا بنطاق مُعنون. عرض null
إذا لم تكن الحماية مرتبطة بنطاق مُعنون. تجدر الإشارة إلى أنّ النصوص البرمجية يجب أن تطلب صراحةً
setRangeName(rangeName)
لربط نطاق محمي بنطاق مُسمّى. ولا يكفي استدعاء
Range.protect()
لإنشاء حماية من Range
الذي يُفترض أن يكون نطاقًا مُعنونًا، بدون طلب setRangeName(rangeName)
. ولكن إنشاء نطاق محمي من نطاق مُعنون في واجهة مستخدم "جداول بيانات Google" يتم ربطه تلقائيًا.
// Protect a named range in a spreadsheet and log the name of the protected range. var ss = SpreadsheetApp.getActive(); var range = ss.getRange('A1:B10'); var protection = range.protect(); ss.setNamedRange('Test', range); // Create a named range. protection.setRangeName('Test'); // Associate the protection with the named range. Logger.log(protection.getRangeName()); // Verify the name of the protected range.
تذكرة ذهاب وعودة
String
— اسم النطاق المحمي، أو null
إذا لم يكن النطاق المحمي
مرتبطًا بنطاق مُعنون
التفويض
تتطلب النصوص البرمجية التي تستخدم هذه الطريقة تفويضًا مع واحد أو أكثر من النطاقات التالية:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
getTargetAudiences()
تعرض أرقام تعريف الجماهير المستهدفة التي يمكنها تعديل النطاق المحمي.
تذكرة ذهاب وعودة
TargetAudience[]
: مصفوفة من أرقام تعريف الجماهير المستهدفة.
التفويض
تتطلب النصوص البرمجية التي تستخدم هذه الطريقة تفويضًا مع واحد أو أكثر من النطاقات التالية:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
getUnprotectedRanges()
تعرض صفيفًا لنطاقات غير محمية داخل ورقة محمية. إذا كان الكائن Protection
يتوافق مع نطاق محمي بدلاً من ورقة بيانات محمية، تعرض هذه الطريقة مصفوفة فارغة. لتغيير النطاقات غير المحمية، استخدم setUnprotectedRanges(ranges)
لضبط مصفوفة جديدة من النطاقات. ولإعادة حماية الورقة بأكملها، حدد مصفوفة فارغة.
// Unprotect cells E2:F5 in addition to any other unprotected ranges in the protected sheet. var sheet = SpreadsheetApp.getActiveSheet(); var protection = sheet.protect(); var unprotected = protection.getUnprotectedRanges(); unprotected.push(sheet.getRange('E2:F5')); protection.setUnprotectedRanges(unprotected);
تذكرة ذهاب وعودة
Range[]
: مصفوفة من نطاقات غير محمية داخل ورقة بيانات محمية
التفويض
تتطلب النصوص البرمجية التي تستخدم هذه الطريقة تفويضًا مع واحد أو أكثر من النطاقات التالية:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
isWarningOnly()
يحدّد هذا الإعداد ما إذا كانت المنطقة المحمية تستخدم حماية &عرض أسعار&مستندة إلى تحذير. يُقصد بالحماية المستندة إلى التحذير أنّ كل مستخدم يمكنه تعديل البيانات في المنطقة، ما عدا التعديل، ويُصدر تحذيرًا يطلب من المستخدم تأكيد التعديل. بشكل تلقائي، لا تستند النطاقات أو الأوراق المحمية إلى تحذيرات. لتغيير حالة التحذير، استخدِم setWarningOnly(warningOnly)
.
تذكرة ذهاب وعودة
Boolean
— true
إذا كان النطاق المحمي أو الورقة تستخدم فقط الحماية المستندة إلى التحذير
التفويض
تتطلب النصوص البرمجية التي تستخدم هذه الطريقة تفويضًا مع واحد أو أكثر من النطاقات التالية:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
remove()
إلغاء حماية النطاق أو الورقة.
// Remove all range protections in the spreadsheet that the user has permission to edit. var ss = SpreadsheetApp.getActive(); var protections = ss.getProtections(SpreadsheetApp.ProtectionType.RANGE); for (var i = 0; i < protections.length; i++) { var protection = protections[i]; if (protection.canEdit()) { protection.remove(); } }
// Remove sheet protection from the active sheet, if the user has permission to edit it. var sheet = SpreadsheetApp.getActiveSheet(); var protection = sheet.getProtections(SpreadsheetApp.ProtectionType.SHEET)[0]; if (protection && protection.canEdit()) { protection.remove(); }
التفويض
تتطلب النصوص البرمجية التي تستخدم هذه الطريقة تفويضًا مع واحد أو أكثر من النطاقات التالية:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
removeEditor(emailAddress)
إزالة المستخدم المحدد من قائمة محرري الورقة المحمية أو النطاق. ملاحظة: إذا كان المستخدم عضوًا في إحدى "مجموعات Google" لديه إذن التعديل، أو إذا كان جميع المستخدمين في النطاق لديهم إذن التعديل، سيظل بإمكان المستخدم تعديل المنطقة المحمية. ولا يمكن إزالة مالك جدول البيانات أو المستخدم الحالي.
المعلّمات
الاسم | النوع | الوصف |
---|---|---|
emailAddress | String | عنوان البريد الإلكتروني للمستخدم المطلوب إزالته. |
تذكرة ذهاب وعودة
Protection
: العنصر الذي يمثّل إعدادات الحماية، للسلسلة
التفويض
تتطلب النصوص البرمجية التي تستخدم هذه الطريقة تفويضًا مع واحد أو أكثر من النطاقات التالية:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
removeEditor(user)
إزالة المستخدم المحدد من قائمة محرري الورقة المحمية أو النطاق. يُرجى ملاحظة أنّه إذا كان المستخدم عضوًا في إحدى "مجموعات Google" لديه إذن تعديل أو إذا كان لدى جميع المستخدمين في النطاق إذن تعديل، سيظل بإمكان المستخدم تعديل المنطقة المحمية أيضًا. ولا يمكن إزالة مالك جدول البيانات أو المستخدم الحالي.
المعلّمات
الاسم | النوع | الوصف |
---|---|---|
user | User | تمثيل المستخدم المطلوب إزالته. |
تذكرة ذهاب وعودة
Protection
: العنصر الذي يمثّل إعدادات الحماية، للسلسلة
التفويض
تتطلب النصوص البرمجية التي تستخدم هذه الطريقة تفويضًا مع واحد أو أكثر من النطاقات التالية:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
removeEditors(emailAddresses)
يزيل صفيفًا معينًا من المستخدمين من قائمة محرري الورقة المحمية أو النطاق المحمي. يُرجى العلم بأنّه إذا كان أي من المستخدمين أعضاء في "مجموعة Google" لديهم إذن التعديل، أو إذا كان لدى جميع المستخدمين في النطاق إذن التعديل، سيظل بإمكان هؤلاء المستخدمين تعديل المنطقة المحمية. ولا يمكن إزالة مالك جدول البيانات أو المستخدم الحالي.
// Protect the active sheet, then remove all other users from the list of editors. var sheet = SpreadsheetApp.getActiveSheet(); var protection = sheet.protect().setDescription('Sample protected sheet'); // Ensure the current user is an editor before removing others. Otherwise, if the user's edit // permission comes from a group, the script throws an exception upon removing the group. var me = Session.getEffectiveUser(); protection.addEditor(me); protection.removeEditors(protection.getEditors()); if (protection.canDomainEdit()) { protection.setDomainEdit(false); }
المعلّمات
الاسم | النوع | الوصف |
---|---|---|
emailAddresses | String[] | مصفوفة من عناوين البريد الإلكتروني للمستخدمين المطلوب إزالتهم. |
تذكرة ذهاب وعودة
Protection
: العنصر الذي يمثّل إعدادات الحماية، للسلسلة
التفويض
تتطلب النصوص البرمجية التي تستخدم هذه الطريقة تفويضًا مع واحد أو أكثر من النطاقات التالية:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
removeTargetAudience(audienceId)
إزالة الجمهور المستهدف المحدد كمحرِّر للنطاق المحمي.
المعلّمات
الاسم | النوع | الوصف |
---|---|---|
audienceId | String | رقم تعريف الجمهور المستهدف المطلوب إزالته. |
تذكرة ذهاب وعودة
Protection
: العنصر الذي يمثّل إعدادات الحماية، للسلسلة.
التفويض
تتطلب النصوص البرمجية التي تستخدم هذه الطريقة تفويضًا مع واحد أو أكثر من النطاقات التالية:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
setDescription(description)
لضبط وصف النطاق المحمي أو الورقة.
المعلّمات
الاسم | النوع | الوصف |
---|---|---|
description | String | وصف النطاق أو الورقة المحمية. |
تذكرة ذهاب وعودة
Protection
: العنصر الذي يمثّل إعدادات الحماية، للسلسلة.
التفويض
تتطلب النصوص البرمجية التي تستخدم هذه الطريقة تفويضًا مع واحد أو أكثر من النطاقات التالية:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
setDomainEdit(editable)
يحدِّد هذا الإعداد ما إذا كان يمكن لجميع المستخدمين في النطاق الذي يملك جدول البيانات الحصول على إذن لتعديل النطاق أو ورقة البيانات المحمية. يُرجى العلم أنّه يمكن لأي مستخدم لديه إذن تعديل صريح تعديل المنطقة المحمية بغض النظر عن هذا الإعداد. ويُستثنى من ذلك إذا كان جدول البيانات لا ينتمي إلى نطاق Google Workspace (أي إذا كان مملوكًا لحساب gmail.com).
المعلّمات
الاسم | النوع | الوصف |
---|---|---|
editable | Boolean | true إذا كان على جميع المستخدمين في النطاق الذي يملك جدول البيانات
الحصول على إذن لتعديل النطاق أو الورقة المحمية، false إذا لم يكن الأمر كذلك. |
تذكرة ذهاب وعودة
Protection
: العنصر الذي يمثّل إعدادات الحماية، للسلسلة
التفويض
تتطلب النصوص البرمجية التي تستخدم هذه الطريقة تفويضًا مع واحد أو أكثر من النطاقات التالية:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
setNamedRange(namedRange)
تربط النطاق المحمي بنطاق اسم حالي. إذا كان النطاق المُسمى يغطي منطقة مختلفة عن النطاق المحمي الحالي، تنقل هذه الطريقة الحماية لتغطية النطاق المُسمى بدلاً من ذلك. يجب أن يكون النطاق المُسمَّى في الورقة نفسها المُدرَجة في النطاق المحمي الحالي. تجدر الإشارة إلى أنّ النصوص البرمجية يجب أن تستدعي هذه الطريقة صراحةً لربط نطاق محمي
بنطاق محدّد. واستدعاء Range.protect()
لإنشاء حماية من نطاق Range
يُطلق عليه نطاقًا مُسمّى، بدون استدعاء setRangeName(rangeName)
، ليس كافيًا لربطه. ولكن يؤدي إنشاء نطاق محمي من نطاق مُعنون في واجهة مستخدم "جداول بيانات Google" إلى ربطه تلقائيًا.
المعلّمات
الاسم | النوع | الوصف |
---|---|---|
namedRange | NamedRange | النطاق المُسمّى الحالي لربطه بالنطاق المحمي. |
تذكرة ذهاب وعودة
Protection
: العنصر الذي يمثّل إعدادات الحماية، للسلسلة
التفويض
تتطلب النصوص البرمجية التي تستخدم هذه الطريقة تفويضًا مع واحد أو أكثر من النطاقات التالية:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
setRange(range)
لضبط النطاق المحمي. وإذا كان النطاق المحدّد يغطي منطقة مختلفة عن النطاق المحمي الحالي، تنقل هذه الطريقة الحماية لتغطية النطاق الجديد بدلاً من ذلك.
المعلّمات
الاسم | النوع | الوصف |
---|---|---|
range | Range | النطاق الجديد للحماية من التعديلات. |
تذكرة ذهاب وعودة
Protection
: العنصر الذي يمثّل إعدادات الحماية، للسلسلة
التفويض
تتطلب النصوص البرمجية التي تستخدم هذه الطريقة تفويضًا مع واحد أو أكثر من النطاقات التالية:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
setRangeName(rangeName)
تربط النطاق المحمي بنطاق اسم حالي. إذا كان النطاق المُسمى يغطي منطقة مختلفة عن النطاق المحمي الحالي، تنقل هذه الطريقة الحماية لتغطية النطاق المُسمى بدلاً من ذلك. يجب أن يكون النطاق المُسمَّى في الورقة نفسها المُدرَجة في النطاق المحمي الحالي. تجدر الإشارة إلى أنّ النصوص البرمجية يجب أن تستدعي هذه الطريقة صراحةً لربط نطاق محمي
بنطاق محدّد. واستدعاء Range.protect()
لإنشاء حماية من نطاق Range
يُطلق عليه نطاقًا مُسمّى، بدون استدعاء setRangeName(rangeName)
، ليس كافيًا لربطه. ولكن يؤدي إنشاء نطاق محمي من نطاق مُعنون في واجهة مستخدم "جداول بيانات Google" إلى ربطه تلقائيًا.
// Protect a named range in a spreadsheet and log the name of the protected range. var ss = SpreadsheetApp.getActive(); var range = ss.getRange('A1:B10'); var protection = range.protect(); ss.setNamedRange('Test', range); // Create a named range. protection.setRangeName('Test'); // Associate the protection with the named range. Logger.log(protection.getRangeName()); // Verify the name of the protected range.
المعلّمات
الاسم | النوع | الوصف |
---|---|---|
rangeName | String | اسم النطاق المُسمّى الذي يجب حمايته. |
تذكرة ذهاب وعودة
Protection
: العنصر الذي يمثّل إعدادات الحماية، للسلسلة
التفويض
تتطلب النصوص البرمجية التي تستخدم هذه الطريقة تفويضًا مع واحد أو أكثر من النطاقات التالية:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
setUnprotectedRanges(ranges)
إلغاء حماية مصفوفة محددة من النطاقات داخل ورقة محمية. ويتم عرض استثناء إذا كان الكائن Protection
يتوافق مع نطاق محمي بدلاً من ورقة بيانات محمية أو إذا لم يكن أي من النطاقات المدرَجة في ورقة البيانات المحمية. لتغيير النطاقات غير المحمية، اضبط مصفوفة جديدة من النطاقات. ولإعادة حماية الورقة بالكامل، اضبط مصفوفة فارغة.
// Protect the active sheet except B2:C5, then remove all other users from the list of editors. var sheet = SpreadsheetApp.getActiveSheet(); var protection = sheet.protect().setDescription('Sample protected sheet'); var unprotected = sheet.getRange('B2:C5'); protection.setUnprotectedRanges([unprotected]); // Ensure the current user is an editor before removing others. Otherwise, if the user's edit // permission comes from a group, the script throws an exception upon removing the group. var me = Session.getEffectiveUser(); protection.addEditor(me); protection.removeEditors(protection.getEditors()); if (protection.canDomainEdit()) { protection.setDomainEdit(false); }
المعلّمات
الاسم | النوع | الوصف |
---|---|---|
ranges | Range[] | مصفوفة من النطاقات لتتركها بدون حماية داخل ورقة محمية. |
تذكرة ذهاب وعودة
Protection
: العنصر الذي يمثّل إعدادات الحماية، للسلسلة
التفويض
تتطلب النصوص البرمجية التي تستخدم هذه الطريقة تفويضًا مع واحد أو أكثر من النطاقات التالية:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
setWarningOnly(warningOnly)
لتحديد ما إذا كان هذا النطاق المحمي يستخدم الحماية من "عرض الأسعار"؟ يُقصد بالحماية المستندة إلى التحذير أنّ كل مستخدم يمكنه تعديل البيانات في المنطقة، ما عدا التعديل، ويُصدر تحذيرًا يطلب من المستخدم تأكيد التعديل. بشكل تلقائي، لا تستند النطاقات أو أوراق البيانات المحمية إلى تحذير. للتحقّق من حالة التحذير، يمكنك استخدام isWarningOnly()
.
المعلّمات
الاسم | النوع | الوصف |
---|---|---|
warningOnly | Boolean |
تذكرة ذهاب وعودة
Protection
: العنصر الذي يمثّل إعدادات الحماية، للسلسلة.
التفويض
تتطلب النصوص البرمجية التي تستخدم هذه الطريقة تفويضًا مع واحد أو أكثر من النطاقات التالية:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets