您能否以编程方式在 Google 表格单元格中生成按钮?
Can you programmatically generate buttons in Google Sheets cells?
我有一个由非技术人员团队定期访问的电子表格,如果我可以在某些行上自动生成可点击按钮,它会加快我们的工作流程(取决于行的内容)启动 Google Apps 脚本。
一个优雅的解决方案(HTML 服务或 UI 服务)会很好,但我不介意 using Drawings。问题是,我不知道如何以编程方式生成它们。
我是不是遗漏了一些非常明显的东西,或者 Google Sheets 真的只是想让你在 dialogs/sidebars 中保留 UI 东西?
不,您不能将按钮放入 Google Sheet 的单元格中。您可以 将按钮图像放入电子表格中,并附上脚本。至于将某些东西嵌入到单元格中,您所能做的就是将 hyperlink 放入单元格中。 link 可以启动独立的 Apps 脚本。您可以 以编程方式 将 link 放入单元格中。还有其他三个选项,打开电子表格时自动打开自定义菜单、对话框或边栏。
一个hyperlink是一个公式,可以用代码添加公式:
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheets()[0];
var cell = sheet.getRange("B5");
cell.setFormula("=hyperlink("www.google.com", "search the web");
我反对使用表格中的图像作为按钮来完全触发脚本。
从侧边栏触发脚本函数的最少 html 代码...
function onOpen() {
showSidebar();
}
function showSidebar() {
return SpreadsheetApp.getUi()
.showSidebar(HtmlService
.createHtmlOutput('<button onclick="google.script.run.myFunction()">Run</button>'));
}
我有一个由非技术人员团队定期访问的电子表格,如果我可以在某些行上自动生成可点击按钮,它会加快我们的工作流程(取决于行的内容)启动 Google Apps 脚本。
一个优雅的解决方案(HTML 服务或 UI 服务)会很好,但我不介意 using Drawings。问题是,我不知道如何以编程方式生成它们。
我是不是遗漏了一些非常明显的东西,或者 Google Sheets 真的只是想让你在 dialogs/sidebars 中保留 UI 东西?
不,您不能将按钮放入 Google Sheet 的单元格中。您可以 将按钮图像放入电子表格中,并附上脚本。至于将某些东西嵌入到单元格中,您所能做的就是将 hyperlink 放入单元格中。 link 可以启动独立的 Apps 脚本。您可以 以编程方式 将 link 放入单元格中。还有其他三个选项,打开电子表格时自动打开自定义菜单、对话框或边栏。
一个hyperlink是一个公式,可以用代码添加公式:
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheets()[0];
var cell = sheet.getRange("B5");
cell.setFormula("=hyperlink("www.google.com", "search the web");
我反对使用表格中的图像作为按钮来完全触发脚本。
从侧边栏触发脚本函数的最少 html 代码...
function onOpen() {
showSidebar();
}
function showSidebar() {
return SpreadsheetApp.getUi()
.showSidebar(HtmlService
.createHtmlOutput('<button onclick="google.script.run.myFunction()">Run</button>'));
}