2013-02-20 56 views
7

我是一名業餘編碼員 - 我真的只做了一些事情讓我的生活更輕鬆。爲了跟蹤我學校不同年級的學科問題,我設立了Google表格和電子表格。我編寫了一個簡短的腳本,通過電子郵件向適當的人員通知任何提交內容,並可以篩選和創建關於所選學習者的報告。將腳本插入多個Google Spreadsheets

因爲我做DIY編碼(英語和法語老師,所以我沒有學習編程),我經常想出一些應該從一開始就很明顯的改進。我真的不想將腳本改進複製並粘貼到每個電子表格的腳本編輯器中。我已將此腳本作爲獨立文件複製到Google雲端硬盤中,但無法將其插入任何電子表格中,因爲相冊只能訪問已發佈的腳本/應用。有沒有解決的辦法?我已經看到使用庫的提及,但我甚至不知道從哪裏開始。感覺有點愚蠢,您可以在Google雲端硬盤中獨立創建腳本,但實際上並未使用它。

任何幫助,將不勝感激。

回答

6

這個問題最初是作爲一個問題提出的,而Google的解決方案是「庫」功能。

所以你會想

  1. 您必須保存一個版本的項目。 File> Manage Versions ...
  2. 然後進入File> Project Properties並複製項目密鑰。
  3. 然後在所有其他電子表格中,您必須進入腳本編輯器並進入資源>管理庫。然後從上方粘貼項目密鑰並將其添加到該電子表格腳本中。

沒有一種自動化的方法來實現這一點。爲了讓腳本在任何電子表格上運行,您必須進入每個電子表格的腳本編輯器。

Source

+0

謝謝你的幫助。我會去圖書館看看我能做些什麼。 – user2091307 2013-02-20 21:20:17

4

對方回答(菲爾Bozak)是不壞,因爲它給出瞭如何建立一個庫的總體概述,但恐怕不會是足以使你真的「上正確的軌道'。

如文檔您可以使用包含的庫就像你會使用默認服務這意味着庫函數是不能直接使用的腳本,而應被視爲一個工具箱中提到的腳本功能可以打電話。

因此,在每個電子表格中,您應該擁有一些實際「調用」圖書館服務的基本功能,後者負責實際操作。讓我舉一個簡單的例子:假設您想要更改工作表的背景顏色,您在yourLibrary中有一個函數,用於更改當前工作表的顏色(yourLibrary是您提供給庫的名稱),該功能將被稱爲changeColor

現在,在腳本中,您可以使用yourLibrary.changeColor,但如果您希望在特殊操作(onEdit,onOpen ...或菜單調用中)執行此電子表格的腳本本身,則必須出現此「服務調用」並且該庫也必須在同一腳本編輯器的資源中引用。

所有這些都說明了庫的功能非常有用且非常簡單,但是您仍然需要在每個電子表格中使用「框架腳本」,並且必須考慮如何使用基本結構重新構建腳本, 可更新部件,做真正的stuf'。

沒那麼簡單,但(這樣做了之後)相當舒適;-)

希望這是非常明顯的。

+0

感謝您的輸入。在環顧一下並聽從你的建議後,我想我可以破解它。如果我遇到障礙,我會回來的! – user2091307 2013-02-20 21:19:41

+0

它像一個魅力。感覺有點慢,但這可能是因爲我的作品互聯網連接速度慢。我開啓了開發者模式,但是我預計我的庫的更改會立即顯示在電子表格中,而無需保存新版本。我會做更多的研究 - 可能錯過了一些東西。乾杯! – user2091307 2013-02-21 13:28:50

+1

看看[這篇文章](http://stackoverflow.com/questions/12521872/development-mode-copies-of-template-spreadsheets-made-by-other-users),我想這可能會有所幫助。並且:開心,它適合你;-) – 2013-02-21 14:20:26

2

您可能還想考慮您的個人電子表格是否需要自己的容器腳本。爲什麼你不能單獨閱讀並在所有表格上運行報告?

0

另一種辦法可以幫助你,你可以創建腳本應用在驅動文件,把你想要的所有電子表格ID在陣列和帶環招運行腳本

相關問題