您可以以编程方式在Google表格单元格中生成按钮吗?

问题描述:

我有一个由非技术团队定期访问的电子表格,如果我可以在某些行上自动生成可点击的按钮,则会加快我们的工作流程(取决于行内容)启动Google Apps脚本。您可以以编程方式在Google表格单元格中生成按钮吗?

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

我是否错过了一些非常明显的东西,或者Google Sheets真的只是想让你在对话框/边栏中保留UI的东西?

+0

按钮。我正在寻找这样的问题,我想了解业务流程,因为我正在使用公式解决此问题。我想要“虚拟但看起来很现实的数据”来感受业务流程。 ...请参阅www.cellmaster.com.au。 – eddyparkinson 2015-02-11 04:35:30

不,您不能将按钮放到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

+1

谢谢!这就是我的想法,我认为我努力在Google表格中获得光鲜亮丽的结果。它有点恼人,你必须点击两次来激活它,但否则链接方法是好的。 – 2015-02-10 02:38:32

+1

我们实际上可以使用'SpreadsheetApp.getActiveSheet()。insertImage(url,column,row)'将图片(作为按钮)定位到特定的单元格位置,不能自动将脚本分配给它们或通过代码删除它们。 – 2015-02-10 07:34:09

+0

哦,谢谢!有没有办法让按钮触发代码? – 2015-02-10 15:06:47

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

最少的HTML代码来触发从侧边栏的脚本功能......在小区

function onOpen() { 
    showSidebar(); 
} 

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

感谢您的示例代码!不幸的是,我需要按钮(只是使用链接),这些按钮实际上位于某些行,具体取决于表单内容。虽然帮助非常感谢! – 2015-02-10 02:40:03