2014-02-11 39 views
0

我有一個谷歌電子表格與許多選項卡,我試圖創建一個動態索引選項卡。如何通過單擊單元觸發腳本

到目前爲止,這是我在做什麼:

function jumpToSheet() { 
    var ss = SpreadsheetApp.getActiveSpreadsheet(); 
    var sheet = ss.getSheetByName(ss.getActiveCell().getValue()); 
    SpreadsheetApp.setActiveSheet(sheet); 
} 

function populateList() { 
    var sheet = SpreadsheetApp.getActiveSpreadsheet(); 
    var range = sheet.getRange("D:D"); 
    var sheets = SpreadsheetApp.getActiveSpreadsheet().getSheets(); 
    for (var i = 0; i < sheets.length ; i++){ 
    cell = range.getCell(i+1, 1); 
    cell.setValue(sheets[i].getName()); 
    } 
} 

我創建我的索引頁兩個圖像。一個分配給它的jumpToSheet函數,另一個分配給它的populateList。

我點擊第二張圖片,它用列表中的所有選項卡填充D列。 (只是一次性的東西或每當一個標籤添加/刪除)

要導航,我選擇一個按名稱在此列中的選項卡,然後單擊第一個圖像,它將帶我到那裏。

我有兩個問題與此:

如何使它成爲一個點擊動作?目前我必須點擊包含我要跳轉到的標籤名稱的單元格,然後點擊圖片。如果可能的話,我想點擊單元格。或者只需要一次點擊的任何其他解決方案。

如何使用鍵盤返回索引選項卡?我知道我可以用ctrl + shift + pageup/down跳轉或者點擊左下方的水平線圖標並選擇頂部選項卡。但是這對我來說有點慢。是否有快捷方式返回到第一個標籤?或者其他方式來更快地做到這一點(最好是使用鍵盤)

回答

0

您無法通過單擊完成。至少2次點擊。 使用這兩個命令製作菜單,比單擊圖像笨拙。 你可以使用hiperlink()來放置一個gas service url,但即使這樣做需要2次點擊才能進入鏈接,並且會比菜單選項慢。

+0

我明白了。是否有可能動態生成一堆圖像,然後每個選項卡一個,每個都附帶一個腳本,用於爲該特定選項卡調用jumpToSheet()? –

+0

懷疑你可以在程序上做到這一點,但爲什麼你可以使用菜單時繼續使用圖像路線?圖像是跛腳的,你不能做很多事情,如把它們放在凍結的行中,並可以被用戶等刪除 –

+0

凍結行限制已經非常討厭這個應用程序。我對菜單的唯一問題是它們最終與已經存在的功能相近(左下角的小按鈕,當點擊時,彈出一個所有選項卡的列表)以我現在正在做的方式,但平均點擊次數略小於2. –

相關問題