小编Rub*_*bén的帖子

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

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

keyboard-shortcuts google-sheets google-apps-script

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

您如何在Google表格中进行动态/相关下拉?

如何根据google工作表中主类别下拉列表中选择的值来获取子类别列以填充下拉列表?

我google了,找不到任何好的解决方案,因此我想分享自己的解决方案.请参阅下面的答案.

validation google-sheets google-apps-script

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

如何在条件格式自定义公式中处理当前单元格?

我需要编写一个带有自定义公式的条件格式规则,该规则应该在特定单元格(当前单元格的第3行中的单元格)值"TODAY()"和当前单元格时触发empty.我知道如何检查其他单元格,但有没有办法在同一规则中检查当前单元格的值?

正如您在此图像上看到的那样,一列具有不同的颜色,因为当前单元格的第3行包含当前日期.只有空单元格是彩色的.

这是我的规则:

=and($3:$3=TODAY(), ????)

它应该适用于范围内的所有单元格 A4:M10

我需要它作为一个规则,而不是多个规则的组合.我需要把东西放到原处????

换句话说,我需要在自定义公式中将描述为"Cell is empty"的值放在其中.

以下是电子表格示例:https://docs.google.com/spreadsheets/d/1vpNrX2aUg8vY5WGDDuBnLfPuL-UyrjFvzjdATS73aq8/edit?usp=sharing

google-sheets gs-conditional-formatting

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

在Google Apps脚本中调试自定义功能

我正在尝试在Apps脚本中为Google电子表格创建我的第一个自定义函数,并且我很难使用调试器.

我正在研究Google文档中的自定义函数演示代码,我在自定义函数drivingDistance(origin, destination)中设置了一个断点,该函数在我的电子表格的单元格中使用.我遇到的问题是,调试器显示传递给函数的参数undefined.但是,执行期间创建的任何其他变量的内容都会正确显示(只要它们不依赖于输入参数).

有趣的是,虽然输入参数显示为未定义,但函数的计算成功,因此这似乎是一个调试器问题.不幸的是,这个问题阻止我成功学习创建和调试自己的代码(因为我将不得不使用复杂的输入参数).

我感觉问题与Apps脚本的服务器端执行有关,因此我尝试使用Logger类记录输入参数,并且我还尝试将这些变量复制到新的局部变量中.但我想出的只是undefined.

另一个奇怪的提示是,typeof参数返回String.但是获取它们的长度会引发错误并尝试将它们与另一个字符串连接起来会返回字符串"undefined"(请参阅​​我的屏幕转储).

在此输入图像描述

我正在寻找有关这里发生的事情的见解.

google-docs google-sheets google-apps-script custom-function

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

使Google电子表格公式无限重复

好吧,我有一个Google表格,可以将信息转储到电子表格中.在每一行我都需要进行简单的计算.问题是我无法弄清楚如何在添加新行时在每个新行上重复公式.

是的我知道如何使用填充句柄来复制公式,什么不是,但我希望它自动添加公式而不是我手动复制它.

例如,这用于跟踪时间,因此每个行都有一个In Time单元格和Out Time单元格.我希望有一个名为Time Spent的列,它将从时间中减去它们的时间,以确定它们花了多少时间.但由于行数无限,因此我无法进入并复制公式.

如果有人有任何想法我会非常感激.我一直在四处寻找,我所能找到的只是人们说使用填充手柄手动复制公式,这不是我想要的.

google-sheets array-formulas google-forms

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

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
查看次数

哪个版本的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
查看次数

提交后,旧的Google表单重定向

我正在寻找一个解决方案(代码)如何在用旧Google表单提交表单后将用户重定向到自定义的感谢页面(不是默认的Google).

<iframe name="hidden_iframe"
        id="hidden_iframe"
        style="display:none;"
        onload="if(submitted){window.location='http:/...yourthankyoupage.htm';}">
</iframe>
<form action="https://spreadsheets.google.com/formResponse?formkey=....."
      method="post"
      target="hidden_iframe"
      onsubmit="submitted=true;">
Run Code Online (Sandbox Code Playgroud)

此代码无效.至少不适合我.有什么建议?

html google-forms

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

来自另一张表的条件格式

我正在尝试在工作表A上有一个单元格,检查它是>或<工作表B上单元格中的值,然后相应地更改其颜色.根据我使用的自定义公式:=A1>("SheetB!A1"),但它似乎不起作用.我使用颜色为绿色为>,颜色为红色为<.每次保存规则时,它将始终在工作表A上以红色显示A1.

功能错了吗?或是不可能有条件格式甚至跨表格搜索?

google-sheets gs-conditional-formatting

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

AJAX发布到谷歌电子表格

我正在尝试将表单数据发布到Google电子表格中.目前,如果表单已经过验证,则会发生以下情况:

if (validateForm === true) {
        $.ajax({
            type: 'post',
            url: 'https://docs.google.com/spreadsheet/ccc?key=0AlwuDjMUxwhqdGp1WU1KQ0FoUGZpbFRuUDRzRkszc3c',
            data: $("#workPLZ").serialize(),
            success: alert($("#workPLZ").serialize())
        });
    }
    else {}
Run Code Online (Sandbox Code Playgroud)

我使用成功设置来验证我的表单数据是否正确序列化(它是)并且它是成功的.但是,我的Google电子表格没有更新(没有数据通过).我在这里使用了示例代码,将doGet更改为doPost(http://mashe.hawksey.info/2011/10/google-spreadsheets-as-a-database-insert-with-apps-script-form-postget-submit-方法/),并使谷歌电子表格公开可用(并且可由任何人编辑).我按照说明,将代码复制到googledocs,然后运行setUp两次(第一次请求许可,第二次我运行它我没注意到任何事情发生).谁能帮我?我觉得我非常接近.

ajax jquery google-sheets google-apps-script

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