0
如果在Google Doc的onOpen函數中,我通過以id打開電子表格來創建電子表格對象,如果我使用菜單系統,如何將該對象傳遞給其他函數? (更長的解釋如下)Google腳本文檔openbyid權限錯誤
我有一個谷歌文檔腳本,將在特定時間拍攝文檔的快照,然後將其導出到.docx並使用快照的URL更新電子表格。這是通過一個菜單選項開始,像這樣:
function onOpen(e) {
DocumentApp.getUi().createMenu('Senate Secretary Menu')
.addItem('Snapshot', 'snapshot')
.addToUi();
}
從調用函數的快照()
function snapshot() {
//open the spreadsheet using id
var ss=SpreadsheetApp.openById('spreadsheet_id');
這會產生一個you do not have permission to call openbyid()
錯誤
據我所知,谷歌腳本禁止openbyid()在自定義函數中被調用(我將它解釋爲電子表格中的函數,但是是whatevs)。 如果我更改onOpen函數以包含OpenById()調用它將起作用。
function onOpen(e) {
DocumentApp.getUi().createMenu('Senate Secretary Menu')
.addItem('Snapshot', 'snapshot')
.addToUi();
var ss=SpreadsheetApp.openById('spreadsheet_id');
}
我的問題是如何將文件對象從onOpen函數傳遞給快照函數?
只是爲了澄清,您是使用實際的電子表格ID(字母和數字的長序列)還是字符串「spreadsheet_id」? – Brady
它實際上是一串很長的數字。但是我發現下面的錯誤。 – rwreed