2017-07-05 111 views
0

當我在Google工作表中創建按鈕時,我需要一個腳本。我可以點擊它並將我帶到另一張工作表。喜歡的東西下面,但我不能得到這個工作將按鈕添加到鏈接到另一張工作表的Google工作表

function GoToSheet1() { 
    var SPREADSHEET_URL = 'INSERT_SPREADSHEET_URL_HERE'; 
    // Name of the specific sheet in the spreadsheet. 
    var SHEET_NAME = 'INSERT_SHEET_NAME_HERE'; 

在此先感謝Jarrad

回答

0

你能不能插入超鏈接進入細胞和格式化(顏色,邊框等),因此它「看起來」像按鈕?然後保護該單元,以便其他用戶不能更改它。你可以進入一個單元格的公式是簡單的:

=HYPERLINK("http://link.to.spreadsheet", "Button Text") 

如果你需要更復雜的東西,因此一個腳本,我們需要更多的信息。我不確定爲什麼你會使用腳本來達到你所解釋的目的。

例如 - 表單(鏈接)對於電子表格的每一行都是不同的,對於電子表格中的每個工作表單不同。也許分享一份電子表格的編輯截圖,讓我們更多地瞭解你正在努力實現的目標。

0

下面介紹一種使用邊欄或對話框的方法。我更喜歡側邊欄,但嘿佔據更多空間。您可以修改此設置,以便僅獲取所需的工作表。

function showGoToSheet() { 

    var allsheets = SpreadsheetApp.getActiveSpreadsheet().getSheets(); 
    var s = '<style>#mySheets{margin:5px 5px 5px 5px;background-color:#cccccc;}#btn0, #btn1, #btn2, #btn3, #btn4, #btn5, #btn6, #btn7, #btn8{margin:0px 5px 5px 0px;}</style><div id="mySheets">'; 
    for (var i=0; i<allsheets.length; i++) 
    { 
    var sheet_name = allsheets[i].getName(); 
    if (sheet_name != 'ActivityLog' && sheet_name != 'AllData' && sheet_name != 'Scratch' && sheet_name != 'Data Validation') 
    { 
     s += '<input id="btn' + i +'" type="button" value="Go to: ' + sheet_name + '" onClick="google.script.run.getMySheet(\'' + sheet_name + '\');" /><br />'; 
    } 
    } 
    s += '<input type="button" value="Exit" onClick="google.script.host.close();" /></div>'; 
    //myUtilities.dispStatus('My Sheets',s,600,400); 
    var html=HtmlService().createHtmlOutput(s).setWidth(600).setHeight(400); 
    SpreadsheetApp.getUi().showModelessDialog(html, 'My Sheets'); 
} 

或者您可以嘗試使用電子表格左下方的小圖標。如果你有很多牀單,我喜歡這個小圖標。

enter image description here

+0

感謝您的想法,但我仍然想要在表單上按鈕。我想做一個儀表板,所以如果我點擊1按鈕,它會將我帶到特定選項卡上的特定工作表。如下所示,但具有鏈接 函數ph(){1 =行1,14 =列14 = N goToSheet(「Data Interpretation」,47,1); } function goToSheet(sheetName,row,col)var sheet = SpreadsheetApp.getActive()。getSheetByName(sheetName); SpreadsheetApp.setActiveSheet(sheet); var range = sheet.getRange(row,col) SpreadsheetApp.setActiveRange(range); } –

相關問題