به محدوده ها و برگه های محافظت شده دسترسی داشته باشید و آنها را اصلاح کنید. یک محدوده محافظت شده می تواند از یک محدوده ایستا از سلول ها یا یک محدوده نامگذاری شده محافظت کند. یک صفحه محافظت شده ممکن است شامل مناطق محافظت نشده باشد. برای صفحهگستردههایی که با نسخه قدیمیتر «کاربرگنگار Google» ایجاد شدهاند، به جای آن از کلاس
استفاده کنید.Page Protection
// Protect range A1:B10, then remove all other users from the list of editors. const ss = SpreadsheetApp.getActive(); const range = ss.getRange('A1:B10'); const 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. const 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. const ss = SpreadsheetApp.getActive(); const protections = ss.getProtections(SpreadsheetApp.ProtectionType.RANGE); for (let i = 0; i < protections.length; i++) { const protection = protections[i]; if (protection.canEdit()) { protection.remove(); } }
// Protect the active sheet, then remove all other users from the list of // editors. const sheet = SpreadsheetApp.getActiveSheet(); const 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. const me = Session.getEffectiveUser(); protection.addEditor(me); protection.removeEditors(protection.getEditors()); if (protection.canDomainEdit()) { protection.setDomainEdit(false); }
روش ها
روش | نوع برگشت | شرح مختصر |
---|---|---|
add Editor(emailAddress) | Protection | کاربر داده شده را به لیست ویرایشگرهای صفحه یا محدوده محافظت شده اضافه می کند. |
add Editor(user) | Protection | کاربر داده شده را به لیست ویرایشگرهای صفحه یا محدوده محافظت شده اضافه می کند. |
add Editors(emailAddresses) | Protection | آرایه داده شده از کاربران را به لیست ویرایشگرهای صفحه یا محدوده محافظت شده اضافه می کند. |
add Target Audience(audienceId) | Protection | مخاطبین هدف مشخص شده را به عنوان ویرایشگر محدوده محافظت شده اضافه می کند. |
can Domain Edit() | Boolean | تعیین میکند که آیا همه کاربران در دامنهای که صفحهگسترده را دارند، مجوز ویرایش محدوده یا صفحه محافظتشده را دارند یا خیر. |
can Edit() | Boolean | تعیین می کند که آیا کاربر مجوز ویرایش محدوده یا صفحه محافظت شده را دارد یا خیر. |
get Description() | String | شرح محدوده یا برگه محافظت شده را دریافت می کند. |
get Editors() | User[] | لیست ویرایشگرهای محدوده یا برگه محافظت شده را دریافت می کند. |
get Protection Type() | Protection Type | نوع منطقه حفاظت شده، RANGE یا SHEET را دریافت می کند. |
get Range() | Range | محدوده ای که محافظت می شود را دریافت می کند. |
get Range Name() | String | اگر محدوده محافظت شده با محدوده نامگذاری شده مرتبط باشد، نام آن را دریافت میکند. |
get Target Audiences() | Target Audience[] | شناسههای مخاطبین هدف را برمیگرداند که میتوانند محدوده محافظت شده را ویرایش کنند. |
get Unprotected Ranges() | Range[] | آرایه ای از محدوده های محافظت نشده را در یک صفحه محافظت شده دریافت می کند. |
is Warning Only() | Boolean | تعیین می کند که آیا منطقه حفاظت شده از حفاظت "بر اساس هشدار" استفاده می کند یا خیر. |
remove() | void | محدوده یا صفحه را از بین می برد. |
remove Editor(emailAddress) | Protection | کاربر داده شده را از لیست ویرایشگرهای صفحه یا محدوده محافظت شده حذف می کند. |
remove Editor(user) | Protection | کاربر داده شده را از لیست ویرایشگرهای صفحه یا محدوده محافظت شده حذف می کند. |
remove Editors(emailAddresses) | Protection | آرایه داده شده از کاربران را از لیست ویرایشگرهای صفحه یا محدوده محافظت شده حذف می کند. |
remove Target Audience(audienceId) | Protection | مخاطبین هدف مشخص شده را به عنوان ویرایشگر محدوده محافظت شده حذف می کند. |
set Description(description) | Protection | شرح محدوده یا برگه محافظت شده را تنظیم می کند. |
set Domain Edit(editable) | Protection | تعیین میکند که آیا همه کاربران در دامنهای که صفحهگسترده را دارند، مجوز ویرایش محدوده یا صفحه محافظتشده را داشته باشند یا خیر. |
set Named Range(namedRange) | Protection | محدوده محافظت شده را با یک محدوده با نام موجود مرتبط می کند. |
set Range(range) | Protection | محدوده ای که محافظت می شود را تنظیم می کند. |
set Range Name(rangeName) | Protection | محدوده محافظت شده را با یک محدوده با نام موجود مرتبط می کند. |
set Unprotected Ranges(ranges) | Protection | آرایه محدوده داده شده در یک صفحه محافظت شده را از حالت محافظت خارج می کند. |
set Warning Only(warningOnly) | Protection | تعیین می کند که آیا این محدوده محافظت شده از محافظت "مبتنی بر هشدار" استفاده می کند یا خیر. |
مستندات دقیق
add Editor(emailAddress)
کاربر داده شده را به لیست ویرایشگرهای صفحه یا محدوده محافظت شده اضافه می کند. این روش به طور خودکار به کاربر اجازه ویرایش خود صفحه گسترده را نمی دهد. برای انجام این کار علاوه بر این، با Spreadsheet.addEditor(emailAddress)
تماس بگیرید.
// Opens the spreadsheet file by its URL. If you created your script from within // a Google Sheets file, you can use SpreadsheetApp.getActiveSpreadsheet() // instead. // TODO(developer): Replace the URL with your own. const ss = SpreadsheetApp.openByUrl( 'https://docs.google.com/spreadsheets/d/abc123456/edit', ); // Adds an editor to the spreadsheet using an email address. // TODO(developer): Replace the email address with a valid email. ss.addEditor('cloudysanfrancisco@gmail.com'); // Gets a sheet by its name and protects it. const sheet = ss.getSheetByName('Sheet1'); const sampleProtectedSheet = sheet.protect(); // Adds an editor of the protected sheet using an email address. // TODO(developer): Replace the email address with a valid email. sampleProtectedSheet.addEditor('cloudysanfrancisco@gmail.com'); // Gets the editors of the protected sheet. const editors = sampleProtectedSheet.getEditors(); // Logs the editors' email addresses to the console. for (const editor of editors) { console.log(editor.getEmail()); }
پارامترها
نام | تایپ کنید | توضیحات |
---|---|---|
email Address | String | آدرس ایمیل کاربر برای افزودن |
بازگشت
Protection
- شیئی که تنظیمات حفاظتی را برای زنجیر نشان می دهد.
مجوز
اسکریپت هایی که از این روش استفاده می کنند نیاز به مجوز با یک یا چند مورد از حوزه های زیر دارند:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
add Editor(user)
کاربر داده شده را به لیست ویرایشگرهای صفحه یا محدوده محافظت شده اضافه می کند. این روش به طور خودکار به کاربر اجازه ویرایش خود صفحه گسترده را نمی دهد. برای انجام این کار علاوه بر این، با Spreadsheet.addEditor(user)
تماس بگیرید.
// Opens the spreadsheet file by its URL. If you created your script from within // a Google Sheets file, you can use SpreadsheetApp.getActiveSpreadsheet() // instead. // TODO(developer): Replace the URL with your own. const ss = SpreadsheetApp.openByUrl( 'https://docs.google.com/spreadsheets/d/abc123456/edit', ); // Gets a sheet by its name. const sheet = ss.getSheetByName('Sheet1'); // Protects the sheet. const sampleProtectedSheet = sheet.protect(); // Adds the active user as an editor of the protected sheet. sampleProtectedSheet.addEditor(Session.getActiveUser()); // Gets the editors of the protected sheet. const editors = sampleProtectedSheet.getEditors(); // Logs the editors' email addresses to the console. for (const editor of editors) { console.log(editor.getEmail()); }
پارامترها
نام | تایپ کنید | توضیحات |
---|---|---|
user | User | نمایشی از کاربر برای افزودن. |
بازگشت
Protection
- شیئی که تنظیمات حفاظتی را برای زنجیر نشان می دهد.
مجوز
اسکریپت هایی که از این روش استفاده می کنند نیاز به مجوز با یک یا چند مورد از حوزه های زیر دارند:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
add Editors(emailAddresses)
آرایه داده شده از کاربران را به لیست ویرایشگرهای صفحه یا محدوده محافظت شده اضافه می کند. این روش به طور خودکار به کاربران اجازه ویرایش خود صفحه گسترده را نمی دهد. برای انجام این کار علاوه بر این، با Spreadsheet.addEditors(emailAddresses)
تماس بگیرید.
// Opens the spreadsheet file by its URL. If you created your script from within // a Google Sheets file, you can use SpreadsheetApp.getActiveSpreadsheet() // instead. // TODO(developer): Replace the URL with your own. const ss = SpreadsheetApp.openByUrl( 'https://docs.google.com/spreadsheets/d/abc123456/edit', ); // Gets a sheet by its name. const sheet = ss.getSheetByName('Sheet1'); // Creates variables for the email addresses to add as editors. // TODO(developer): Replace the email addresses with valid ones. const TEST_EMAIL_1 = 'cloudysanfrancisco@gmail.com'; const TEST_EMAIL_2 = 'baklavainthebalkans@gmail.com'; // Protects the sheet. const sampleProtectedSheet = sheet.protect(); // Adds editors to the protected sheet using the email address variables. sampleProtectedSheet.addEditors([TEST_EMAIL_1, TEST_EMAIL_2]); // Gets the editors of the protected sheet. const editors = sampleProtectedSheet.getEditors(); // Logs the editors' email addresses to the console. for (const editor of editors) { console.log(editor.getEmail()); }
پارامترها
نام | تایپ کنید | توضیحات |
---|---|---|
email Addresses | String[] | مجموعه ای از آدرس های ایمیل کاربران برای افزودن. |
بازگشت
Protection
- شیئی که تنظیمات حفاظتی را برای زنجیر نشان می دهد.
مجوز
اسکریپت هایی که از این روش استفاده می کنند نیاز به مجوز با یک یا چند مورد از حوزه های زیر دارند:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
add Target Audience(audienceId)
مخاطبین هدف مشخص شده را به عنوان ویرایشگر محدوده محافظت شده اضافه می کند.
پارامترها
نام | تایپ کنید | توضیحات |
---|---|---|
audience Id | String | شناسه مخاطب هدف برای افزودن. |
بازگشت
Protection
- شیئی که تنظیمات حفاظتی را برای زنجیر نشان می دهد.
مجوز
اسکریپت هایی که از این روش استفاده می کنند نیاز به مجوز با یک یا چند مورد از حوزه های زیر دارند:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
can Domain Edit()
تعیین میکند که آیا همه کاربران در دامنهای که صفحهگسترده را دارند، مجوز ویرایش محدوده یا صفحه محافظتشده را دارند یا خیر. در صورتی که کاربر مجوز ویرایش محدوده یا برگه محافظت شده را نداشته باشد، یک استثنا ایجاد می کند.
// Opens the spreadsheet file by its URL. If you created your script from within // a Google Sheets file, you can use SpreadsheetApp.getActiveSpreadsheet() // instead. // TODO(developer): Replace the URL with your own. const ss = SpreadsheetApp.openByUrl( 'https://docs.google.com/spreadsheets/d/abc123456/edit', ); // Gets a sheet by its name. const sheet = ss.getSheetByName('Sheet1'); // Protects the sheet. const sampleProtectedSheet = sheet.protect(); // Logs whether domain users have permission to edit the protected sheet to the // console. console.log(sampleProtectedSheet.canDomainEdit());
بازگشت
Boolean
- true
اگر همه کاربران در دامنه ای که صفحه گسترده دارند مجوز ویرایش محدوده یا صفحه محافظت شده را داشته باشند. اگر این کار را نکنند false
.
مجوز
اسکریپت هایی که از این روش استفاده می کنند نیاز به مجوز با یک یا چند مورد از حوزه های زیر دارند:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
can Edit()
تعیین می کند که آیا کاربر مجوز ویرایش محدوده یا صفحه محافظت شده را دارد یا خیر. مالک صفحهگسترده همیشه میتواند محدودهها و برگههای محافظتشده را ویرایش کند.
// Remove all range protections in the spreadsheet that the user has permission // to edit. const ss = SpreadsheetApp.getActive(); const protections = ss.getProtections(SpreadsheetApp.ProtectionType.RANGE); for (let i = 0; i < protections.length; i++) { const protection = protections[i]; if (protection.canEdit()) { protection.remove(); } }
بازگشت
Boolean
- true
اگر کاربر اجازه ویرایش محدوده یا صفحه محافظت شده را داشته باشد. false
اگر نه
مجوز
اسکریپت هایی که از این روش استفاده می کنند نیاز به مجوز با یک یا چند مورد از حوزه های زیر دارند:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
get Description()
شرح محدوده یا برگه محافظت شده را دریافت می کند. اگر هیچ توضیحی تنظیم نشده باشد، این متد یک رشته خالی برمی گرداند.
// Opens the spreadsheet file by its URL. If you created your script from within // a Google Sheets file, you can use SpreadsheetApp.getActiveSpreadsheet() // instead. // TODO(developer): Replace the URL with your own. const ss = SpreadsheetApp.openByUrl( 'https://docs.google.com/spreadsheets/d/abc123456/edit', ); // Gets a sheet by its name. const sheet = ss.getSheetByName('Sheet1'); // Protects the sheet and sets the description. const sampleProtectedSheet = sheet.protect().setDescription('Sample sheet is protected'); // Gets the description of the protected sheet and logs it to the console. const sampleProtectedSheetDescription = sampleProtectedSheet.getDescription(); console.log(sampleProtectedSheetDescription);
بازگشت
String
- شرح محدوده یا صفحه محافظت شده، یا یک رشته خالی در صورتی که شرحی تنظیم نشده باشد.
مجوز
اسکریپت هایی که از این روش استفاده می کنند نیاز به مجوز با یک یا چند مورد از حوزه های زیر دارند:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
get Editors()
لیست ویرایشگرهای محدوده یا برگه محافظت شده را دریافت می کند. در صورتی که کاربر مجوز ویرایش محدوده یا برگه محافظت شده را نداشته باشد، یک استثنا ایجاد می کند.
// Protect the active sheet, then remove all other users from the list of // editors. const sheet = SpreadsheetApp.getActiveSheet(); const 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. const 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
get Protection Type()
نوع منطقه حفاظت شده، RANGE
یا SHEET
را دریافت می کند.
// Opens the spreadsheet file by its URL. If you created your script from within // a Google Sheets file, you can use SpreadsheetApp.getActiveSpreadsheet() // instead. // TODO(developer): Replace the URL with your own. const ss = SpreadsheetApp.openByUrl( 'https://docs.google.com/spreadsheets/d/abc123456/edit', ); // Gets a sheet by its name. const sheet = ss.getSheetByName('Sheet1'); // Protects the sheet. const sampleProtectedSheet = sheet.protect(); // Gets the type of the protected area. const protectionType = sampleProtectedSheet.getProtectionType(); // Logs 'SHEET'to the console since the type of the protected area is a sheet. console.log(protectionType.toString());
بازگشت
Protection Type
- نوع منطقه حفاظت شده، RANGE
یا SHEET
.
مجوز
اسکریپت هایی که از این روش استفاده می کنند نیاز به مجوز با یک یا چند مورد از حوزه های زیر دارند:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
get Range()
محدوده ای که محافظت می شود را دریافت می کند. اگر حفاظت به جای یک محدوده، روی صفحه اعمال شود، این روش محدوده ای را برمی گرداند که کل صفحه را در بر می گیرد.
// Opens the spreadsheet file by its URL. If you created your script from within // a Google Sheets file, you can use SpreadsheetApp.getActiveSpreadsheet() // instead. // TODO(developer): Replace the URL with your own. const ss = SpreadsheetApp.openByUrl( 'https://docs.google.com/spreadsheets/d/abc123456/edit', ); // Gets a sheet by its name. const sheet = ss.getSheetByName('Sheet1'); // Gets the range 'A1:B10' of Sheet1. const range = sheet.getRange('A1:B10'); // Makes cells A1:B10 a protected range. const sampleProtectedRange = range.protect(); // Gets the protected ranges on the sheet. const protections = sheet.getProtections(SpreadsheetApp.ProtectionType.RANGE); // Logs the A1 notation of the first protected range on the sheet. console.log(protections[0].getRange().getA1Notation());
بازگشت
Range
- محدوده ای که محافظت می شود.
مجوز
اسکریپت هایی که از این روش استفاده می کنند نیاز به مجوز با یک یا چند مورد از حوزه های زیر دارند:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
get Range Name()
اگر محدوده محافظت شده با محدوده نامگذاری شده مرتبط باشد، نام آن را دریافت میکند. اگر حفاظت با محدوده نامگذاریشده مرتبط نباشد null
برمیگرداند. توجه داشته باشید که اسکریپت ها باید صراحتاً set Range Name(rangeName)
فراخوانی کنند تا یک محدوده محافظت شده را با یک محدوده نام گذاری شده مرتبط کند. فراخوانی Range.protect()
برای ایجاد حفاظت از Range
ای که اتفاقاً یک محدوده نام گذاری شده است، بدون فراخوانی set Range Name(rangeName)
برای مرتبط کردن آنها کافی نیست. با این حال، ایجاد یک محدوده محافظت شده از یک محدوده نامگذاری شده در رابط کاربر کاربرگنگار Google، آنها را بهطور خودکار مرتبط میکند.
// Protect a named range in a spreadsheet and log the name of the protected // range. const ss = SpreadsheetApp.getActive(); const range = ss.getRange('A1:B10'); const 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
get Target Audiences()
شناسههای مخاطبین هدف را برمیگرداند که میتوانند محدوده محافظت شده را ویرایش کنند.
بازگشت
Target Audience[]
- آرایه ای از شناسه های مخاطبان هدف.
مجوز
اسکریپت هایی که از این روش استفاده می کنند نیاز به مجوز با یک یا چند مورد از حوزه های زیر دارند:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
get Unprotected Ranges()
آرایه ای از محدوده های محافظت نشده را در یک صفحه محافظت شده دریافت می کند. اگر شی Protection
به جای یک صفحه محافظت شده با یک محدوده محافظت شده مطابقت داشته باشد، این روش یک آرایه خالی را برمی گرداند. برای تغییر محدوده های محافظت نشده، set Unprotected Ranges(ranges)
برای تنظیم یک آرایه جدید از محدوده ها استفاده کنید. برای محافظت مجدد از کل صفحه، یک آرایه خالی تنظیم کنید.
// Unprotect cells E2:F5 in addition to any other unprotected ranges in the // protected sheet. const sheet = SpreadsheetApp.getActiveSheet(); const protection = sheet.protect(); const 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
is Warning Only()
تعیین می کند که آیا منطقه حفاظت شده از حفاظت "بر اساس هشدار" استفاده می کند یا خیر. حفاظت مبتنی بر اخطار به این معنی است که هر کاربر میتواند دادهها را در منطقه ویرایش کند، به جز ویرایش، هشداری را که از کاربر میخواهد ویرایش را تأیید کند. به طور پیشفرض، محدودهها یا برگههای محافظتشده مبتنی بر هشدار نیستند. برای تغییر وضعیت هشدار، set Warning Only(warningOnly)
استفاده کنید.
// Opens the spreadsheet file by its URL. If you created your script from within // a Google Sheets file, you can use SpreadsheetApp.getActiveSpreadsheet() // instead. // TODO(developer): Replace the URL with your own. const ss = SpreadsheetApp.openByUrl( 'https://docs.google.com/spreadsheets/d/abc123456/edit', ); // Gets a sheet by its name. const sheet = ss.getSheetByName('Sheet1'); // Protects the sheet. const sampleProtectedSheet = sheet.protect(); // Sets the warning status for the protected sheet as true. sampleProtectedSheet.setWarningOnly(true); const protectedSheetWarningStatus = sampleProtectedSheet.isWarningOnly(); // Logs the warning status of the protected sheet to the console. console.log(protectedSheetWarningStatus);
بازگشت
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. const ss = SpreadsheetApp.getActive(); const protections = ss.getProtections(SpreadsheetApp.ProtectionType.RANGE); for (let i = 0; i < protections.length; i++) { const protection = protections[i]; if (protection.canEdit()) { protection.remove(); } }
// Remove sheet protection from the active sheet, if the user has permission to // edit it. const sheet = SpreadsheetApp.getActiveSheet(); const protection = sheet.getProtections(SpreadsheetApp.ProtectionType.SHEET)[0]; if (protection?.canEdit()) { protection.remove(); }
مجوز
اسکریپت هایی که از این روش استفاده می کنند نیاز به مجوز با یک یا چند مورد از حوزه های زیر دارند:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
remove Editor(emailAddress)
کاربر داده شده را از لیست ویرایشگرهای صفحه یا محدوده محافظت شده حذف می کند. توجه داشته باشید که اگر کاربر عضو یک گروه Google است که مجوز ویرایش دارد، یا اگر همه کاربران در دامنه مجوز ویرایش داشته باشند، کاربر همچنان میتواند ناحیه محافظت شده را ویرایش کند. نه مالک صفحه گسترده و نه کاربر فعلی را نمی توان حذف کرد.
// Opens the spreadsheet file by its URL. If you created your script from within // a Google Sheets file, you can use SpreadsheetApp.getActiveSpreadsheet() // instead. // TODO(developer): Replace the URL with your own. const ss = SpreadsheetApp.openByUrl( 'https://docs.google.com/spreadsheets/d/abc123456/edit', ); // Gets a sheet by its name. const sheet = ss.getSheetByName('Sheet1'); // Creates a variable for an email address. // TODO(developer): Replace the email address with a valid one. const TEST_EMAIL = 'baklavainthebalkans@gmail.com'; // Protects the sheet. const sampleProtectedSheet = sheet.protect(); // Adds an editor to the protected sheet using the email address variable. sampleProtectedSheet.addEditor(TEST_EMAIL); // Removes the editor from the protected sheet using the email address variable. sampleProtectedSheet.removeEditor(TEST_EMAIL); // Gets the editors of the protected sheet. const editors = sampleProtectedSheet.getEditors(); // Logs the editors' email addresses to the console. for (const editor of editors) { console.log(editor.getEmail()); }
پارامترها
نام | تایپ کنید | توضیحات |
---|---|---|
email Address | String | آدرس ایمیل کاربر برای حذف. |
بازگشت
Protection
- شیئی که تنظیمات حفاظتی را برای زنجیر نشان می دهد.
مجوز
اسکریپت هایی که از این روش استفاده می کنند نیاز به مجوز با یک یا چند مورد از حوزه های زیر دارند:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
remove Editor(user)
کاربر داده شده را از لیست ویرایشگرهای صفحه یا محدوده محافظت شده حذف می کند. توجه داشته باشید که اگر کاربر عضو یک گروه Google است که مجوز ویرایش دارد، یا اگر همه کاربران در دامنه مجوز ویرایش داشته باشند، کاربر همچنان میتواند منطقه محافظت شده را نیز ویرایش کند. نه مالک صفحه گسترده و نه کاربر فعلی را نمی توان حذف کرد.
// Opens the spreadsheet file by its URL. If you created your script from within // a Google Sheets file, you can use SpreadsheetApp.getActiveSpreadsheet() // instead. // TODO(developer): Replace the URL with your own. const ss = SpreadsheetApp.openByUrl( 'https://docs.google.com/spreadsheets/d/abc123456/edit', ); // Gets a sheet by its name. const sheet = ss.getSheetByName('Sheet1'); // Protects the sheet. const sampleProtectedSheet = sheet.protect(); // Removes the active user from the editors of the protected sheet. sampleProtectedSheet.removeEditor(Session.getActiveUser()); // Gets the editors of the protected sheet. const editors = sampleProtectedSheet.getEditors(); // Logs the editors' email addresses to the console. for (const editor of editors) { console.log(editor.getEmail()); }
پارامترها
نام | تایپ کنید | توضیحات |
---|---|---|
user | User | نمایشی از کاربر برای حذف. |
بازگشت
Protection
- شیئی که تنظیمات حفاظتی را برای زنجیر نشان می دهد
مجوز
اسکریپت هایی که از این روش استفاده می کنند نیاز به مجوز با یک یا چند مورد از حوزه های زیر دارند:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
remove Editors(emailAddresses)
آرایه داده شده از کاربران را از لیست ویرایشگرهای صفحه یا محدوده محافظت شده حذف می کند. توجه داشته باشید که اگر هر یک از کاربران عضو یک گروه Google هستند که مجوز ویرایش دارند، یا اگر همه کاربران در دامنه مجوز ویرایش داشته باشند، آن کاربران همچنان میتوانند ناحیه محافظت شده را ویرایش کنند. نه مالک صفحه گسترده و نه کاربر فعلی را نمی توان حذف کرد.
// Protect the active sheet, then remove all other users from the list of // editors. const sheet = SpreadsheetApp.getActiveSheet(); const 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. const me = Session.getEffectiveUser(); protection.addEditor(me); protection.removeEditors(protection.getEditors()); if (protection.canDomainEdit()) { protection.setDomainEdit(false); }
پارامترها
نام | تایپ کنید | توضیحات |
---|---|---|
email Addresses | String[] | مجموعه ای از آدرس های ایمیل کاربران برای حذف. |
بازگشت
Protection
- شیئی که تنظیمات حفاظتی را برای زنجیر نشان می دهد
مجوز
اسکریپت هایی که از این روش استفاده می کنند نیاز به مجوز با یک یا چند مورد از حوزه های زیر دارند:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
remove Target Audience(audienceId)
مخاطبین هدف مشخص شده را به عنوان ویرایشگر محدوده محافظت شده حذف می کند.
پارامترها
نام | تایپ کنید | توضیحات |
---|---|---|
audience Id | String | شناسه مخاطب هدف برای حذف. |
بازگشت
Protection
- شیئی که تنظیمات حفاظتی را برای زنجیر نشان می دهد.
مجوز
اسکریپت هایی که از این روش استفاده می کنند نیاز به مجوز با یک یا چند مورد از حوزه های زیر دارند:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
set Description(description)
شرح محدوده یا برگه محافظت شده را تنظیم می کند.
// Opens the spreadsheet file by its URL. If you created your script from within // a Google Sheets file, you can use SpreadsheetApp.getActiveSpreadsheet() // instead. // TODO(developer): Replace the URL with your own. const ss = SpreadsheetApp.openByUrl( 'https://docs.google.com/spreadsheets/d/abc123456/edit', ); // Gets the sheet 'Sheet1' by its name. const sheet = ss.getSheetByName('Sheet1'); // Protects the sheet. const sampleProtectedSheet = sheet.protect(); // Sets the sheet description to 'Sheet1 is protected.' sampleProtectedSheet.setDescription('Sheet1 is protected'); // Gets the description of the protected sheet. const sampleProtectedSheetDescription = sampleProtectedSheet.getDescription(); // Logs the description of the protected sheet to the console. console.log(sampleProtectedSheetDescription);
پارامترها
نام | تایپ کنید | توضیحات |
---|---|---|
description | String | شرح محدوده یا برگه حفاظت شده. |
بازگشت
Protection
- شیئی که تنظیمات حفاظتی را برای زنجیر نشان می دهد.
مجوز
اسکریپت هایی که از این روش استفاده می کنند نیاز به مجوز با یک یا چند مورد از حوزه های زیر دارند:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
set Domain Edit(editable)
تعیین میکند که آیا همه کاربران در دامنهای که صفحهگسترده را دارند، مجوز ویرایش محدوده یا صفحه محافظتشده را داشته باشند یا خیر. توجه داشته باشید که کاربرانی که مجوز ویرایش صریح دارند میتوانند بدون در نظر گرفتن این تنظیم، ناحیه محافظت شده را ویرایش کنند. اگر صفحهگسترده به دامنه Google Workspace تعلق نداشته باشد (یعنی اگر متعلق به یک حساب gmail.com باشد)، یک استثنا ایجاد میکند.
پارامترها
نام | تایپ کنید | توضیحات |
---|---|---|
editable | Boolean | true اگر همه کاربران دامنه ای که صفحه گسترده دارند باید اجازه ویرایش محدوده یا صفحه محافظت شده را داشته باشند. false اگر نه |
بازگشت
Protection
- شیئی که تنظیمات حفاظتی را برای زنجیر نشان می دهد
مجوز
اسکریپت هایی که از این روش استفاده می کنند نیاز به مجوز با یک یا چند مورد از حوزه های زیر دارند:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
set Named Range(namedRange)
محدوده محافظت شده را با یک محدوده با نام موجود مرتبط می کند. اگر محدوده نامگذاریشده ناحیه متفاوتی از محدوده حفاظتشده فعلی را پوشش دهد، این روش حفاظت را برای پوشش محدوده نامگذاریشده منتقل میکند. محدوده نامگذاری شده باید در همان صفحه با محدوده حفاظت شده فعلی باشد. توجه داشته باشید که اسکریپت ها باید به طور صریح این متد را فراخوانی کنند تا یک محدوده محافظت شده را با یک محدوده نام گذاری شده مرتبط کنند. فراخوانی Range.protect()
برای ایجاد حفاظت از Range
ای که اتفاقاً یک محدوده نام گذاری شده است، بدون فراخوانی set Range Name(rangeName)
برای مرتبط کردن آنها کافی نیست. با این حال، ایجاد یک محدوده محافظت شده از یک محدوده نامگذاری شده در رابط کاربر کاربرگنگار Google، آنها را بهطور خودکار مرتبط میکند.
// Opens the spreadsheet file by its URL. If you created your script from within // a Google Sheets file, you can use SpreadsheetApp.getActiveSpreadsheet() // instead. // TODO(developer): Replace the URL with your own. const ss = SpreadsheetApp.openByUrl( 'https://docs.google.com/spreadsheets/d/abc123456/edit', ); // Protects cells A1:D10 on Sheet1. const sheet = ss.getSheetByName('Sheet1'); const protectedRange = sheet.getRange('A1:D10').protect(); // Logs the current protected range, A1:D10. console.log(protectedRange.getRange().getA1Notation()); // Creates a named range for cells E1:J10 called 'NewRange.' const newRange = sheet.getRange('E1:J10'); ss.setNamedRange('NewRange', newRange); const namedRange = ss.getNamedRanges()[0]; // Updates the protected range to the named range, 'NewRange.' // This updates the protected range on Sheet1 from A1:D10 to E1:J10. protectedRange.setNamedRange(namedRange); // Logs the updated protected range to the console. console.log(protectedRange.getRange().getA1Notation());
پارامترها
نام | تایپ کنید | توضیحات |
---|---|---|
named Range | Named Range | محدوده نامگذاری شده موجود برای ارتباط با محدوده محافظت شده. |
بازگشت
Protection
- شیئی که تنظیمات حفاظتی را برای زنجیر نشان می دهد.
مجوز
اسکریپت هایی که از این روش استفاده می کنند نیاز به مجوز با یک یا چند مورد از حوزه های زیر دارند:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
set Range(range)
محدوده ای که محافظت می شود را تنظیم می کند. اگر محدوده داده شده ناحیه متفاوتی از محدوده حفاظت شده فعلی را پوشش دهد، این روش به جای آن، حفاظت را برای پوشش محدوده جدید منتقل می کند.
// Opens the spreadsheet file by its URL. If you created your script from within // a Google Sheets file, you can use SpreadsheetApp.getActiveSpreadsheet() // instead. // TODO(developer): Replace the URL with your own. const ss = SpreadsheetApp.openByUrl( 'https://docs.google.com/spreadsheets/d/abc123456/edit', ); // Protects cells A1:D10 on Sheet1 of the spreadsheet. const sheet = ss.getSheetByName('Sheet1'); const protectedRange = sheet.getRange('A1:D10').protect(); // Logs the original protected range, A1:D10, to the console. console.log(protectedRange.getRange().getA1Notation()); // Gets the range E1:J10. const newRange = sheet.getRange('E1:J10'); // Updates the protected range to E1:J10. protectedRange.setRange(newRange); // Logs the updated protected range to the console. console.log(protectedRange.getRange().getA1Notation());
پارامترها
نام | تایپ کنید | توضیحات |
---|---|---|
range | Range | محدوده جدید برای محافظت در برابر ویرایش ها. |
بازگشت
Protection
- شیئی که تنظیمات حفاظتی را برای زنجیر نشان می دهد.
مجوز
اسکریپت هایی که از این روش استفاده می کنند نیاز به مجوز با یک یا چند مورد از حوزه های زیر دارند:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
set Range Name(rangeName)
محدوده محافظت شده را با یک محدوده با نام موجود مرتبط می کند. اگر محدوده نامگذاریشده ناحیه متفاوتی از محدوده حفاظتشده فعلی را پوشش دهد، این روش حفاظت را برای پوشش محدوده نامگذاریشده منتقل میکند. محدوده نامگذاری شده باید در همان صفحه با محدوده حفاظت شده فعلی باشد. توجه داشته باشید که اسکریپت ها باید به طور صریح این متد را فراخوانی کنند تا یک محدوده محافظت شده را با یک محدوده نام گذاری شده مرتبط کنند. فراخوانی Range.protect()
برای ایجاد حفاظت از Range
ای که اتفاقاً یک محدوده نام گذاری شده است، بدون فراخوانی set Range Name(rangeName)
برای مرتبط کردن آنها کافی نیست. با این حال، ایجاد یک محدوده محافظت شده از یک محدوده نامگذاری شده در رابط کاربر کاربرگنگار Google، آنها را بهطور خودکار مرتبط میکند.
// Protect a named range in a spreadsheet and log the name of the protected // range. const ss = SpreadsheetApp.getActive(); const range = ss.getRange('A1:B10'); const 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.
پارامترها
نام | تایپ کنید | توضیحات |
---|---|---|
range Name | String | نام محدوده نامگذاریشده برای محافظت. |
بازگشت
Protection
- شیئی که تنظیمات حفاظتی را برای زنجیر نشان می دهد
مجوز
اسکریپت هایی که از این روش استفاده می کنند نیاز به مجوز با یک یا چند مورد از حوزه های زیر دارند:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
set Unprotected Ranges(ranges)
آرایه محدوده داده شده در یک صفحه محافظت شده را از حالت محافظت خارج می کند. اگر شی Protection
به جای صفحه محافظت شده با یک محدوده محافظت شده مطابقت داشته باشد یا هر یک از محدوده ها در صفحه محافظت شده نباشد، یک استثنا ایجاد می کند. برای تغییر محدوده های محافظت نشده، آرایه جدیدی از محدوده ها را تنظیم کنید. برای محافظت مجدد از کل صفحه، یک آرایه خالی تنظیم کنید.
// Protect the active sheet except B2:C5, then remove all other users from the // list of editors. const sheet = SpreadsheetApp.getActiveSheet(); const protection = sheet.protect().setDescription('Sample protected sheet'); const 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. const 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
set Warning Only(warningOnly)
تعیین می کند که آیا این محدوده محافظت شده از محافظت "مبتنی بر هشدار" استفاده می کند یا خیر. حفاظت مبتنی بر اخطار به این معنی است که هر کاربر میتواند دادهها را در منطقه ویرایش کند، به جز ویرایش، هشداری را که از کاربر میخواهد ویرایش را تأیید کند. به طور پیشفرض، محدودهها یا برگههای محافظتشده مبتنی بر هشدار نیستند. برای بررسی وضعیت هشدار، is Warning Only()
استفاده کنید.
// Opens the spreadsheet file by its URL. If you created your script from within // a Google Sheets file, you can use SpreadsheetApp.getActiveSpreadsheet() // instead. // TODO(developer): Replace the URL with your own. const ss = SpreadsheetApp.openByUrl( 'https://docs.google.com/spreadsheets/d/abc123456/edit', ); // Gets the sheet 'Sheet1' by its name. const sheet = ss.getSheetByName('Sheet1'); // Protects the sheet and sets the protection to warning-based. const sampleProtectedSheet = sheet.protect().setWarningOnly(true); // Logs whether the protected sheet is warning-based to the console. console.log(sampleProtectedSheet.isWarningOnly());
پارامترها
نام | تایپ کنید | توضیحات |
---|---|---|
warning Only | Boolean |
بازگشت
Protection
- شیئی که تنظیمات حفاظتی را برای زنجیر نشان می دهد.
مجوز
اسکریپت هایی که از این روش استفاده می کنند نیاز به مجوز با یک یا چند مورد از حوزه های زیر دارند:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets