标签: google-apps-script

谷歌应用程序脚本应该存储在像GitHub这样的版本控制中

我对管理Google App Scripts共享开发的最佳方式感到困惑.问题是编辑谷歌应用程序脚本是通过一个在线编辑器完成的,它有自己的版本控制,但据我所知,这并没有与其他开发人员共享.

建议的做法是,我们将该编辑空间复制并粘贴到本地硬文件中,然后推入我们选择的版本控制系统,然后当我们想要测试时,我们将东西复制并粘贴回在线编辑器中?看起来很混乱,容易出错.

我看到有些人将他们的Google App Scripts放在像Github这样的地方:

https://github.com/peterneubauer/neo4j-google-apps-script

我们可以直接从git推送到Google App Scripts上,就像我们使用Heroku一样.真的希望能够针对我的App Scripts运行一系列单元测试......

javascript google-apps-script

52
推荐指数
3
解决办法
8672
查看次数

确定单个列中的最后一行

我在COLS与数据在片材A通过H.

我需要确定A包含数据的列中的最后一行(它是所有连续的 - 数据/行中没有间隙).

其他列中的数据也包含比列更多的数据行A,因此我只需要隔离列A.(和/或只是col内的范围A).

我可以在电子表格级别使用

=COUNTA(A2:A100)
Run Code Online (Sandbox Code Playgroud)

然而,在我对Google Apps脚本解决方案的所有研究中,我似乎都发现需要执行多个功能,包括几十行代码 - 包括大量的i++内容......我可以通过直接抵消来减少复杂性A1.

是否可能有特定于列的方法来修改此方法?

var aLast = ss.getDataRange().getNumRows();
Run Code Online (Sandbox Code Playgroud)

如果需要一个复杂的过程,那就这样吧.但我发现很难想象(甚至更难找到!)一个更简单的解决方案.

有人关心开导我(或弹出我的泡泡)?

google-sheets google-apps-script

50
推荐指数
9
解决办法
9万
查看次数

超过了Google Apps脚本中的最长执行时间

我有一个不断收到此错误的Apps脚本.通过通知邮件判断,看起来时间限制是5分钟.有谁知道是否有办法延长这个时间限制?或者是否有办法再次调用Apps脚本,它从它停止的地方开始提取?任何帮助表示赞赏.

google-apps-script

48
推荐指数
5
解决办法
6万
查看次数

迭代范围,将字符串附加到每个范围

我在Google表格(activerange)中选择了一系列单元格.我想迭代该范围内的每个单元格,并在末尾添加一个字符串.字符串始终相同,可以硬编码到函数中.

这似乎是一件非常简单的事情,但我现在已经搞乱了一小时的代码并且无法获得任何有用的东西,并且文档实际上没有帮助.

这就是我现在拥有的.我不编码JS(我知道VBA,对所有有帮助的人......).

function appendString() {
  var range = SpreadsheetApp.getActiveSheet().getActiveRange();
  for (var i = 0; i < range.length; i++) {
    var currentValue = range[i].getValue();
    var withString = currentValue + " string";
    range[i].setValue(withString);
  }
}
Run Code Online (Sandbox Code Playgroud)

google-sheets google-apps-script

46
推荐指数
4
解决办法
6万
查看次数

如何在谷歌电子表格中联合范围

我想从任何谷歌电子表格联合范围.

这个例子

!工作表Sheet1 A:

{12, 131, 45}
Run Code Online (Sandbox Code Playgroud)

!Sheet2中A:

{12, 131, 46}
Run Code Online (Sandbox Code Playgroud)

未知的功能

=formula_for_union_range(Sheet1!A:A; Sheet2!:A:A)
Run Code Online (Sandbox Code Playgroud)

应该回来

{12, 131, 45, 12, 131, 46}
Run Code Online (Sandbox Code Playgroud)

这个问题

这怎么可能?

google-sheets google-apps-script

45
推荐指数
4
解决办法
6万
查看次数

如何为谷歌应用脚​​本功能创建自定义键盘快捷键?

我试图了解用Google Doc Spreadsheets替换我的一些Microsoft Excel电子表格的可行性.如何在Google文档电子表格中创建谷歌应用脚​​本功能的自定义键盘快捷键?这是我通常用VBA和Excel做的事情.

keyboard-shortcuts google-sheets google-apps-script

45
推荐指数
5
解决办法
2万
查看次数

How to use "not" in Gmail filters?

I need to respond to machine generated emails, except those also sent to one colleague or contain a particular topic outside my responsibility.

I've been trying to set up a Gmail filter which includes all mail from user X but NOT those emails which are also addressed to user Y NOR those containing "junk_term". I want the emails archived and to skip the inbox.

I created a filter like so:

 "from:(user_X@address.com) -{user_Y@address.com OR junk_term}"
Run Code Online (Sandbox Code Playgroud)

但似乎没有任何影响,或者没有办法"刷新"当前标记的电子邮件标签.如果上面的代码恰好是正确的语法,并且有一些方法可以刷新所有内容,我也很感激学习如何做到这一点.谢谢.

gmail filter google-apps-script

44
推荐指数
2
解决办法
5万
查看次数

在Google表格中将Unix纪元时间转换为日期

我有一张带有一列unix纪元时间(以秒为单位)的工作表:1500598288

如何将这些转换为正常日期?

google-sheets google-apps-script

44
推荐指数
6
解决办法
4万
查看次数

如何在GAS中测试触发功能?

Google Apps脚本支持触发器,可将事件传递给触发器功能.不幸的是,开发环境将允许您在没有参数传递的情况下测试函数,因此您无法以这种方式模拟事件.如果你尝试,你会收到如下错误:

ReferenceError:未定义'e'.

可以将事件视为可选参数,并使用" 在JavaScript中有更好的方法来执行可选函数参数吗? "中的任何技术将默认值插入到触发器函数中.但是这会带来一种风险,即一个懒惰的程序员(如果那就是你那么举手!)会留下那些代码,带来意想不到的副作用.

当然还有更好的方法吗?

google-sheets google-apps-script

43
推荐指数
3
解决办法
2万
查看次数

Google表单中的隐藏字段

我正在为表单的每个提交添加一个唯一的ID.现在,我将该ID作为第一个字段,并使用ID预先填充它,并附上帮助文本,要求用户不要修改此字段.是否有任何选项我无法向用户显示此选项?

google-sheets google-apps-script google-forms

40
推荐指数
2
解决办法
5万
查看次数