我有一个GoogleApps脚本小工具,它嵌入在GoogleSites页面中。我想向小工具传递一个页面参数,以便在使用URL打开页面时,如:
我可以访问应用程序脚本小工具代码中页面参数的值,如下所示:
function doGet(e) {
var app = UiApp.createApplication();
app.add(app.loadComponent("MyComponent"));
var myparam = e.parameter.myparameter;
我们的电子表格脚本在3个月内没有改变。从昨天开始,当单击某个已完美运行3个月的特定功能上的提交按钮时,我们收到错误“遇到错误:很抱歉发生服务器错误,请稍等,然后重试”。没有任何更改,这已通过查看脚本修订历史记录进行验证。此外,其他函数也会出现问题,如“在对象中找不到函数trim()”。同样,这一直都很有效
唯一改变的是,对于有问题的文档,我们昨天早上删除了一个用户并读取了一个用户(gmail地址),在用户开始报告此问题后不久。顺便说一句,我不相信我在昨天之前删除过一个共享用户
我唯一的办法是重新
在我的谷歌电子表格中,我记录了每行单元格的最后一次修改
当我从我的帐户编辑单元格时,它会记录我的用户(作为电子邮件),当有人从其他帐户进行编辑时,它会显示空用户名或?
这里是谷歌脚本
function onEdit(e) {
...
ss.getRange(r.getRow(), ss.getLastColumn()).setValue(e.user.getEmail() + " " + date + " \"" + column_name + "\"");
...
}
编辑时的结果:
*
我在谷歌电子表格中有数据(A1:B16-工作表名称“test2”),我想不出一个脚本可以从特定的工作表中提取数据并将其放入电子邮件正文中的表格中。然后,我将使用时间触发器自动执行该过程。用于检索范围的值。然后发送你的电子邮件
我发现Google应用程序脚本对于扩展许多自定义功能非常酷。但我遇到了一个例子,我想在谷歌文档中嵌入的粗体斜体按钮(图标)点击时显示一些信息。我可以对自定义菜单项执行相同的操作,但无法捕获已给定按钮/图标引发的事件。Google Apps脚本中是否有公开的API?包含文档的脚本可以通过添加菜单、侧栏和对话框来扩展文档编辑器UI功能
没有API访问标准UI菜单或按钮
我想修改如下所示的脚本,以便在重新运行时,它不会覆盖预先存在的数据,而是写入其下的行
(我使用谷歌电子表格)
此版本将在目标工作表中找到第一个空行,并复制源数据,使其从那里开始
function moveValuesOnly () {
var ss = SpreadsheetApp.getActiveSpreadsheet ();
var source = ss.getRange ("Sheet1!F1:H3");
var destSheet = ss.getSheetByName(
我试图在工作表中的一列上循环,并根据活动单元格的值和颜色设置相邻单元格的值。这是我尝试过的,但我似乎无法工作
function setValue(){
var sheet = SpreadsheetApp.getActiveSpreadsheet();
var end = SpreadsheetApp.getActiveSheet().getLastRow();
for( var i = 1; i < end + 1; ++i){
var value = sheet.
我在电子表格中写了一个脚本,它将创建一个日历事件。谈到声明
var cal = CalendarApp.getDefaultCalendar();
我收到错误“授权失败”(Ausführung fehlgeschlagen:Sie haben nicht die erforderliche Berechtigung zum Aufruf von getDefaultCalendar.(第107行,文件“Kopie von code”)[0.171 Sekunden Laufzeit insge
我试图写一个脚本,它应该发送一封电子邮件,并在提交表单时创建两个日历条目。老实说,这是我的第一个脚本,我很高兴电子邮件被发送出去,日历条目也在工作。让我头疼的是从一个确定的日期中减去5天(实际上是x天)
首先我想我可以做一些简单的事情
var liveday = e.values[2];
var newday = liveday-5;
嗯,这不起作用:-)
我尝试了更多:
var newtime = new Date(liveday);
var yr = newtime.getYear();
我编写了这个函数(感谢@Mogsdad),将表格中的单元格合并到文本google文档中,如下所示:
function onOpen() {
// Add a menu with some items, some separators, and a sub-menu.
DocumentApp.getUi().createMenu('Sample')
.addItem('merge cells of a table', 'mergeCells')
我有一个html文档,在其body元素中引用了Google Apps脚本:
<script src="https://script.google.com/macros/s/AKfycbytu7Jtninl6kBDcPU7OEwWEPDg-C9407OpQOVbh9v4NdtjUfQ/exec?prefix=callback&fname=doug"></script>
您需要创建一个文件夹,其共享设置为“网上公共”。可以通过以下方式访问该文件夹中的任何文件:
希
我正在尝试使用谷歌应用程序脚本来运行一个修改解析核心数据库的日常作业
我想根据指向特定用户的字段查询表
在Parse Javascript库中,这没有问题,但是ParseDb库的设计与旧的ScriptDb库(我从未使用过)的工作方式相同。。。通过查看ScriptDb的旧文档,似乎没有太多关于这种情况的信息
简单地将用户对象传递给查询似乎没有什么帮助。它只是在日志中抛出一个错误,说ParseDb需要一个指针类型,但是关于如何实际获取指针类型的信息很少。。。我尝试传递用户Id(使用.getId())
我正在寻找谷歌日历事件的位置
我有一段脚本,它通过字符串过滤器搜索事件,但我想知道.getEvents是否有一种按位置搜索事件的方法
var events=cal.getEvents(new Date(),new Date(endDate),{location:'Wisconsin'})
似乎确实有一个用于创建事件的“location:”搜索函数,但不确定是否有一个用于.getEvents的函数
任何帮助都将不胜感激。谢谢 首先需要按开始和结束日期获取所有事件,然后循环遍历事件数组,并检查每个事
这个问题是关于GoogleApps脚本的,它是基于JavaScript的,所以我们添加了JavaScript标签,希望能够吸引更多的追随者。不确定我的问题是否特定于环境
下面是一个小脚本:
function onEdit() {
// create the campaign portfolio lookup function
function channelLookup(month_num) {
var lookup_formula = '=ARRAYFORMULA(if($A
这是我到目前为止所做的,但我被困在代码的XmlService部分,这是一个非常重要的类,所以请帮助 使用importhtml更容易。在您希望25.6%返回的电子表格单元格中输入:
function getEarnings() {
var url = 'http://finviz.com/quote.ashx?t=ntct';
var text = UrlFetchApp.fetch(url)
var pageHtml = text.getContentText();
var do
我正在尝试为GoogleSheet制作一个脚本,它可以计算文本中的一个字母。但看起来,长度不起作用。任何能给出解决方案方向的人
function Tjekkode(tekst , bogstav){
var test = "";
// find the length of laengdeTekst
var laengdeTekst = tekst.length;
var t = 0;
// through the text character by
我正在尝试使用自定义函数。每当我试图从工作表中将其用作公式并在单元格上运行时,它都会抛出错误:
您没有调用setDataValidation的权限
但是当我从脚本编辑器运行它时,它运行得非常好。如何在不必从脚本编辑器中单击Run的情况下使其工作
注意:我不喜欢使用触发器 电子表格应用程序服务在使用自定义函数调用时是只读的
奥科多娃的想法是正确的。讨论了SpreadsheetApp服务是如何
只读(可以使用大多数get*()方法,但不能使用set*())。
无法打开其他电子表格(Spreadshe
我正在尝试制作一个web应用程序,它(I)从URL获取一个参数;(ii)将其写入谷歌表单中的单元格(其副作用是更改其中一张表单(仪表板)中显示的大部分数据);(iii)生成此新工作表的HTML版本,并将其作为响应返回
似乎这种方法是有缺陷的——当多人点击服务(他们看到彼此的“个性化”页面)时,我得到了竞争条件,考虑到服务的编写方式,这完全是有道理的。是否有更好/更安全的方法
HTML:
JS:
window.onload=函数(){
google.script.run.withSuccessH
作为超级管理员,我尝试使用此链接中的以下代码列出测试用户的标签,但没有成功:
函数listLabelInfo(){
var响应=
Gmail.Users.Labels.list('testuser@domain.com');
对于(var i=0;i高级谷歌,打开Gmail API
服务……
通过转到资源>云平台,从本项目的API控制台启用Gmail API
项目,然后单击我的项目名称-
项目编号:0123456789012345678
创建了一个服务帐户,并选中了启用的复选框
套件域范围的委派
尝试创建一个Google应用程序脚本,从特定的电子邮件地址读取电子邮件,并将CSV文件的内容复制到Google工作表中
问题是,有时文件以zip附件的形式出现。我试图在脚本中使用逻辑来解压zip(如果它是zip附件),然后将数据发布到Google工作表
当前获取以下错误消息:在对象Blob中找不到函数getDataAsString
任何让它与潜在的zip文件一起工作的想法/建议都是非常好的
您可以在下面找到我的完整代码:
function myFunction() {
var threa
我已经使用GoogleApps脚本函数在GoogleDocs中插入了一个表
var grg = body.appendTable(griglia);
我可以格式化表格中的文本(字体大小、重量、对齐方式),也可以格式化单个单元格(背景、前景、边框)
但是,该表是左对齐的,我希望它(水平)在页面中居中。
在google docs用户界面上,可以通过“表格>表格属性”菜单完成此操作,该菜单生成一个带有“表格对齐”下拉菜单的对话框
我无法从脚本中找到相同的方法。
我试过了
但是我得到了一个错误,因为没
因此,此应用程序脚本用于从电子邮件工作表发送电子邮件,并将其移动到电子邮件日志工作表
它似乎在工作,除了我需要运行它两次,它删除的行标记为电子邮件发送。第一次通过时,日志显示这些行仍然显示为ready,但是再次运行它会起作用
谢谢你的帮助
function sendEmails() {
var ss = SpreadsheetApp.getActiveSpreadsheet ();
var sheet = ss.getSheetByName("Email Que");
var rows
在我的谷歌脚本中,我读了一条消息,然后将其标记为已读。
我可以从我的信息(主题、正文等)中获得所有信息,但再往前走几行,当我试图让我的信息被阅读时,它就不起作用了
GmailApp.markMessageRead(message);
message.markRead();
var a = message.isUnread();
message.star();
message.reply("Henkiepenkiepankie");
var a返回false,因此消息被读取。奇怪的是,这条消息在
我有一个谷歌表单,在那里我需要使用项目ID并获取该项目的所有响应
我有下面的脚本,如果表单有超过3000个响应,它将超时,因为它效率低下
如何优化它以在短时间内检索所有项目
fO.items = ["ItemID1","ItemID2","ItemID3"...];
for (var i = 0; i < responses.length; i++) {
var response = responses[i];
var otherItems = '
我想。。1) 替换“我的工作表”中活动单元格内容中的子字符串,然后。。2) 将活动单元格向下移动一点,然后重复此操作,直到活动单元格值为空。这是我的函数,但当我运行它时,什么都没有发生…有人知道为什么吗
var app = SpreadsheetApp;
var mySheet = ss.getSheetByName('NAME');
var activeCell = mySheet.getActiveCell();
var cellValue = act
我正在创建一个棋盘游戏,我决定为此选择Google sheets。我已经将我的问题简化为一个由一张工作表和一个脚本组成的最小示例
处境
以下几点涉及我的骰子表:
单元格B2:C5包含可用的骰子。第一列包含骰子精灵,第二列包含逗号分隔的骰子面编号。
游戏设计视角:艺术家可以改变骰子图像。设计者可以更改骰子面编号。这两种类型的更改将自动传播到引用骰子的单元格
细胞E2:I2和E10:I10含有特定的细胞。在每次掷骰中,B列中有1到5个对骰子的引用。
游戏设计视角:有许多不同的游戏项目,每个
我在A列中有一些值,我想复制B列的第一个空单元格
我设法找到了问题的第一部分:
function CopyValues() {
var ss = SpreadsheetApp.getActiveSpreadsheet ();
var source = ss.getRange ("MySheet!A4:A10");
source.copyTo (ss.getRange ("MySheet!B32"), {contentsOnly: true});
}
其中B32是B列中的第一个空
我需要一份回复邮件的人的邮件列表。我将如何使用谷歌应用程序脚本实现这一点?我在GmailThread对象的文档中找不到任何看似有用的方法,但这可能是我对这种语言缺乏经验的缘故
谢谢,非常感谢您的帮助。。。?
我想以编程方式在Google Apps中获取项目中所有函数的列表。在任何服务中似乎都没有一个方法可以轻松地提取它们,除了它似乎以某种方式存储在.this函数中。最好的方法是什么?
您想要检索函数的列表
您希望使用谷歌应用程序脚本实现这一点
我可以像上面那样理解。如果我的理解是正确的,那么这个答案呢?请把这看作是几个答案中的一个
模式1:
在此模式中,应用程序脚本API用于检索函数列表。使用Apps脚本API的projects.getContent方法时,可以检索Google Apps脚本项目中
我试图通过比较两个参数来筛选我的用户列表
query="EmployeeData.EmployeeID=externalId"
EmployeeData.EmployeeID是一个自定义架构,使用cron作业填充,其值与externalId相同
当然,我只在必要时让cron进行字段复制,这就是我尝试筛选用户列表的原因
按照我写的方式,查询似乎试图在EmployeeData.EmployeeID中查找值“externalId”,而忽略了“externalId”是一个甚至是一个字段
有什么建议吗?
因此,该脚本只需从一个电子表格中复制一行单元格,将其粘贴到另一个电子表格中,动态确定要使用的下一个单元格。无论出于何种原因,我无法让它在粘贴一次后停止,或者粘贴到范围的末尾而不是顶部。完成这里的noob,所以任何帮助都是感激的!这是完整的脚本,所以你可以看到,它应该很简单
同样,问题是它要么将范围粘贴到范围中的每个单元格(因为它不知道停止),要么只将其粘贴到范围的底部,而不是应该粘贴到的顶部
var ss = SpreadsheetApp.getActiveSpreadsheet ();
我一直在使用上述代码从google drive获取图像,并使用batchupdate将其放入google幻灯片,但是auth令牌不再允许下载,我是否需要以某种方式刷新它
url指向正确的图像,图像是正确的文件格式,但代码返回
API调用slides.presentations.batchUpdate失败,错误为:无效请求[1]。createImage:提供的图像格式不受支持。第243行,文件代码
我知道图像是好的,因为我已经用过了。我知道url是正确的,因为如果我切断authtoken,它会将我
我在谷歌的一张工作表上使用了以下脚本,已经运行了几个月,但现在大约在2020年3月5日星期四下午1:30左右,它停止了工作,并拉用户电子邮件。我尝试将其更改为第二次尝试,保存并编辑了单元格,但什么也没发生。
注意:由于法规原因,我无法共享该文件
之前的工作内容:
function onEdit(e) {
var rg = e.range;
if (rg.getSheet().getName() == "Call Log" && rg.columnStart ==
因为我对HTTP请求和Google脚本一点经验都没有,所以我很难理解它
因此,我的问题如下:
我目前正在尝试在我的lua脚本中获取信息,并将其发送到google电子表格。然而,谷歌电子表格保存信息的方式取决于我调用和传递信息的谷歌脚本上的哪个函数
所以,我的问题是:我的lua脚本(此时只允许我访问HTTP请求)如何连接到一个特定的函数(如下面的函数)
function callName(name) {
// Get the last Row and add the name provide
几个月前(当应用程序脚本使用Rhino运行时),我使用Google教室API编写了一个脚本。脚本中的所有函数都运行良好。当谷歌在二月份改用ChromeV8运行时时,我迁移了我的脚本,它继续正常工作
今天,当我尝试运行这个脚本的任何函数时,我得到一个“不可访问的服务:镜像”错误。不管调用的函数是什么
另一个人在9天前报告了类似的错误()
有人知道这个错误是什么意思吗?如果有人面临同样的问题:
这看起来像一个bug,谷歌的网站上已经报道过了。您可以单击问题编号旁边的星号来接收更新,并为错误赋予更高的
我有一张名为“标题”的表格,在C列中不断输入值。在C列中输入一个值后,我需要将该最新值自动复制到D列下一行(复制的最新值下方)名为“Translations”的工作表中
当值被粘贴到“Titles”列C中时,该脚本如何持续运行,因此我不需要每次单击“运行脚本”即可在翻译表中显示新标题
到目前为止,我从另一个案例复制的功能
function copyPaste() {
var ss=SpreadsheetApp.getActive();
var srcsh=ss.getSheetByNam
我编写了一个使用谷歌应用程序脚本与用户自动共享文件的函数。但是,我希望在共享时添加自定义消息(就像手动共享一样)。我想要这个,这样我就不必单独向用户发送电子邮件。我最初是随文件url一起发送电子邮件,但电子邮件被阻止(因为邮件包含链接)。有没有办法添加自定义消息
function fileshare(url, email) {
var f = SpreadsheetApp.openByUrl(url);
var id = f.getId();
try{
//f.addVie
我花了数小时(字面上)试图找到一种方法来更改我的脚本(用于web应用)的DriveApp.Permission
实际上,它的值是视图,不允许我创建文件夹、文件或编辑它们(只读)
脚本配置为以“我”的身份运行,任何人都可以访问
我已经检查了文件夹的所有者(folder.getOwner().getEmail();)和用户/会话的所有者(session.getActiveUser().getEmail())
毫不奇怪,它们返回了相同的值。我读过,但没有成功地检索到任何有用的信息
我认为,问题在于Dr
我们编写了一个脚本,用于导入microsoft word文档,将其转换为google docs文档并更新内容
现在我们想添加一个带有自定义函数的自定义工具栏。
我们通过手动打开脚本编辑器来完成这项工作,但是这项工作太多了。
我们想在创建文档时自动添加脚本,如何才能做到这一点?
您需要一个函数来在GoogleApps脚本中创建工具栏()
假设您要创建一个名为toolbar的工具栏,一个名为executescript的按钮要执行名为myFunction的函数,请尝试以下操作:
function o
我有一个有几个付款日期的电子表格,想创建一个slackbot,当某个特定列中的日期与今天的日期匹配时,向Slack发布一条消息。我对编码非常陌生,我正在使用我找到的代码发送电子邮件,但找不到任何关于将其发布到Slack的信息。谁能帮我一下吗
这是我用来发送电子邮件的代码:
function emailAlert() {
// today's date information
var today = new Date();
var todayMonth = today.getMonth
因此,我尝试创建3种不同的色阶,0-1范围内的数字从红色到白色(比如)绿色,2-5范围内的数字从红色到白色到青色,6-90范围内的数字从红色到白色到紫色。其目的是表明接近0、2和6的值在各自的范围内都是“坏的”,而接近各自范围顶部的值是“好的”
我一开始只是想:
条件格式->颜色比例->选择最小点、中点和最大点编号以及颜色。->向下滚动->添加另一条规则
。。。直到我有了我的3条规则。这一切看起来都是可行的,因为范围没有重叠
但不幸的是,所有输入到定义范围内的数字仅根据其中一条规则进行格式化。所
目标:创建一个应用程序脚本web应用程序,打开google文档并返回其名称
该功能在上个月左右的某个时候停止工作
创建应用程序脚本项目
添加一个doGet
保存并遵循用于身份验证的路径
使用设置发布/部署为web应用
新版本,因为anon无法使用url的开发版本
像我一样执行
任何人,甚至是匿名的
现在试试看
在经过身份验证的浏览器中打开url
不是测试url
成功
找到并打开简介
以匿名方式打开url,不要登录任何帐户
错误消息
异常:很抱歉,发生了服务器错误。请稍等片刻
再
除了从//3开始的底部部分之外,我已经完成了下面的脚本。初始部分适用于我列出的第一张工作表,如果选中复选框,则添加时间戳;如果未选中复选框,则清除时间戳。但是,它只在第一张纸上工作,我也需要它在列出的第二张纸上工作。数据在每张纸上的设置不同,所以我把它们分了出来。我非常感谢任何指导,我对应用程序脚本和学习非常陌生,因此我确信这是一个新手和愚蠢的错误:
function onEdit(e) {
var ss = SpreadsheetApp.getActiveSheet();
var
在GoogleSheets中,使用GoogleAppScript,我根据如下日期标准设置了数据验证
对于文本值,数据验证工作正常,但对于数值,不会出现错误弹出窗口:
我想在用户输入无效日期时显示错误弹出窗口
任何帮助或建议都会很好 您是否尝试将标准更改为有效日期
是否尝试将条件更改为“有效日期”
它起作用了,但是有没有办法设置多个数据验证,一个用于有效日期,另一个用于验证之间?将数据验证设置为自定义公式,并使用类似的方法(假设您的日期在C7中。请将日期替换为您需要的范围:。在本例中,是接受
道歉如果已经有人问过类似的问题,我对此几乎没有经验
是否有脚本可以检查Google工作表工作簿的编辑,然后影响其他工作表工作簿。我发现了一些类似的东西,但它总是引用同一个工作簿并移动整行
我有一个包含多个用户列表(示例移动)的电子表格,另一名工作人员有一个包含活动状态和其他详细信息的表格(示例编辑)。当用户被放置在样例编辑电子表格上时,需要将其从各自的活动列表移动到相应的非活动列表。用户返回后不需要自动添加回活动列表,这将是一个手动过程
链接到示例移动:
链接到示例编辑:你的问题是什么?哦,我想
我正在使用Google Apps脚本访问域共享联系人,并使用People API更新联系人信息
我能够通过以下方式成功地将联系人照片添加到授权用户联系人中:
var photoClass = {photoBytes: Utilities.base64EncodeWebSafe(testIDPhotoBlob.getBytes()),
personFields:'photos'};
var testId = 'people/c12345678901234'
var updatePhoto = Pe
我想创建一个跟踪股价的电子表格。到目前为止,它与=GoogleFinance和=YahooFinance一起工作。但是,当通过时间触发器向自己发送列表时,我会在单元格中收到“#ERROR!”消息,而不是=GoogleFinance的内容。
当电子表格未在浏览器选项卡中打开时,这些函数=GoogleFinance似乎无法检索数据。如果我打开浏览器中的电子表格,通过电子邮件发送数据大约需要一个小时
编码不是我的专长,所以我非常感谢任何帮助
var SPREADSHEET_URL = 'https:/
我想将Skype按钮()添加到我的Google站点。
粘贴在GoogleSiteHTML框中的代码不起作用(在这个小工具中没有那么多javascript可以正常工作),因此我尝试使用自定义GoogleApps脚本。我做了一个非常基本的,但是Skype按钮没有显示(只有“blabla”)
在doGet()中添加的内容更重要。你能把它寄出去吗。你应该这样做
function doGet(){
var string = 'your html code';
return HtmlServic
我正在用appscript构建一个侧栏。使用此侧边栏的人已经是我的网站abc.com的用户。当他打开侧边栏时,我需要向他展示我的主网站中的一些内容,这些内容只能通过他的帐户访问。让我们说他的个人资料在我的网站应该填写在侧边栏。为此,我需要以某种方式验证“对服务器的调用”,以便发送他的数据。在appscript中,getActiveUser().getEmail()(或相关)返回电子邮件,因此我们可以获取这些人的数据,但没有像这样进行身份验证,因为任何人都可以发送他的电子邮件。您能告诉我最好的方法
我的谷歌表单只有一个问题,要求用户输入1-10之间的数字。我希望确认消息根据用户选择的是介于1和4之间还是介于5和10之间的数字而改变。我只得到第一个答复
function myFunction() {
var form = FormApp.getActiveForm();
var choice = form.getResponses();
var response;
if (choice<5){
form.setConfirmationMessage('Custo
上一页 1 2 ...
5 6 7 8 9 10 11 ...
下一页 最后一页 共 500 页