2014-01-21 529 views
3

我可以使用一些幫助在我的Google電子表格中編寫腳本。首先,我不是程序員,最好是編寫代碼或任何腳本的新手。如何在Google Spreadsheet中創建自動清除腳本?

我想用它來做午餐。背後的故事:我創建了Google電子表格,充當數字午餐單。每位老師都有自己的班室電子表格,班級總數爲總食堂工作人員訂購主午餐表。問題是舊的總數從前一天仍然存在。理想情況下,在新的一天開始時,電子表格上的指定字段將自動清除。 Click here to view an example of the spreadsheet I created.

在我的研究中,我發現了一個關於如何創建一個腳本來完成這個任務的線程,但是作爲一個單擊按鈕,將清除指定範圍Click here to see the original post。該腳本如下:

function clearRange() { 
    //replace 'Sheet1' with your actual sheet name 
    var sheet = SpreadsheetApp.getActive().getSheetByName('Sheet1'); 
    sheet.getRange('C4:I12').clearContent();} 

我想爲有是一個腳本,這樣每天(在每天午夜說吧)的特定字段/範圍清除出去。我不要想要刪除列或行,因爲我不想丟失學生名稱或午餐選擇。

請大家非常感謝任何幫助。提前感謝您的幫助,尤其是像我這樣的新手。我期待着從任何人那裏聽到!
- Jason

回答

3

該腳本應該做你所需要的。你只需要進行一些修改。

  1. 說'Sheet1'在哪裏說'Lunch'是你的表格中的名字。
  2. 在腳本編輯器中,您可以添加一個新的觸發器讓腳本每晚運行。
    • 在腳本編輯器,進入頂部菜單「資源»當前項目的觸發器」
    • 點擊鏈接‘沒有觸發設置。點擊這裏現在添加一個。’
    • 確保設置這些值:
    • 運行»clearRange
    • 活動»時間驅動
      • 日定時器
      • 午夜到凌晨1點

那應該在午夜到凌晨1點之間每天晚上運行腳本。

如果你想要一個實際的菜單項,你可以在電子表格中點擊,這樣你就可以在任何時候運行腳本,這是多一點工作。老實說,如果這是你的主要功能......它可能更容易從電子表格加載腳本編輯器(「工具»腳本編輯器」),並選擇clearRange功能並按下播放按鈕。

如果您確實想要添加菜單項,那麼還有其他文檔»https://developers.google.com/apps-script/reference/spreadsheet/spreadsheet#addMenu(String,Object)。一旦你編寫了新的菜單功能,你必須更新你的觸發器,就像你每天晚上運行一樣。但相反,您需要將事件類型更改爲From Spreadsheet並將值設置爲On open。這樣它將在Spreadsheet打開時創建新的菜單項。

+0

非常感謝您的回覆。我能夠創建您向腳本函數建議的觸發器。現在在這方面,我去了「工具 - 腳本管理器」。我看到了我製作的腳本,並選擇了「運行」按鈕。問題 - 當我點擊按鈕時,這隻會運行一次,還是現在與電子表格關聯並連接到電子表格以運行我設置的觸發器? –

+0

@Mr_S如果您在「當前項目的觸發器」中看到觸發器,它應該每天晚上運行。當你點擊「運行」時,這只是一個臨時運行。所以它不會禁用任何自動觸發器。 – eywu

相關問題