我制作了一个脚本,每隔几个小时就会在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行时,它变得非常慢,甚至十秒.我担心当达到数千行时,它会太慢,可能会超时或更糟.有没有更好的办法?
如何添加如下公式:
=SUM(A1:A17)
Run Code Online (Sandbox Code Playgroud)
使用适用于Google表格的Google Apps脚本API到一系列字段?
可以选择编写脚本并将其绑定到触发器.问题是,如何在脚本体中获取当前时间?
function myFunction() {
var currentTime = // <<???
}
Run Code Online (Sandbox Code Playgroud) 目标
我们的用户使用Google文档.他们写的文字将在他们使用文字转语音键入时读给他们.它应该在尽可能多的平台和浏览器中工作.
我们的方案
这似乎适合Google Apps脚本,适用于所有桌面浏览器和某些移动浏览器.
这有效
我们有一个文本转语音模块,效果很好,所以没问题.我们目前正在使用侧边栏.侧边栏可以使用HTML 5音频标签播放音频,无需任何问题.
问题
问题实际上是从Google文档文档中获取文本.到目前为止,我还没有找到任何方法直接从侧边栏访问Google文档文本.我们一直在做的是:
从用户在谷歌文档中输入文本到将更改同步到谷歌文档云时,需要一秒或更长时间.
我们计划了不同的步骤.文本转语音很快,HTML5音频也没问题.
该时间片是获得文本的变化.它目前需要1-3秒,这对我们的用例来说太长了.
题
我们可以更快地访问Google文档中的文字吗?也许直接而不是通过谷歌的云?
更新2017-02-15 目前看来它是不可能的.可以通过Chrome扩展程序执行此操作,它会解析Google文档主页并从HTML + JS中提取文本.这很难,但......可能.
javascript google-docs google-apps-script google-drive-realtime-api
我从Web服务中提取数据,格式为JSON.我正在为Google表格编写Google Apps脚本,以便为我填充数据.我的问题是,我似乎无法解析它.
这样做:
var dataset = myJSONtext;
Browser.msgbox(dataset.item[0].key);
Run Code Online (Sandbox Code Playgroud)
错误,说:
item [0]未定义.
是否有一些内置方式我应该这样做?
亚马逊最近更改了他们的API,现在似乎无法使用这些API以编程方式访问我在亚马逊上的WishList.除了屏幕抓取之外,有人知道有什么方法吗?也许有些第三方服务(我不介意只使用公共数据)?
我已经使用脚本编辑器为我的Google电子表格编写了一些代码.
我想与我的客户分享这个电子表格,但我不想分享我写的代码.
此代码在我的电子表格中添加了一个菜单,其中包含当我的客户打开此电子表格时应该工作/运行的有用功能,其中应用了以下条件:他们不应该看到它的代码.
使用Excel很容易,但我不知道谷歌电子表格..我在Google上搜索了很多,但他们都提出了如何共享电子表格的想法.例如在"查看"模式下,但在这种情况下有一个问题:我的菜单功能,它添加一个菜单,是"onOpen",并在我的客户打开它时不启动.
如何在Google电子表格中实现这一点?
根据旧谷歌集团的这个帖子,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版功能或已经实施并且似乎有效的子集?
我正在尝试使用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
我有一个谷歌电子表格,我想要一个只有月份和年份名称的日期,比如September 2011,我也希望月份和年份可以轻松更改.有没有办法获得自定义日期格式来执行此操作?
我想我可以这样做:
=TEXT(40295; "MMMM yy")
Run Code Online (Sandbox Code Playgroud)
但是,日期选择器不能再被使用了,改变日期变得难以置信.有没有什么好办法解决这个问题?
google-docs ×2
javascript ×2
amazon ×1
api ×1
credentials ×1
ecma ×1
json ×1
login ×1
performance ×1
urlfetch ×1