2013-05-20 75 views
1

這個問題是關於谷歌電子表格谷歌腳本過程中受到保護。我有一個與多人共享的電子表格。我正在使用腳本來更新工作表內容。 我的問題是,當我運行該腳本,是爲了保護對他人的表進行編輯的方式。當腳本完成後,編輯權限可以再次授予用戶嗎?如何設置表運行

回答

0

我只是回答,因爲我看你有沒有任何其他人呢,而且我這個沒有成功非常問題修修補補。雖然在我的情況下,目標有所不同,因爲我需要我的代碼在用戶運行菜單驅動的腳本時由用戶執行。由於您只需要自己修改保護,那麼您可能會發現這適用於您。

在任何情況下,我可以預見的情況下,當你運行你的代碼的用戶可能是中期的編輯,這可能證明是令人沮喪不已!你可能想要做的就是掌握用戶對象和相關的方法來管理它們。現在我看不到如果不踢出來(相同的結果),你會如何做到這一點,但也許別人會用一些想法編造出來。看一看在電子表格類以下:

  • getEditors/removeEditor/addEditor
  • getViewers/addViewers

https://developers.google.com/apps-script/reference/spreadsheet/spreadsheet

下面是我做了一個功能,它爲我工作(所有者),但不是爲用戶 - 希望它有幫助:

//Target = string name of sheet to change permissions for 
//ProtectOn = boolean: TRUE = turn on protection 
//function returns boolean representing previous permissions setting (for loops/verification) 

function SheetProtectionSet(Target, ProtectOn) { 
    var g_wkbActive = SpreadsheetApp.getActiveSpreadsheet(); 
    var wksTarget = g_wkbActive.getSheetByName(Target); 
    var permissions = wksTarget.getSheetProtection(); 
    var cur_protection = permissions.isProtected(); 

    permissions.setProtected(ProtectOn); 
    wksTarget.setSheetProtection(permissions); 
    return cur_protection; 
} 
+1

是的,這實際上適合我的需要。謝啦! – swimmingwood

+0

太棒了!很高興它對你有效 :) – Tim