User interface 你能在谷歌表格单元格中以编程方式生成按钮吗?

User interface 你能在谷歌表格单元格中以编程方式生成按钮吗?,user-interface,google-apps-script,google-sheets,google-spreadsheet-api,User Interface,Google Apps Script,Google Sheets,Google Spreadsheet Api,我有一个由非技术人员组成的团队定期访问的电子表格,如果我能在某些行上自动生成可点击的按钮(取决于行的内容),启动谷歌应用程序脚本,它将加快我们的工作流程 一个优雅的解决方案(HTML服务或UI服务)会很好,但我不介意。问题是,我不知道如何以编程方式生成它们 我是否遗漏了一些非常明显的东西,或者Google Sheets真的只是想让您在对话框/侧栏中保留UI内容?不,您不能将按钮放入Google Sheet的单元格中。您可以将按钮的图像放入电子表格,并附加脚本。至于在单元格中嵌入内容,您所能做的就

我有一个由非技术人员组成的团队定期访问的电子表格,如果我能在某些行上自动生成可点击的按钮(取决于行的内容),启动谷歌应用程序脚本,它将加快我们的工作流程

一个优雅的解决方案(HTML服务或UI服务)会很好,但我不介意。问题是,我不知道如何以编程方式生成它们


我是否遗漏了一些非常明显的东西,或者Google Sheets真的只是想让您在对话框/侧栏中保留UI内容?

不,您不能将按钮放入Google Sheet的单元格中。您可以将按钮的图像放入电子表格,并附加脚本。至于在单元格中嵌入内容,您所能做的就是在单元格中添加超链接。该链接可以启动独立应用程序脚本。您可以通过编程将链接放入单元格中。还有三个其他选项,在电子表格打开时自动打开自定义菜单、对话框或侧边栏

超链接是一个公式,您可以使用以下代码添加公式:

 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>'));
}
函数onOpen(){ showSidebar(); } 函数showSidebar(){ 返回SpreadsheetApp.getUi() .showSidebar(HtmlService .createHtmlOutput(“运行”); }
谢谢!这就是我想的,我想我太努力了,想在谷歌的表单上得到看起来很光滑的结果。这有点让人恼火,你必须点击两次才能激活它,但是链接方法没有问题。实际上,我们可以使用
SpreadsheetApp.getActiveSheet().insertImage(url、列、行)
,将图像(作为按钮)放置在特定的单元格位置上,只是无法自动为它们分配脚本或通过代码删除它们。您必须将鼠标悬停在图像(而不是按钮)上,才能使下拉菜单显示在右上角。分配脚本选项在那里,但就像我在这里的备选答案一样,我不会投票赞成将其付诸实践感谢示例代码!不幸的是,我需要的按钮(将只使用链接)实际上驻留在某些行上,具体取决于工作表内容。尽管如此,我们还是非常感谢您的帮助!单元格中的按钮。我正在寻找这样的问题,我想了解业务流程,因为我正在研究一种使用公式解决这个问题的方法。我想要“虚拟但真实的数据”来感受业务流程。。。见www.cellmaster.com.au。