2014-09-04 69 views
0

早上好,我有一段腳本,將數據表後,打開電子表格在第一個可用行的問題如何寫不使用激活()方法

一個觸發的OnOpen腳本。我對此相當陌生,但正如我從研究中瞭解到的,onOpen觸發器不適用於具有Activate()方法的腳本(我假設它是getActiveRange()和setActiveRange()等)。

我真的很喜歡這個工作,但我只能通過在用戶必須單擊以運行腳本的工作表頂部放置一個按鈕來完成此操作。我不知道如何以不同的方式寫作,並且花了很多時間用Google搜索,但只能得到一些根本無法幫助我的東西。我的代碼如下,在不使用Activate()方法的情況下編寫它的任何幫助都將非常感謝。謝謝,MB

function onOpen() { 
var ss = SpreadsheetApp.getActiveSpreadsheet(); 
var range = ss.getRange("A2"); 
var rowCount = range.getValue() + 3; 
var newRange = ss.getRange("A" + rowCount); 
SpreadsheetApp.setActiveRange(newRange); }; 

第4行的值是指被統計在數據集中的行數的單元格的值(我有問題想因爲有數據集中其他列算上這使用腳本它拋出了像getLastRow())這樣的函數。

回答

0

issue 3928所述,從觸發函數中設置單元格/範圍/工作表上的選擇是不可行的(截至2014年9月9日)。

此問題已關閉,因爲「無法修復」,但最近重新打開 - 可能是因爲很多人非常失望(使用禮貌的詞) - 所以我建議您介紹此問題以提高其可見性和優先級。

與此同時,我恐怕沒有太多可以做的事情,除非繼續使用舊版本的電子表格,其中這個工作沒有問題。

關於關於統計單列中最後一行的內容,這已成爲one of the most popular thread on this forum的主題,請參閱此處的建議解決方案(以及other similar threads)。