2016-09-06 56 views
-1

我的工作使用Google表單將信息輸入到Google表單中。 Google表格中的一個輸入是來自Google表單的日期(日期顯示在A列中的表單中)。爲Google表單導入Google表單時使用onEdit觸發器

我想創建一個簡單的腳本,在每次有新的一天時,在谷歌表單元格的頂部放置一個黑色邊框。要做到這一點,我試圖用兩個步驟。我在表格末尾創建了一列(列AM),其中包含=if(A561 = "", 0,day(A561))。本質上,列被設置爲全0,直到在該行中進行輸入,並且該值更新爲day值。然後我寫下如下所示。該過程適用於我的測試表,但是在我的測試表中,我沒有從Google表單導入。

最後一點信息。我不相信在工作表中有任何技術上空白的單元格。每個單元格都設置爲來自Google表單的不同單元格的值。

任何人都可以提供任何幫助,爲什麼我的過程不工作?

function onEdit(e) { 
var sheet = SpreadsheetApp.getActiveSpreadsheet(); 
var entries = [{name:"placeBorders", functionName:"placeBorders"}]; 
    sheet.addMenu("Scripts", entries); 
    placeBorders(); 
}; 


//Will need to update the value of j every so often to maintain speed 
function placeBorders() { 
    var ss = SpreadsheetApp.getActiveSpreadsheet(); 
    var mysheet = ss.getActiveSheet(); 
    var lastRowUsed = 0 

for (var j = 525; j <= 10000; j++) { 

if (mysheet.getRange(j, 39).getValue() == 0) { 
    lastRowUsed = j - 1 
    break; 
} 

    } 

    if (mysheet.getRange(lastRowUsed, 39).getValue() !=  mysheet.getRange(lastRowUsed - 1, 39).getValue()) { 
mysheet.getRange(lastRowUsed, 1, 1, 15).setBorder(true, null, null, null,  null, null); 
} 


} 
+0

IMNO onEdit不應該使用簡單的或可安裝的觸發器來添加菜單,因爲每次單元格被編輯時它都會運行。使用官方文檔onOpen()。 –

+0

嗯,這不是太大的問題,因爲我有兩個需要發生的步驟(腳本本身和AM列中的if語句)。這就是說,我註釋了'sheet.addMenu'這一行,它似乎仍然沒有工作。 – Rivers31334

+0

您是否收到錯誤? –

回答

1

onEdit函數沒有創建菜單的權限。如果省略sheet.addMenu(「腳本」,條目),則它將運行placeBorders。

+0

我很感激。我會讓這個運行一下,看看它明天的結果如何。謝謝。 – Rivers31334

+0

嗯,似乎沒有工作。我評論了有問題的路線,但仍然無法正常工作。 – Rivers31334

+0

獨立於谷歌應用程序腳本運行placeBorders,看看你會得到什麼錯誤。 –

相關問題