我有一个非常简单的excel公式,它可以工作,因为我可以限制递归迭代.我不是很精通脚本,但这就是它的功能.
=IF(D24="P",IF(E24="",DateStamp,E24),IF(D24="F",IF(E24="",DateStamp,E24),""))
它是通过/失败测试表,当有人通过或未通过测试时,它会添加时间戳.我们添加了一些人,我想将文档移动到谷歌应用程序,以允许超过1人同时处理它.
我遇到的唯一问题是这导致的循环引用.在excel中我可以限制选项中的迭代次数,我不再具备此功能.任何帮助都会很棒.
编辑:我试过的.我试图找到一种方法来输入一个同事为我创建的VBA脚本.我不熟悉脚本,所以我无法将其变成谷歌应用程序脚本:
VBA脚本:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 4 Then
If Cells(Target.Row, 5).Value = "" Then
Cells(Target.Row, 5).Value = Now
End If
Else
End If
End Sub
Run Code Online (Sandbox Code Playgroud)
从理论上讲,我尝试创建一个脚本,该脚本将复制一个带有时间戳的单元格,然后尝试"粘贴特殊",然后将值粘贴到所需的单元格中.这可以工作,除了我无法找到粘贴谷歌应用程序脚本特殊的方法.
感谢您的任何帮助/编辑
我有以下已发布的带有code.gs 的Web 应用程序
var queryString
function doGet(e) {
queryString = e.queryString
//logger only works if the return value is commented out
Logger.log(queryString)
return HtmlService.createHtmlOutputFromFile('index.html')
}
function getQueryString() {
// this prints "a=1" on the html
// return "a=1"
// this prints "undefined" on the html
return queryString
}
Run Code Online (Sandbox Code Playgroud)
和index.html
<!DOCTYPE html>
<html>
<head>
<base target="_top">
<script>
function onSuccess(queryString) {
var div = document.getElementById('output');
div.innerHTML = queryString;
}
</script>
</head>
<body>
<button type="button" onclick="javascript:google.script.run.withSuccessHandler(onSuccess).getQueryString();">show query string</button>
<div id="output"></div>
</body> …
Run Code Online (Sandbox Code Playgroud) 我开发了一个Google Sheet Add-On"Jira Sheet Tools",基本上对于我的理解应该只受到谷歌根据配额仪表板的以下配额的影响:
a)配额概述对"消费者","Google Apps .."和"G-Suite"中的限制进行分类.如何阅读/理解这一点; 限制是否适用于我的附加组件的每个用户,或者是针对我的开发人员帐户对所有已安装的实例使用的限制?
b)在我相关的Stackdriver日志中,我可以看到很多(每天/每小时几个)错误日志,如:
脚本延迟(21.0分钟)等待配额
脚本延迟(813.0分钟)等待配额
我不明白为什么以及如何.对于我自己,当我自己使用附加组件时,我无法重现这些日志的任何触发器.它必须由我的附加组件的其他用户引起,我想了解为什么会发生这种情况,对用户的影响是什么以及如何改进我的附加组件以避免此类错误/延迟.
任何见解和帮助都非常有用.Thx提前
我创建了一个Google Cloud Project MySQL数据库,以便与Google Apps脚本提供的Jdbc服务结合使用.通过连接,一切都按计划进行.我基本上像在文档中一样连接.
var conn = Jdbc.getCloudSqlConnection(dbUrl, user, userPwd);
Run Code Online (Sandbox Code Playgroud)
我与另一个帐户共享该文件,突然间我看到一个红色错误说:
'无法建立数据库连接.检查连接字符串,用户名和密码.'
代码中没有任何变化,但是有一个错误.当我回到原始帐户并运行相同的代码时,没有错误.这里发生了什么?有任何想法吗?
我在 Google 电子表格中创建了一个图像按钮并分配了功能来执行一些操作。但是此按钮单击仅适用于 Windows,不适用于 Android 移动工作表或移动浏览器。这个问题的解决方法是什么?
当使用 Google Apps Script 编辑器并使用由 Chrome V8 提供支持的新 Apps Script 运行时时,View 下的 Execution Transcript 消失了。我想知道,它去了哪里?是不是被什么东西代替了?它永远消失了吗?
我尝试了各种搜索和论坛,但令人难以置信的是,我似乎是唯一注意到这一点的人。我发现 Execution Transcript 非常有用,所以如果它消失了,我希望有某种替代品。
谢谢!
在哪里可以找到有关如何允许用户无需登录即可使用 Google 表单上传文件的代码和说明?
我在这里找遍了,没有找到任何信息。 https://developers.google.com/apps-script/reference
提前致谢。
Google 暗示支持 JsDoc:
如果自定义函数的脚本包含 JsDoc @customfunction 标记,则自定义函数将出现在此列表中,如下面的 DOUBLE() 示例所示。
https://developers.google.com/apps-script/guides/sheets/functions
但似乎并没有完全支持 JsDoc,而且我找不到显示支持和不支持的文档。
我特别寻找一种方法来记录自定义函数的参数是可选的。像这样,对于 value2:
使用 JsDoc,您应该能够根据此源执行以下操作: https ://jsdoc.app/tags-param.html#optical-parameters-and-default-values
/**
* @param {number} [value2] - Additional numbers or ranges to add to value1.
*/
Run Code Online (Sandbox Code Playgroud)
并且,使用默认值:
/**
* @param {number} [value2=100] - Additional numbers or ranges to add to value1.
*/
Run Code Online (Sandbox Code Playgroud)
但我在谷歌表格中对此进行了测试,但这些都不起作用。甚至没有建议的 Google Closure Compiler 语法(如果可以的话):
/**
* @param {number=} value2 - Additional numbers or ranges to add to value1.
*/
Run Code Online (Sandbox Code Playgroud)
目前我已经采取了不太优雅的方法:
/**
* @param {number} value2 - …
Run Code Online (Sandbox Code Playgroud) 我正在为使用谷歌电子表格作为他的数据库的用户开发一个界面.如今他使用Google Sheet移动应用程序(Android和IO)来更新他的电子表格,我找不到任何方法来创建界面甚至在移动应用程序上调用功能.有谁知道如何通过我在Google表格移动应用程序上创建的脚本调用函数?谢谢!
对 null 的变量赋值会导致调试取消该行的执行。这是一个重现问题的测试脚本:
function myFunction() {
var a = "Hallo";
Logger.log("a=" + a);
var b = null;
Logger.log("b=" + b);
}
Run Code Online (Sandbox Code Playgroud)
调试时,此脚本执行在“var b = null;”行取消。日志输出为:
Mar 11, 2020, 8:52:49 PM Info a=Hallo
Mar 11, 2020, 8:52:54 PM Info Execution cancelled.
Run Code Online (Sandbox Code Playgroud)
在调试模式下越过该行并越过该行时,结果是相同的。但是,在后一种情况下,屏幕顶部会闪烁红色错误消息片刻,内容为:“很抱歉,发生服务器错误。请稍等,然后重试。”...等待并重试没有不同。[今天在杰夫在下面发表评论后再次尝试,只能通过在调试模式下跨过分配行来重新创建它]
正常运行脚本(不在调试中)时,它会成功完成。
mobile ×2
v8 ×2
add-on ×1
android ×1
forms ×1
google-forms ×1
ios ×1
javascript ×1
jdbc ×1
jsdoc ×1
quota ×1
stackdriver ×1
timestamp ×1
upload ×1