【问题标题】:Can you programmatically generate buttons in Google Sheets cells?您可以以编程方式在 Google 表格单元格中生成按钮吗?
【发布时间】:2015-04-07 07:00:30
【问题描述】:

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

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

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

【问题讨论】:

  • 单元格中的按钮。我正在寻找这样的问题,我想了解业务流程,因为我正在研究一种使用公式来解决这个问题的方法。我想要“虚拟但看起来很逼真的数据”来感受业务流程。 ...见 www.cellmaster.com.au。

标签: user-interface google-apps-script google-sheets google-spreadsheet-api


【解决方案1】:

不,您不能将按钮放入 Google 表格的单元格中。您可以将按钮图像放入电子表格,并附上脚本。至于将某些东西嵌入到单元格中,您所能做的就是将超链接放入单元格中。该链接可以启动独立的 Apps 脚本。您可以以编程方式将链接放入单元格中。还有其他三个选项,在电子表格打开时自动打开自定义菜单、对话框或侧边栏。

超链接是公式,可以用代码添加公式:

 var ss = SpreadsheetApp.getActiveSpreadsheet();
 var sheet = ss.getSheets()[0];

 var cell = sheet.getRange("B5");
 cell.setFormula("=hyperlink("www.google.com", "search the web");

Google Documentation - Set Formula

【讨论】:

  • 谢谢!这就是我的想法,我想我正在努力在 Google 表格中获得漂亮的结果。这有点烦人,您必须单击两次才能激活它,但否则 Link 方法很好。
  • 我们实际上可以使用SpreadsheetApp.getActiveSheet().insertImage(url, column, row) 将图像(作为按钮)放置在特定的单元格位置上,只是不能自动为它们分配脚本或通过代码删除它们。
  • 您必须将鼠标悬停在图像(不是按钮)上才能使下拉菜单出现在右上角。分配脚本选项在那里,但就像我在这里的替代答案一样,我不会投票支持将其付诸实践
【解决方案2】:

我会投票反对使用表格中的图像作为按钮来完全触发脚本。

从侧边栏触发脚本功能的最少 html 代码...

function onOpen() {
  showSidebar(); 
}

function showSidebar() {
  return SpreadsheetApp.getUi()
  .showSidebar(HtmlService
               .createHtmlOutput('<button onclick="google.script.run.myFunction()">Run</button>'));
}

【讨论】:

  • 感谢示例代码!不幸的是,为此我需要实际驻留在某些行上的按钮(仅使用链接),具体取决于工作表内容。非常感谢您的帮助!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2019-02-05
  • 2018-07-23
  • 2023-03-16
  • 2013-07-11
  • 1970-01-01
  • 2020-10-18
  • 2014-03-19
相关资源
最近更新 更多