2017-02-20 64 views
0

我目前觀察的行爲是,此工作表上的Google Apps腳本中的此觸發器僅在用戶具有編輯權限時才設置活動工作表。Google Apps腳本 - 當權限不允許編輯時無法識別Spreadsheet.setActiveSheet

function setAppropriateMonthWorkbookBasedOnDate() { 
    currentSpreadSheet = SpreadsheetApp.getActive(); 

    var dateObject = new Date() 
    monthName = Utilities.formatDate(dateObject, Session.getScriptTimeZone(), "MMMMM") 
    targetWorksheet = currentSpreadSheet.getSheetByName(monthName) 
    currentSpreadSheet.setActiveSheet(targetWorksheet); 
} 

function onOpen(e) { 
    setAppropriateMonthWorkbookBasedOnDate(); 
} 

我切換用戶的許可任何可以發表評論或可以查看和setActiveSheet通話似乎不再起作用。

我很努力地看到那些被認爲是「編輯」的代碼。我看到的唯一修改操作是致電setActiveSheet

現在已經在兩張不同的紙上進行了測試:1)我的生產表和2)證明 - 它丟棄紙張。

關於這裏可能會發生什麼的想法?

回答

1

觸發器只有當用戶編輯權限運行:

的OnOpen(E)當用戶打開一個電子表格,文檔,或形成 他或她有權編輯運行。

查看完整的細節在這裏:https://developers.google.com/apps-script/guides/triggers/

+0

謝謝,完全錯過了讀書的參考材料。如果它甚至可以運行在其他許可級別上,比如「Can Comment」,那將會很好。我會認爲我的用例並不是那麼不尋常。可能需要根據確定的信息「onOpen」來關注電子表格的區域。 – Cato0293