Tag: 谷歌电子表格

如何保护Google电子表格中的Apps脚本代码?

我用脚本编辑器为Google电子表格写了一些代码。 我想与我的客户分享这个电子表格,但我不想分享我写的代码。 此代码向我的电子表格添加一个菜单,其中包含应用程序的有用function,当我的客户打开此电子表格时,应用条件应为:他们不应该能够看到其代码。 这很容易与Excel,但与谷歌电子表格,我不知道。 。 我在Google上search了很多,但他们都提供了如何共享电子表格的想法。 例如在“查看”模式,但在这种情况下,有一个问题:我的菜单function,其中添加一个菜单,是“onOpen”,并不会启动时,我的客户打开它。 如何在Google电子表格中执行此操作?

在Google电子表格中刷新由自定义函数检索的数据

我已经写了一个自定义的谷歌应用程序脚本,将收到一个ID和从Web服务(价格)获取信息。 我在电子表格中使用这个脚本,它工作得很好。 我的问题是,这些价格变化,我的电子表格并没有得到更新。 我如何强制它重新运行脚本并更新单元格(而不需要手动检查每个单元格)?

脚本来总结数据没有更新

我有一个时间表数据的Google电子表格; 它每个月都有一个表格,每个表格有六个列块,每个客户端一个块。 我创build了一个汇总表,获取每个客户端的总数并将其显示在列表中: function getClientTotals(sheetname, colcount) { colcount = colcount ? colcount : 6; var res; var ss = SpreadsheetApp.openById('myid_goes_here'); if(ss) { res = []; var totrow = ss.getRange(sheetname + '!A1:ZZ1').getValues()[0]; for(var i = 0; i < totrow.length; i += colcount) { res.push([totrow[i], totrow[i + colcount – 1]]); } } return res; } 然后,我刚刚在包含=getClientTotals($C$7,$C$8)汇总表中添加了一个单元格,该单元格传递了月份的表名和每个客户端的列数(在“模式”修改的情况下)。 这一切工作正常,但是,它不会更新源数据更改时。 […]

如何自动将上传的CSV或XLS文件中的数据导入Google表格

我在一台生成CSV或XLS报告到Google云端硬盘文件夹的服务器上有一个遗留数据库系统(不能访问networking)。 目前,我正在Drive Drive界面中手动打开这些文件,并将其转换为Google表格。 我宁愿这是自动的,所以我可以创build作业,追加/转换和图表的数据在其他表。 有可能输出一个本地的.gsheet文件? 或者有没有办法将编辑后的CSV或XLS格式的文件转换成.gsheet文件,然后在Google Apps中或通过基于Windows的脚本/工具保存到Google Drive?

我如何测试GAS中的触发器功能?

Google-apps-script支持通过事件触发功能的触发器。 不幸的是,开发环境会让你测试没有参数传递的函数,所以你不能以这种方式模拟一个事件。 如果你尝试,你会得到一个错误,如: ReferenceError: 'e' is not defined. 人们可以像处理可选参数一样处理事件,并使用“ 是否有更好的方法在JavaScript中执行可选的函数参数 ”中的任何技术,将缺省值插入到触发函数中。 但是这会带来一个懒惰的程序员的风险(如果你是这样的话,那么这个程序员就会把这个代码留在后面,带来意想不到的副作用)。 当然有更好的方法?