我的功能包括为文档添加菜单和烤面包.我已经验证了触发器(onOpen)也已设置好.它仅在用户进入"工具","脚本管理器","运行"时才有效.我们有太多的用户,背景太多,以至于不知道如何做到这一点.为什么不工作?(使用Chrome)
function onOpen()
{
var menus = [{name: "Advance in Workflow", functionName:"sendEmail"}];
SpreadsheetApp.getActiveSpreadsheet().addMenu("Auto Advance FG Workflow", menus);
//sheet.toast(Notify/Remind users);
sheet.toast("While you are here we kindly ask that you do not add, modify or remove any columns.","Welcome - " + username,8);
}
Run Code Online (Sandbox Code Playgroud)
谢谢,
如何编写删除文件的Google Apps脚本?
这找到文件:
var ExistingFiles = DocsList.find(fileName);
Run Code Online (Sandbox Code Playgroud)
但DocsList.deleteFile删除文件不存在.
有没有办法将这些文件移动到另一个文件夹或垃圾箱?
我要考虑的另一种解决方法是能够覆盖具有相同名称的现有文件.
目前,当我想创建一个已在MyDrive中使用的名称的文件时,它会创建一个具有相同名称的第二个文件.我想保留1个文件(新文件保留,旧文件丢失).
使用谷歌应用程序脚本我无法运行传递参数的js函数.当我添加参数时,它将始终在页面加载时运行代码,而不是单击按钮时.
直接从HtmlService示例,它是正常的 - 它按下按钮时运行...
document.getElementById('button1').onclick = doSomething;
Run Code Online (Sandbox Code Playgroud)
但是当我在调用(和函数)中添加一个参数时,它会在页面加载时运行一次(而不是按下按钮时)...
document.getElementById('button1').onclick = doSomething('with_this_parameter');
Run Code Online (Sandbox Code Playgroud)
如果答案显而易见,那么对此行为的任何见解都将非常感激...对不起!
我需要在Google电子表格中的行或列上使用色标,就像Microsoft Office Excel条件格式提供的色标一样:

我找不到可以完成这项工作的Google Script Gallery脚本.手动为所有可能的值设置条件格式不是解决方案.
我的能力仅限于写一个合适的剧本.因此我想出了这个伪代码:
colorRangeFormatting(cellRange, minColorHex, maxColorHex)
{
float cellValueMax = getHighestValue(cellRange);
float cellValueMin = getLowestValue(cellRange);
int cellCount = range.length;
int colorValueMax = maxColorHex.toInt();
int colorValueMin = minColorHex.toInt();
int colorSize = colorValueMax - colorValueMin;
cellValueSize = cellValueMax - celLValueMin;
int colorIncrement = (colorSize/cellValueSize).Round();
int[] colorGradients = colorGradients[colorSize];
foreach(int color in colorGradients)
{
color = colorValueMin + colorIncrement;
colorIncrement = colorIncrement + colorIncrement;
}
int i = 0;
foreach(Cell c in cellRange)
{
c.setBackgroundColor(colorGradients[i].ToHex());
i++;
}
} …Run Code Online (Sandbox Code Playgroud) google-docs google-sheets google-apps-script gs-conditional-formatting
我正在Apps脚本中创建一个工作流程,其中Doc是从模板生成的,并与各个用户共享以供审批.脚本发送一个自定义的电子邮件,通知用户该文档需要他们的批准,但他们还会在该过程的每个阶段收到第二封电子邮件,该文件来自存储文件的驱动程序,用户说"用户与您共享了文档".有没有办法禁用这些警报?当您从云端硬盘手动共享文档时,会出现一个复选框选项,允许您选择用户是否收到通知.但是,我找不到使用Apps脚本禁用此通知的方法.
我正在doc.addEditors(users)用来分享这份文件.
非常感谢
javascript google-api google-apps google-apps-script google-drive-api
jQuery.param()接受一组键值对,并将其转换为一个字符串,您可以将其用作HTML请求中的查询字符串.例如,
a = {
userid:1,
gender:male
}
Run Code Online (Sandbox Code Playgroud)
会转换成
userid=1&gender=male
Run Code Online (Sandbox Code Playgroud)
我正在尝试在Google Apps脚本中调用服务器端的外部API,这需要很长的查询字符串.我会使用jQuery param函数,但似乎没有简单的方法在Google的服务器端使用jQuery.
你能给我一些实现相同功能的简单javascript代码吗?
它的jQuery实现在这里,但我不想冒险跳过任何关键细节,只需复制它并删除处理'传统'的代码.
如果它仅用于我的内部使用,是否有可能在没有Google批准的情况下发布插件?
如果没有,是否有可能使一些Google Apps脚本项目全球化.因此,我不需要将相同的代码/功能复制到另一个电子表格或文档,以使我的自定义宏再次工作.
我想使用Google Spreadsheets和Google Apps脚本创建一个刮刀.我知道这是可能的,我已经看过一些关于它的教程和线程.
主要想法是使用:
var html = UrlFetchApp.fetch('http://en.wikipedia.org/wiki/Document_Object_Model').getContentText();
var doc = XmlService.parse(html);
Run Code Online (Sandbox Code Playgroud)
然后开始使用这些元素.但是,方法
XmlService.parse()
Run Code Online (Sandbox Code Playgroud)
对某些页面不起作用.例如,如果我尝试:
function test(){
var html = UrlFetchApp.fetch("https://www.nespresso.com/br/pt/product/maquina-de-cafe-espresso-pixie-clips-preto-lima-neon-c60-220v").getContentText();
var parse = XmlService.parse(html);
}
Run Code Online (Sandbox Code Playgroud)
我收到以下错误:
Error on line 225: The entity name must immediately follow the '&' in the entity reference. (line 3, file "")
Run Code Online (Sandbox Code Playgroud)
我试图用来string.replace()消除显然导致错误的字符,但它不起作用.出现所有其他错误.以下代码为例:
function test(){
var html = UrlFetchApp.fetch("https://www.nespresso.com/br/pt/product/maquina-de-cafe-espresso-pixie-clips-preto-lima-neon-c60-220v").getContentText();
var regExp = new RegExp("&", "gi");
html = html.replace(regExp,"");
var parse = XmlService.parse(html);
}
Run Code Online (Sandbox Code Playgroud)
给我以下错误:
Error on line 358: The content of elements must …Run Code Online (Sandbox Code Playgroud) javascript parsing html-parsing google-sheets google-apps-script
有人可以告诉我如何设计一个能够突出显示活动行的工作表脚本吗?
当该行中的一个单元格处于活动状态时,我希望整个行更改字体或背景颜色.
我不希望触发器是单元格中的任何特定值,只需单击一个单元格就可以触发单元格所属的整行的高亮显示.
谢谢!
我正在尝试开始使用一个非常简单的Google表单,其中只包含几个问题(只有2个选项和一个简短文本的多项选择).创建它之后,我打开了脚本编辑器并输入了
function onSubmit(e) {
Logger.log("onSubmit(%s)", JSON.stringify(e));
}
Run Code Online (Sandbox Code Playgroud)
并onSubmit使用"编辑"菜单中的"当前项目的触发器"将其配置为"表单提交"触发器的处理程序.
填写表单并立即提交它会导致处理程序被调用,但我只在日志中看到:
[17-04-15 18:56:23:584 CEST] onSubmit({"response":{},"source":{},"authMode":{},"triggerUid":1870249629})
Run Code Online (Sandbox Code Playgroud)
即响应字段为空.我也尝试过使用FormApp.getActiveForm().getResponses(),但它也会返回一个包含几个空对象的数组(OTOH,FormApp.getActiveForm().getTitle()会返回我给表单的标题).
我怀疑我需要给脚本一些额外的权限来访问表单数据,但是我不知道怎么做,即使这确实是问题.
有谁知道为什么我没有得到表格价值,我该怎么做才能得到它们?提前致谢!
javascript ×4
ajax ×1
delete-file ×1
dom-events ×1
file ×1
formatting ×1
google-api ×1
google-apps ×1
google-docs ×1
google-forms ×1
html-parsing ×1
jquery ×1
params ×1
parsing ×1
triggers ×1