标签: google-apps-script

更快找到第一个空行的方法

我制作了一个脚本,每隔几个小时就会在Google Apps电子表格中添加一个新行.

这是我为找到第一个空行而做的功能:

function getFirstEmptyRow() {
  var spr = SpreadsheetApp.getActiveSpreadsheet();
  var cell = spr.getRange('a1');
  var ct = 0;
  while ( cell.offset(ct, 0).getValue() != "" ) {
    ct++;
  }
  return (ct);
}
Run Code Online (Sandbox Code Playgroud)

它工作正常,但当达到约100行时,它变得非常慢,甚至十秒.我担心当达到数千行时,它会太慢,可能会超时或更糟.有没有更好的办法?

performance google-sheets google-apps-script

32
推荐指数
6
解决办法
7万
查看次数

如何使用Google Apps脚本向Google表格添加公式?

如何添加如下公式:

=SUM(A1:A17)
Run Code Online (Sandbox Code Playgroud)

使用适用于Google表格的Google Apps脚本API到一系列字段?

google-docs google-sheets google-apps-script

32
推荐指数
4
解决办法
5万
查看次数

如何使用脚本编辑器在Google电子表格中获取当前时间?

可以选择编写脚本并将其绑定到触发器.问题是,如何在脚本体中获取当前时间?

function myFunction() {

  var currentTime = // <<???

}
Run Code Online (Sandbox Code Playgroud)

google-sheets google-apps-script

30
推荐指数
4
解决办法
10万
查看次数

Google文档 - 实时访问文本更改

目标

我们的用户使用Google文档.他们写的文字将在他们使用文字转语音键入时读给他们.它应该在尽可能多的平台和浏览器中工作.

我们的方案

这似乎适合Google Apps脚本,适用于所有桌面浏览器和某些移动浏览器.

这有效

我们有一个文本转语音模块,效果很好,所以没问题.我们目前正在使用侧边栏.侧边栏可以使用HTML 5音频标签播放音频,无需任何问题.

问题

问题实际上是从Google文档文档中获取文本.到目前为止,我还没有找到任何方法直接从侧边栏访问Google文档文本.我们一直在做的是:

  1. 补充工具栏每隔x毫秒轮询我们在Google云上运行的Google Apps脚本
  2. 然后,我们在Google云上运行的Google Apps脚本会访问云中的同步文档
  3. 如果发现任何更改,则会将其发送回补充工具栏
  4. 边栏使用HTML5音频标签和我们的文字转语音播放音频.

在此输入图像描述

从用户在谷歌文档中输入文本到将更改同步到谷歌文档云时,需要一秒或更长时间.

我们计划了不同的步骤.文本转语音很快,HTML5音频也没问题.

时间片是获得文本的变化.它目前需要1-3秒,这对我们的用例来说太长了.

我们可以更快地访问Google文档中的文字吗?也许直接而不是通过谷歌的云?

更新2017-02-15 目前看来它是不可能的.可以通过Chrome扩展程序执行此操作,它会解析Google文档主页并从HTML + JS中提取文本.这很难,但......可能.

javascript google-docs google-apps-script google-drive-realtime-api

30
推荐指数
1
解决办法
857
查看次数

将JSON数据导入Google表格

我从Web服务中提取数据,格式为JSON.我正在为Google表格编写Google Apps脚本,以便为我填充数据.我的问题是,我似乎无法解析它.

这样做:

var dataset = myJSONtext;
Browser.msgbox(dataset.item[0].key); 
Run Code Online (Sandbox Code Playgroud)

错误,说:

item [0]未定义.

是否有一些内置方式我应该这样做?

json google-sheets google-apps-script

29
推荐指数
3
解决办法
4万
查看次数

以编程方式访问Amazon Wishlist?

亚马逊最近更改了他们的API,现在似乎无法使用这些API以编程方式访问我在亚马逊上的WishList.除了屏幕抓取之外,有人知道有什么方法吗?也许有些第三方服务(我不介意只使用公共数据)?

api amazon amazon-web-services google-apps-script

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

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

我已经使用脚本编辑器为我的Google电子表格编写了一些代码.

我想与我的客户分享这个电子表格,但我不想分享我写的代码.

此代码在我的电子表格中添加了一个菜单,其中包含当我的客户打开此电子表格时应该工作/运行的有用功能,其中应用了以下条件:他们不应该看到它的代码.

使用Excel很容易,但我不知道谷歌电子表格..我在Google上搜索了很多,但他们都提出了如何共享电子表格的想法.例如在"查看"模式下,但在这种情况下有一个问题:我的菜单功能,它添加一个菜单,是"onOpen",并在我的客户打开它时不启动.

如何在Google电子表格中实现这一点?

google-sheets google-apps-script

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

哪个版本的ECMA-262是否支持Google Apps脚本?

根据旧谷歌集团的这个帖子,Apps脚本基于ECMA-262第3版.

这似乎得到了编辑器中的自动完成显示第3版阵列功能这一事实的支持.

但是,以下代码运行得非常好,这使人对此事表示怀疑:

var array = [
  1,2,3,4,5
];

Logger.log("forEach:");
array.forEach(function (item,idx,arr) {
  Logger.log(item); 
});
Run Code Online (Sandbox Code Playgroud)

请注意每个使用ECMA-262第5版阵列功能.

有权威的人会给出明确的答案吗?为什么会这样?是否可以安全地依赖所有第5版功能或已经实施并且似乎有效的子集?

javascript ecma google-apps-script

29
推荐指数
1
解决办法
5855
查看次数

如何将UrlFetchApp与凭据一起使用?谷歌脚本

我正在尝试使用Google Scripts UrlFetchApp来访问具有基本用户名和密码的网站.一旦我连接到该站点,就会出现需要身份验证的弹出窗口.我知道登录名和密码,但我不知道如何在UrlFetchApp中传递它们.

var response = UrlFetchApp.fetch("htp://00.000.000.000:0000 /");
Logger.log(response.getContentText( "UTF-8"));

当前运行该代码返回"拒绝访问".出于安全原因,上面的代码不包含我要连接的实际地址.代码示例中的所有"http"都缺少"t",因为它们被检测为链接,而Stackoverflow不允许我提交两个以上的链接.

如何将登录名和密码与我的请求一起传递?无论如何我还可以在登录后继续我的会话吗?或者我的下一个UrlFetchApp请求是否会从另一台要求我再次登录的Google服务器发送?

这里的目标是登录Googles网络基础架构背后的网站,以便它可以充当代理,然后我需要向相同的地址发出另一个UrlFetchApp请求,如下所示:

var response = UrlFetchApp.fetch("htp://00.000.000.000:0000/vuze/rpc?json = {"method":"torrent-add","arguments":{"filename":"htp:// vodo达网络/媒体/种子/ anything.torrent " "下载-DIR": "C:\ TEMP"}}");
Logger.log(response.getContentText( "UTF-8"));

login credentials basic-authentication urlfetch google-apps-script

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

"MMMM yy" - 谷歌电子表格中的日期

我有一个谷歌电子表格,我想要一个只有月份和年份名称的日期,比如September 2011,我也希望月份和年份可以轻松更改.有没有办法获得自定义日期格式来执行此操作?

我想我可以这样做:

=TEXT(40295; "MMMM yy")
Run Code Online (Sandbox Code Playgroud)

但是,日期选择器不能再被使用了,改变日期变得难以置信.有没有什么好办法解决这个问题?

google-sheets google-apps-script

28
推荐指数
3
解决办法
4万
查看次数