簡體   English   中英

如何將變更事件回滾到Google工作表或僅禁止變更事件但允許用戶進行編輯?

[英]How to roll-back change events to a Google sheet or disallow only change events but allow edit rights to users?

嘗試構建一個儀表板,其中在某些工作表中,用戶需要能夠添加行,但不能更改預設單元格的值。 如果我保護這些單元格,則他們將無法添加行,如果我不保護工作表,並使用Google Apps Script onEdit觸發器將更改還原為預設的單元格,則他們將能夠插入行並無法更改值,但是這會使我的工作表保持打開狀態進行不可預見的修改,例如插入列,插入比所需更多的行,更改格式等。

有沒有一種方法可以讓他們添加行,但除了需要編輯的有限單元格之外,不能對工作表執行其他任何操作?

我經常看到此問題/請求,您試圖以類似表格的方式使用Google表格,該方式只應允許用戶執行X動作(有些人使用Google表格將電子表格用於類似問題)。

  1. 這里的一個想法是創建一個添加行的按鈕。 默認情況下,您可以使所有內容受到保護。 按下按鈕后,Google Apps腳本可以取消保護並在該位置創建一行。 此解決方案的一個問題是Google Apps腳本中的按鈕就像浮動圖像一樣-因此您需要創建函數名稱,例如“ addRowAtSheet4”。 這是該按鈕的外觀,“添加城市”將在單擊時創建一個新行:

在此處輸入圖片說明

另一個問題是,想要保護您的電子表格的用戶將能夠這樣做,因為保護是通過用戶的綁定腳本完成的,並且是通過用戶的帳戶運行的,這使我想到了第二種解決方案:

  1. 如果您需要真正的單元保護(假設您是電子表格的所有者),則可以創建一個獨立的Web應用程序來執行所有管理工作,並根據需要將所有內容鎖定在用戶端。 當用戶點擊該按鈕時,電子表格的GAS綁定腳本會向已發布的Webapp發出Web請求,然后在WebApp中,您代表您從自己的帳戶中添加該行(即“ : 我”)。 諸如此類,其中發送的參數是要添加的行,例如:

在此處輸入圖片說明

請注意,如果可以有多個同時進行的用戶在同一位置添加行,則您可能希望使用LockService

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM