[英]Only allow users to edit a specific range whilst using a 'view only' type share
我正在運行一個人們可以通過運行腳本復制的工作表,在模板文件上,我希望用戶只看到其中一個工作表,其中包含一個運行腳本來復制文件的按鈕。
我真的想將文檔作為“僅查看”文件共享,盡管我仍然希望用戶編輯按鈕所在的范圍,以便他們可以單擊此按鈕並運行腳本。
我曾嘗試使用類保護通過 Apps 腳本保護工作表和刪除編輯器,但這似乎不起作用 - 我創建了以下我希望可以工作的內容:
var ss = SpreadsheetApp.getActiveSpreadsheet();
ss.getSheetByName('BALANCE SHEET').protect();
ss.getSheetByName('LANDING SHEET').protect();
ss.getSheetByName('CATEGORIES').protect();
ss.getSheetByName('REMINDERS').protect();
var user = ss.getEditors();
ss.removeEditor(user);
ss.addEditor('xxx@xxx.xxx');
有沒有人知道我該如何做到這一點?
Spreadsheet.getEditors()
返回一個user
s數組,而removeEditor
接受一個user
(單數)作為參數。 使用Array.forEach
刪除用戶:
const users = ss.getEditors();
users.forEach(user => ss.removeEditor(user));
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.