我正在尝试在用户界面中创建一个新按钮,以便在点击它时打开一个新的电子表格。我看起来很简单,但我一直在四处寻找,我无法找到我正在寻找的东西。
到目前为止,我知道如何在用户界面上创建我的按钮,但我无法添加后面的功能来打开电子表格。
function onOpen() {
SpreadsheetApp.getUi()
.createMenu('Button') // my button name
.addToUi();
}
你知道我怎么能做到这一点吗?
答案 0 :(得分:0)
抱歉,我错过了重要部分。让我再尝试一次。此方法不会从按钮打开新的电子表格。它会创建一个新的电子表格,然后创建一个指向新电子表格的超链接(在本例中为" A1")。我不认为可以直接从按钮创建和打开新的电子表格。试一试。每次按钮都会创建一个新的电子表格和新的超链接。
function onOpen() {
SpreadsheetApp.getActiveSpreadsheet().addMenu(
'Create Spreadsheet', [
{ name: 'New Spreadsheet', functionName: 'newSprdsht' },
]);
}
function newSprdsht(){
var ss = SpreadsheetApp.create("New Spreadsheet "+new Date());//create a new spreadsheet with new name each run
var url = ss.getUrl();//get url of new spreadsheet
var s=SpreadsheetApp.getActiveSpreadsheet()
var s1=s.getActiveSheet()
var cell =s1.getRange("A1")// where to put the hyperlink
var v='=HYPERLINK(\"'+url+'\",\"New Spreadsheet\")'
cell.setFormula(v)
}
答案 1 :(得分:0)
您无法直接从菜单中打开工作表,但可以打开一个弹出窗口,其中包含用于打开工作表的链接。
function onOpen() {
SpreadsheetApp.getUi().createMenu("Google Sheet").addItem("Open", "openSheet_").addToUi();
}
function openSheet_() {
var ss = SpreadsheetApp.getActive();
var url = ss.getUrl(); // replace this with another URL
var html = HtmlService.createHtmlOutput("<a href='URL' target='_blank'>Open Sheet</a>".replace("URL", url));
ss.show(html.setHeight(100).setWidth(200));
}