1

由於我在Google電子表格中有大量工作表,因此我想創建第一張工作表上所有工作表的鏈接。鏈接到嵌入式Google電子表格中的特定工作表

此作品谷歌電子表格內用下面的代碼:

function goToSheet2() { 
    goToSheet("Sheet2"); 
} 
function goToSheet(sheetName) { 
    var sheet = SpreadsheetApp.getActive().getSheetByName(sheetName); 
    SpreadsheetApp.setActiveSheet(sheet); 
} 

上究竟是如何在this other stack overflow post進一步的解釋。

但是,一旦您嵌入工作表,它不再工作。我想這與這個腳本使得你的按鈕/圖像像鏈接一樣工作(腳本只是幫你找到合適的#gid=)這一事實有關,所以它實際上只是重新加載整個頁面,這在嵌入式版本中是不可能的。

任何指向正確的方向將不勝感激。

編輯: 我現在知道這是行不通的。如this page所述:「只有擁有編輯電子表格,文檔或表單權限的用戶才能運行其綁定的腳本。只有查看權限的協作者無法打開腳本編輯器,但如果他們創建了父文件的副本,他們成爲副本的所有者,並能夠查看並運行腳本的副本。「

但是我似乎無法理解如何將綁定腳本製作爲可與嵌入文件一起使用的獨立腳本。我已經嘗試通過「將其部署爲web應用程序」來發布該腳本,但這不起作用。

編輯2: 我現在有一個非常unelegant辦法讓腳本在電子表格中的嵌入式版本的工作,但在電子表格是不是我想要的方式。

說明: 基本上我改變iframe的代碼如下:

<iframe src="https://docs.google.com/spreadsheets/d/SPREADSHEET-ID/pubhtml?widget=true&amp;headers=false&amp;chrome=false" height="500" width="500"></iframe> 

要這樣:

<iframe src="https://docs.google.com/spreadsheets/d/SPREADSHEET-ID/edit?usp=sharing?widget=true&amp;headers=false" height="500" width="500"></iframe> 

這迫使我卻用菜單&一切都顯示整個谷歌電子表格頁面。該腳本適用於:我可以通過單擊圖像來更改爲其他工作表。

現在到了有趣的部分: 我可以通過添加&rm=minimal的鏈接,但現在腳本不再起作用隱藏菜單。

+0

您是否試圖在您提供的鏈接中實施建議的解決方案?你能解釋一下這個問題嗎?此外,請說明是否遇到任何錯誤。 –

+0

@d。datul1990是的,我已經實施瞭解決方案,正如我已經提到的那樣,它可以在spreadhseet中工作,或者如果您嵌入了共享文檔,但是如果您使用「發佈」鏈接嵌入該鏈接,則不起作用谷歌電子表格,這將使其不可編輯,看起來不錯和整潔)。我不知道這個問題有多特別,因爲我已經陳述了所有我已經嘗試並瞭解到的知識。如果您有任何想法,我可以做些什麼來爲您提供更多信息,請讓我知道!不,我沒有遇到任何錯誤。 – Ber

回答

0

您最好創建代碼以將數據顯示爲HTML並將其作爲Web應用程序部署。從這一點你可以讓網絡應用程序根據所做的選擇顯示適當的數據。你可能想從這裏開始:Extending Google Sheets然後看看HTML Service: Create and Serve HTML作爲一個起點。您現在可以通過iFrame將Web應用程序嵌入到任何網頁中。這將使其保持僅顯示模式,並且查看器不需要對文件具有權限,因爲您可以像運行自己一樣運行網絡應用程序。

相關問題