我试图了解用Google Doc Spreadsheets替换我的一些Microsoft Excel电子表格的可行性.如何在Google文档电子表格中创建谷歌应用脚本功能的自定义键盘快捷键?这是我通常用VBA和Excel做的事情.
如何根据google工作表中主类别下拉列表中选择的值来获取子类别列以填充下拉列表?
我google了,找不到任何好的解决方案,因此我想分享自己的解决方案.请参阅下面的答案.
我需要编写一个带有自定义公式的条件格式规则,该规则应该在特定单元格(当前单元格的第3行中的单元格)值"TODAY()"和当前单元格时触发empty.我知道如何检查其他单元格,但有没有办法在同一规则中检查当前单元格的值?
正如您在此图像上看到的那样,一列具有不同的颜色,因为当前单元格的第3行包含当前日期.只有空单元格是彩色的.

这是我的规则:
=and($3:$3=TODAY(), ????)
它应该适用于范围内的所有单元格 A4:M10
我需要它作为一个规则,而不是多个规则的组合.我需要把东西放到原处????
换句话说,我需要在自定义公式中将描述为"Cell is empty"的值放在其中.
以下是电子表格示例:https://docs.google.com/spreadsheets/d/1vpNrX2aUg8vY5WGDDuBnLfPuL-UyrjFvzjdATS73aq8/edit?usp=sharing
我正在尝试在Apps脚本中为Google电子表格创建我的第一个自定义函数,并且我很难使用调试器.
我正在研究Google文档中的自定义函数演示代码,我在自定义函数drivingDistance(origin, destination)中设置了一个断点,该函数在我的电子表格的单元格中使用.我遇到的问题是,调试器显示传递给函数的参数undefined.但是,执行期间创建的任何其他变量的内容都会正确显示(只要它们不依赖于输入参数).
有趣的是,虽然输入参数显示为未定义,但函数的计算成功,因此这似乎是一个调试器问题.不幸的是,这个问题阻止我成功学习创建和调试自己的代码(因为我将不得不使用复杂的输入参数).
我感觉问题与Apps脚本的服务器端执行有关,因此我尝试使用Logger类记录输入参数,并且我还尝试将这些变量复制到新的局部变量中.但我想出的只是undefined.
另一个奇怪的提示是,typeof参数返回String.但是获取它们的长度会引发错误并尝试将它们与另一个字符串连接起来会返回字符串"undefined"(请参阅我的屏幕转储).

我正在寻找有关这里发生的事情的见解.
google-docs google-sheets google-apps-script custom-function
好吧,我有一个Google表格,可以将信息转储到电子表格中.在每一行我都需要进行简单的计算.问题是我无法弄清楚如何在添加新行时在每个新行上重复公式.
是的我知道如何使用填充句柄来复制公式,什么不是,但我希望它自动添加公式而不是我手动复制它.
例如,这用于跟踪时间,因此每个行都有一个In Time单元格和Out Time单元格.我希望有一个名为Time Spent的列,它将从时间中减去它们的时间,以确定它们花了多少时间.但由于行数无限,因此我无法进入并复制公式.
如果有人有任何想法我会非常感激.我一直在四处寻找,我所能找到的只是人们说使用填充手柄手动复制公式,这不是我想要的.
目标
我们的用户使用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
根据旧谷歌集团的这个帖子,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表单提交表单后将用户重定向到自定义的感谢页面(不是默认的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)
此代码无效.至少不适合我.有什么建议?
我正在尝试在工作表A上有一个单元格,检查它是>或<工作表B上单元格中的值,然后相应地更改其颜色.根据我使用的自定义公式:=A1>("SheetB!A1"),但它似乎不起作用.我使用颜色为绿色为>,颜色为红色为<.每次保存规则时,它将始终在工作表A上以红色显示A1.
功能错了吗?或是不可能有条件格式甚至跨表格搜索?
我正在尝试将表单数据发布到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两次(第一次请求许可,第二次我运行它我没注意到任何事情发生).谁能帮我?我觉得我非常接近.