我將在幾個用戶中分配一個包含onOpen菜單的電子表格。我想將菜單定義和功能保留在庫中,因此如果我添加一些菜單選項或更新某些功能,則使用該電子表格的每個人都將自動更新。電子表格從庫中打開菜單
到目前爲止,在電子表格劇本我只有這個簡單的代碼:
function onOpen() {
myLib.loadMenu();
}
沒有問題的電子表格上的菜單加載,然而,我不管怎麼命名的菜單上的呼叫,而實際功能(帶或不帶myLib)。當使用該菜單中的選項時,我總是會收到一個錯誤「Script function doSomething could not be found」。
任何關於如何命名函數調用菜單和庫中的實際函數的任何想法,這種方法的工作。
感謝,福斯托
EDIT-1:讓我提供更多的細節和示例代碼
我的目標是能夠更多選項添加到從庫中的電子表格菜單,而無需更新每個用戶的電子表格。
這是示例代碼全部包含在電子表格中的腳本,沒有圖書館尚未使用,它的工作原理沒有問題
function onOpen() {
testMenu();
}
function testMenu() {
SpreadsheetApp.getActiveSpreadsheet().addMenu(
'Testing', [
{ name: 'Do Something #1', functionName: 'someFunction1' },
null,
{ name: 'Do Something #2', functionName: 'someFunction2' } ]);
}
function someFunction1() {
SpreadsheetApp.getActiveSheet().getRange("A1").setValue("Hello from someFunction1");
}
function someFunction2() {
SpreadsheetApp.getActiveSheet().getRange("A2").setValue("Bye from someFunction2");
}
我想要做的就是相同的功能,但分裂的電子表格之間的代碼腳本和庫,遵循
在電子表格腳本
function onOpen() {
xsLib.testMenu();
}
在圖書館
function testMenu() {
SpreadsheetApp.getActiveSpreadsheet().addMenu(
'Testing', [
{ name: 'Do Something #1', functionName: 'someFunction1' },
null,
{ name: 'Do Something #2', functionName: 'someFunction2' } ]);
}
function someFunction1() {
SpreadsheetApp.getActiveSheet().getRange("A1").setValue("Hello from someFunction1");
}
function someFunction2() {
SpreadsheetApp.getActiveSheet().getRange("A2").setValue("Bye from someFunction2");
}
在此分裂接近使用從測試菜單中的選項時,從庫中調用內置菜單正確但顯示在電子表格上,我得到這樣的消息的錯誤:「腳本功能someFunction1找不到」
感謝安東,這是我迄今已做的,但這種做法並不讓我增加新項目到電子表格菜單來自庫。據說圖書館是「包含」在腳本中,對吧? –
您能否介紹一下您想要添加菜單項的過程?即步驟是什麼? –
工作更好的解釋,我會在今晚晚些時候發佈編輯,再次感謝 –