假设对象架构存储在ScriptDb中:
{name: 'alice',
age: 12,
interests: [
{interest: 'tea parties', enthusiasm: 'high'},
{interest: 'croquet', enthusiasm: 'moderate'},
]
}
我知道如何查询前两个属性,但不知道如何运行查询以返回所有行,其中interests[热情=适度]
从字面上理解这个例子并尝试:db.quer
谷歌应用程序脚本
Utilities.jsonParse('{"1":"123","a":"abc"}')["a"] // "abc"
Utilities.jsonParse('{"1":"123","a":"abc"}')["1"] // undefined
在Google Chrome JavaScrpt控制台中
JSON.parse('{"1":"123","a":"abc"}')["a"] // "abc"
JSON.parse('{"1":"123","a":"abc"}')["1"
如果第5列中输入了任何信息,我需要将该行数据复制到另一个电子表格中。我函数中的第一个if()用于其他内容,当任何信息输入到第4列时,它会对数据进行排序,这是有效的,但我需要另一个if()来工作,但它不起作用,我已经查看了其他问题,但我找不到适合我的情况的答案
function onEdit(event) {
var sheet=event.source.getActiveSheet();
var editedCell=sheet.getActiveCell();
var column
我需要根据其他单元格的值为区域单元格添加背景色,但此区域有不同的值,例如:
1 X 2 1 X | 2
当检查值为2的las单元格时,范围单元格必须是独立的颜色,即,只有三个单元格必须具有绿色背景色,因为它们的值与其他单元格的值相同,且为红色
我有以下代码:
function test() {
var libro = SpreadsheetApp.getActiveSpreadsheet();
var range_input = libro.getRange("B3:E3");
va
几天来我一直在努力让它发挥作用,现在我放弃了
我想创建一个谷歌表单,用下拉列表填充一个电子表格。我不想让任何人选择和其他人一样的东西。(就像在家常便饭的情况下)
例如:
我在送礼:
梳子
刷子
装满糊状物的碗
我告诉Thomas、Richard和Henry,他们可以各有一个,并向他们发送一个指向我创建的谷歌表单的链接。汤姆很快,第一个打开表格。他输入自己的名字并从三项下拉列表中选择一个梳子。迪克打开表单链接,在同一个下拉式问题中,他从剩下的两个项目中进行选择。他选择画笔。哈利有点迟钝,所
我们一直在努力解决这个问题。。。。。Google Apps脚本和Big Query API运行良好,但是当我尝试使用BigQuery.Tabledata.insertAll时,我总是会收到一个错误,说“没有这样的字段”
当我尝试通过GoogleAPI浏览器运行同样的东西时,它工作得很好。文档中说该命令是:
BigQuery.TableData.insertAll(TableDataInsertAllRequest resource, String projectId, String datase
是否可以获取通过MailApp.sendEmail()发送的邮件的线程id。我想在发送邮件后立即用标签标记发送的邮件
MailApp.sendEmail("samplemail@gmail.com","Sellers Required for pilot",msg_to_bd);
//get thread id for this mail, say thread 1
thread1.addLabel(labll);
应用程序脚本不会返回线程ID,但您可以在发送电子邮件后在邮箱中搜索主题,并将标
我是谷歌应用程序脚本的新手,所以我只是在探索我想要实现的目标是否可行
从Google表单中,我需要检索并在单独的文档中显示根据每个表单提交的数据创建的图表。我知道这是可以做到的
我的问题是,我想要的图表类型似乎不可用
图表需要显示一个类别和两个值。这可以用一个条形图来完成,高度是一个值,颜色是另一个值-这看起来似乎是可能的,但我不确定整个条形图的颜色是否可以更改
另一种选择是气泡图,X轴表示类别,Y轴表示一个值,大小表示另一个值,但这种类型的图表似乎不受支持。您可以在Google Apps脚本H
我得到了代码第14行的对象类型与列类型不匹配错误错误,如下所示:
var dashboard = Charts.newDashboardPanel().setDataTable(data).bind([nameFilter,issueFilter,hourFilter,dateFilter],[tableChart,pieChart]).build();
这个问题已经被问了很多次,但我已经尝试了解决方案——确保任何列中的所有空行也被格式化为相同的数据类型——但它不起作用 既然您已经看到了导致此
所以我在玩这个剧本
function driveAutoTrash(){ try{
var garbage = DriveApp.getFolderById("0B-UDPaPCh-pjUUt3aHRIekJQOXM")
var garbagefolders = garbage.getFolders();
var garbagefiles = garbage.getFiles();
while(garbagefolders.hasNext()){
var folder = garbagefo
我正在制作一个三页的谷歌网络应用程序。第一个页面是登录,第二个页面是用户注册,第三个页面是应用程序。我正在谷歌表格中记录注册数据。现在,我希望从第一个页面登录时,脚本根据GoogleSheet的存储值检查用户id和密码,但不知道如何实现它
在Registration.html中,我收集IBG用户id和密码,并将其存储在googlesheet中。我可以毫无问题地做这件事
对于Login.html,我想编写一个脚本,该脚本应该检查用户输入的用户id和密码与表单中为该用户id存储的值,例如,如果谷歌表
除了某些范围外,我有许多需要保护的纸张
有没有可能用脚本来实现这一点,因为我有几个工作表,工作表中有许多范围需要解除保护,以便工作人员可以编辑工作表
我需要保持不受保护的范围是重复的,所以我希望这是可行的。我将在我给你的示例表上用黄色填充我想要保持不受保护的范围
可以查看其中一张图纸的示例
如前所述,我需要保护整个床单,除了这些范围
N4:V26、N30:V52、N56:V78等。基本上需要保护板材的其余部分。对于未受保护的范围,列保持不变,但每个未受保护的范围由三行分隔,这三行受保护
如果有人
我已经创建了一个谷歌表单版本的我的。我正在努力使它更容易接近和处理。我已经让它按照我想要的方式工作,但是后端是用GoogleAPI脚本编写的。。。我想保密。可能吗?我是否可以让John Doe打开工作表,对其进行更改(更改为不受保护的范围)然后离开?我已经保护了工作表,制作了工作表的副本,等等。工作表公式不是我担心的。但是我还没有找到一种方法来保持脚本代码的私密性。可能重复的可能重复的
我知道脚本限制是360秒,但我得到的服务不可用的任何超过300秒
以下是测试代码:
function testTimeOver () {
var startTime = (new Date()).getTime();
for (var i = 1; i <= 15; i++) {
Utilities.sleep(30100)
var currTime = (new Date()).getTime();
Logger.log(currTime - startTime);
if
我有一个短的1行脚本来生成一个随机整数,因此我可以将它设置为使用触发器运行,这样每当生成一个整数时,我的其他脚本将使用它作为引用来更新,而不是使用缓存版本
问题是它似乎每10分钟左右自动运行一次,没有触发,我不知道是什么原因造成的
代码如下:
function RandomInt()
{
SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Player List").getRange('B1').setValue(Math.rando
我想保留单元格数据,因为它适用于那些没有应用公式的单元格
代码段解释了该函数
此解决方案也会覆盖这些值
“copyTo()”可以复制具有值、公式和格式的单元格
示例脚本如下所示
脚本:
var range = ss.getRange('a1:a8');
var values = range.getValues();
var formulas = range.getFormulas();
var destrange = ss.getRange('b1:b8');
range.copyTo(des
我在谷歌电子表格上创建了一个非常简单的脚本,它需要读取字段并发送电子邮件,当在一个特定列中它显示“是”时,然后它将另一个单元格标记为“已发送”,以避免重复发送。
当尝试测试它时,它似乎没有运行,甚至调试程序也没有运行
我以前从来没有收到过这个,有人能帮忙吗
函数sendMail(){
var ss=SpreadsheetApp.getActiveSpreadsheet();
var sheet=ss.getActiveSheet();
var hwToCheckValues=sheet.get
是否可以使用SQL查询更新电子表格中的值?
这个脚本用于阅读。
我需要使用SQL写值
谢谢
function testReadSQL() {
var queryString = 'SELECT A,B WHERE B > 1'
var url = 'https://docs.google.com/spreadsheets/d/{sheetId}/gviz/tq?'+
'range=A1:B' +
'&tqx=out:csv'
我正在开发一个Gmail应用程序脚本广告。我能够创建卡片和子卡片,并在卡片上添加控件,效果很好。但是,我需要添加功能,以便在另一个应用程序中对web服务进行oData调用。当我在我的code.gs文件中添加以下行时,我在Gmail中运行我的加载项时会出现如下所示的错误
var req = new XMLHttpRequest();
ReferenceError:“XMLHttpRequest”未定义。[行:187,函数:gotoChildCard,文件:代码]
它甚至从未超出这条线,所以它与o
接收到错误
ReferenceError:“setActiveSelection”未定义
在谷歌表单上使用谷歌应用程序脚本。使用此函数,我希望使用另一工作簿中的模板在同一工作簿上创建新的工作表选项卡。创建新工作表后,我想将当前选定的单元格更改为“B1”单元格。模板复制正常,但错误来自更改活动选择的行。我也尝试过setActiveRange,甚至只是setActiveSheet,但它们返回相同的错误
function newReception() {
var templateSpreads
我为谷歌的一张表单写了一个脚本,通过电子邮件向用户发送一些与他们相关的特定信息。它与onOpen触发器配合使用很好,但我不希望他们每次都必须打开工作表
提交表格申请然后收到电子邮件会更容易,但我不知道怎么做。我相信这是非常基本的,所以对此表示歉意,我是新手
基本上,我想通过表单询问他们是否希望收到包含信息的电子邮件,如果他们说是,则会触发脚本。使用带有两个按钮“是”或“否”的表单制作模板可能会很有用。如果他们点击“是”,您可以点击平台中的API来运行脚本
也许您可以使用redis或某些数据库来保
我是AppScript的新手,所以如果这太容易了,我很抱歉,我只是没有希望。我搜索了很多,但解决方案的格式都略有不同,我不知道如何使用
该脚本可以将我的工作表信息导入日历,但我希望我的第一列是公式列,我不知道如何在使用LastRow时忽略它
我从一个在线教程中获得了代码,但是如果你们都对如何做得更好/有所不同有建议,请告诉我。谢谢大家!
我在这一行中尝试了几个不同的迭代:
var count = spreadsheet.getRange("B2:H"+lr+"").getValues();
我希望事情能这么简单,但这行不通
sheet.appendRow(['MERGE','']).MERGE();
如何实现这一点?该方法需要应用于范围对象。
这样做的一种可能性是:
function myFunction() {
var sheet = SpreadsheetApp.getActive().getActiveSheet();
var newRow=sheet.getLastRow()+1;
// the range dimensions should match the
我有一个谷歌电子表格,我们正在使用它向多个帐户发送单个日历事件。代码如下。每当我试图从中提取的单元格中有多个电子邮件地址时,.addguest就会出现“无效参数”错误(用逗号分隔)
如果单元格中只有一个帐户,但如果同一单元格中有多个帐户以逗号列出,则以下代码将正确提取
所有想法都受到赞赏
谢谢大家!
--德鲁
函数onOpen(){
var s=SpreadsheetApp.getActiveSpreadsheet();
var menuEntries=[{name:“将事件添加到谷歌日历”,f
我正在从事一个大学项目,该项目将受益于谷歌表单自动化。我正在努力寻找如何在谷歌表单编辑器中编写该侧对话框(用蓝色圆圈标记)的信息。我将非常感谢与任何文档/教程链接,以了解如何对该侧对话框进行建模
该对话框是使用谷歌应用程序脚本创建的,用于扩展谷歌表单。您可以阅读有关G-Suite附加组件的内容,特别是有关表单附加组件的内容。我相信您的屏幕截图中的特定附加组件是。该对话框是使用谷歌应用程序脚本创建的,用于扩展谷歌表单。您可以阅读有关G-Suite附加组件的内容,特别是有关表单附加组件的内容。我相信
我一直在谷歌应用程序脚本中使用On-Edit触发器。在编写这个脚本时,我注意到从用户完成对google工作表的编辑到On edit触发器调用的函数开始执行之间有一段很短的时间。虽然此延迟时间很短,但足够长,用户可以在运行On Edit触发器调用的函数之前快速对工作表进行其他编辑
是否有任何方法可以减少/消除此延迟时间,或防止用户在等待功能开始时对工作表进行任何更改
我知道函数中的代码可能会在函数运行时导致延迟,但我可以通过在函数运行时临时保护工作表,并在函数结束时取消保护来解决该问题。这仍然存在
我如何修改下面的内容以获得A列的最后一行。目前它计算所有列的最后一行
function Test() {
var ss = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
var lr = ss.getLastRow();
Browser.msgBox(lastRow);
}
我在另一篇文章中看到了下面的内容,并尝试用ss替换mySheet,但没有给出正确的输出
var lastCell = mySheet.getRa
我正在使用应用程序脚本向BigQuery发送查询
我有一个项目id——“bigquerytest-28272”,一个名为“testDataSet”的数据集和两个表(smallTable和bigTable)
两个表具有相同的模式。表1只有6行,表2有600000行
当我使用请求查询表1(小表)时:
var request = {
query: 'SELECT * ' +
'FROM bigquerytest-282720.testDataSet.smallTable ' +
'WHERE
我想为在线订单制作一个谷歌表单,该表单将显示每种产品的剩余数量,并在每次订单通过时更新
作为第一步,我尝试在电子表格中为每个产品创建一个TextItem,并将该项目的标题设置为“(产品名称)(剩余:(剩余编号))”
var wsStocks=SpreadsheetApp.openById(ssID).getSheetByName(“股票”);
var form=FormApp.openById(formID);
函数myFunction(){
var Products=wsStocks.getR
我正在为每个年级的同一内容制作一个文件夹。我使用导入范围函数连接电子表格。所以我需要在每次创建另一个等级时更新ID。我可以问一下,我是否可以在不逐个编辑或键入的情况下获取我正在处理的所有文件的所有ID?也许一个脚本可以让它更简单
这是ID列表的图片
如果可能的话,我考虑的流程是获取文件名,然后获取文件id。说明:
以下脚本将获取范围B3:B中的所有文件名。然后是我们用来获取与该名称对应的文件的文件名。确保没有同名的文件,否则此进程将返回同名的多个ID,因此逻辑将不起作用
最后,我们使用获取
要获取本周的信息,我有以下代码:
var today = new Date();
var week = Utilities.formatDate(today, "Europe/Amsterdam", "w");
这返回了今天作为周二2021年1月12日11:30:42,这是正确的,因为我在阿姆斯特丹。但它将当前周返回为3,而第2周返回。回顾上周的日志,它返回了第2周,而第1周返回。在那之前的一周,它返回了第53周,这是正确的。因此,在新年之前,它
只有一个值可以搜索我使用的脚本行,如下所示:
if (!text.includes("Test 1")) return;
如果我有两个可能包含的不同值,是否有选项?例如:
“测试1”或“测试2”
我不想使用if和else,因为它会减慢脚本的速度,因为必须为if和else的每个值创建脚本其余部分的两个副本
在您的情况下,如何使用像[“测试1”、“测试2”]和这样的数组?示例脚本如下所示
示例脚本:
在这种情况下,只有当文本同时包含测试1和测试2时,搜索文本。每个(e=>!t
大家好
我可以在处理函数中使用全局变量,但不能在than函数中“全局”修改它们
在下面的代码中,第一次单击后,它将显示数字1001(处理程序读取、递增并显示正确的结果)。
但是,任何进一步的点击都会显示1001,因此处理程序会一直读取原始的globalVar值:它不会像我预期的那样被修改
我能做些什么来解决这个问题
var globalVar = 1000;
function testingGlobals() {
var app = UiApp.createApplication();
在尝试了一些邮件合并脚本之后,我决定不编写自己的脚本。我的合并脚本作为单独的FIC运行。它从GDoc读取模板,从GSpreadsheet读取数据,并将其合并到Gmail或新的GDoc中-每SS行一页/电子邮件
问题是它不会将文本格式、边距或图像复制到Gmail或新的GDoc中。。。只有纯文本
我正在使用DocumentApp.openById>getActiveSection>getText()捕获文本
以下是GDoc中的代码
我似乎无法共享脚本,所以我不得不将其放在文档中。复制到一个新的脚本,
我正在尝试向google sheet webapp中的文本框添加自动填充,该文本框引用来自工作表特定列的数据。
我们也讨论了同样的问题,但是在那里发布的代码对我不起作用。我也试过了,但不幸的是没用
调试器没有显示错误。文本框已加载,但标记未加载。相反,我只看到一个可用的标签建议,这是所谓的“混合”。我不知道这个值来自哪里(我的电子表格中没有类似的数据)
图片:
这就是结果——混合动力从何而来?不知道
我还尝试了使用固定值的第一种方法(Python等)——在这里也不起作用
我的代码。gs:
fu
我正试图找到一种方法,使用GoogleApps脚本在GoogleDocs中获取图像周围的边框。
这在谷歌文档的GUI中是可能的,但我找不到如何使用GAS实现这一点。
我尝试过使用样式属性,但它们似乎根本不会影响图像。
()
我想做什么的视频:
欢迎任何帮助 我认为现在用汽油是不可能的,我也看不到它的存在。您只能按说明在电子表格中设置边框颜色和样式。我建议通过应用程序脚本在Google文档中加入when。但是,您可以为此设置一个文件。在DocumentApp.属性中有一个包含边框宽度的枚举。@Co
[1] 我在电子表格中有各种各样的表格,上面有我客户的名字。我有一张表格,上面的付款是用表格加上去的。现在,我希望此代码通过将表名与“支付详细信息”表中的客户名称相匹配,将支付详细信息插入到客户各自的表中
var ss=SpreadsheetApp.getActiveSpreadsheet();
var master=ss.getSheetByName(“付款明细”);
var sheets=ss.getSheets();//张数
var colWidth=master.getLastColu
如何使用谷歌应用程序脚本在我的服务器上复制文件或在我的服务器上移动谷歌电子表格文件。我真的很困惑。我该怎么做
所以,如果有人能建议我这样做,那对我真的很有帮助。谢谢你的帮助
代码:在我的桌面上单击并下载谷歌电子表格是代码。但我需要在我的服务器(可能是FTP服务器)上自动下载
函数下载xls(){
//获取当前电子表格的ID,放入下载URL
var ssID=SpreadsheetApp.getActive().getId();
var URL='1〕https://docs.google.com
我有一个Python cron作业,它从sheet1中提取url,并用每个url中的刮取数据填充sheet2。第2页由[url、标题、正文、图像url]组成
我有一个旧的谷歌网站,在那里我手动获取sheet2的内容并创建一个新帖子。我想自动化这个
从结构上讲,Google脚本是否能够动态地拉取和发布这些内容?假设每次更新Sheet2(或设置间隔)
我曾经使用过GScript,但在今天之前从未接触过谷歌网站 答案可能是肯定的。应用程序脚本可以做到这一点。你有两个选择
谷歌老网站
选项1
将应用程序
在google表单中是否有根据顶部列值突出显示整个列的内容
目前,我在第2行中有我的日期,我使用条件格式突出显示了该行,但我希望在当前日期突出显示整个列
我不确定是否使用脚本或宏来更改所有列的背景
有什么建议吗?多谢各位 自定义公式:
=B2=Today()
适用于:
B2:B
自定义公式:
=B2=Today()
适用于:
B2:B
你说的“突出”是什么意思?更改单元格背景颜色或选择整个列?更改所选列(即“今天”日期)下方每行的单元格背景请回答您的问题以明确您要查找的内容。另外,请添加
如何从doGet(e)函数中获取基本URL
如果我正在编写一个设置锚定的HTML模板,那么如何确定基本URL?它可以是…/exec或…/dev
我在参数中没有看到URL。让我朝着正确的方向前进
ScriptApp.getService().getUrl()成功了
文件:
让我走上了正确的方向
ScriptApp.getService().getUrl()成功了
文件:
我真的很喜欢GoogleSheets功能“探索”数据(右下角的图标),它根据工作表中的数据提供一些自动生成的见解和可视化效果
有人知道谷歌是否公开了一个API来访问这个分析引擎吗?阅读网页上的内容,这项服务似乎只有在看到应用程序本身时才可用,考虑到它显示的数据类型,它在API中会很复杂。但是,您可以在上为它发出功能请求,因为它似乎对开发人员有利。在上阅读该服务时,它似乎只有在看到应用程序本身时才可用,并且考虑到它显示的数据类型,它在API中会很复杂。但是,您可以在上为它提出功能请求,因为它似乎对
是否有可能为每对(或更多)包含谷歌表单中两列文本的副本上色
我使用以下规则:=COUNTIF($2:G,间接(地址(行(),列()))>1
但是,如果没有脚本,它会突出显示所有具有相同颜色的副本这是不可能的。您在哪里使用Google Apps脚本?如果它只是一个条件格式公式,您是否因为希望使用Google Apps脚本作为更稳定的公式替换而包含该标记?@Geza OP没有包含它,但一个编辑器包含了它,因为没有脚本是不可能的(我同意)。谢谢您的回复。你知道在哪里可以找到这样的脚本吗?@Seb实际上
我正在尝试将信息从谷歌电子表格传递到谷歌文档。
这是表的视图:
第一列仅显示一次,并且将显示该类别的项目列表
我设法在文档中的一个表中显示了这些信息,但由于每个表行的最小高度仍然太高,因此需要将其显示为文本
这些信息将作为一个包含两列的数组传播,我将对其进行迭代。这就是我尝试过的:
//servicios_numrows_Q -> number of rows for the data
//value_tabla_servicios -> variable that co
如何删除Google工作表中包含拼写或语法错误的所有行?我更喜欢通过谷歌应用程序脚本来实现这一点
我所考虑的是:
使用“工具”菜单中的拼写检查器速度太慢,因为我
数万行
我找到了stackoverflow post,但我的情况不同于
我不需要任何弹出气泡,没有后端提供
拼写检查,并且非常希望这是在谷歌
应用程序脚本,因为我已经在谷歌有我的项目的其余部分
应用程序脚本
。问题:我没有需要创建弹出气泡的限制,没有拼写检查服务器的优势,并且强烈希望使用Google应用程序脚本或Google Shee
我希望能够不断(实时)更新我的web应用程序,以便在我的Google工作表上随时有更新(通过使用应用程序脚本的doGet函数配置的webhook),我构建的HTML仪表板中也会显示同样的更新
我不需要帮助设置我的工作表、webhook或HTML仪表板——我已经设置好了所有这些
我确实需要帮助/建议,无论何时我的doGet函数或工作表上有更新(该部分并不重要),我都可以更新我的HTML仪表板(web应用程序)
最好的例子是每次有新用户登陆您的网站时,Google Analytics realtim
我已经建立了一个脚本,将得到一个表单提交(D2)的问题,然后在电子邮件中输出的信息文本。目前,电子邮件地址位置(B2)和问题(D2)是硬编码的。如何使用代码仅从提交的最后一行获取电子邮件和问题
function SendNot() {
// Fetch the Issue
var reasonRange =
SpreadsheetApp.getActiveSpreadsheet().getS
因此,我正在使用一些代码来按他们的id提取事件。使用谷歌日历,我似乎在拉两种不同类型的eventId。做功的是这样组合起来的。6cs6cdhm6csm6bb6c8o6cb9kc5i6abb274r3ibb4c8s3ephkc8p32c9o68@google.com包含id的@google.com部分。但我看到其他id被提取,但不包含@google.com,例如7kukuqrfedlm2f9tg510s8j2dgen8f8f4nojd07m9nopfokpdmrk62gpadccsv8m4c1g。
如何使通知显示在卡加载上
在文档中,我发现:
但我不知道如何在我的情况下正确使用它
想要的结果
当用户单击按钮时,将通过CardService.newNavigation().updateCard(card)更新卡,并在更新卡后显示通知
编辑
当我试图返回一张获取一些数据的卡,并将通知作为数组[卡,通知]返回时,会出现显示的错误。当我只返回上面的其中一个时,它会按预期工作
错误如下所示
The value returned from Apps Script has a type that can
所以基本上我在Google Photos上有一个共享相册,我想知道是否有一个API函数可以让我对相册提供评论,因为我在搜索,最近的事情是在相册中添加丰富内容,这很接近,但不完全是我想要的。谢谢。我认为在当前阶段,照片API中没有向相册添加评论的方法。但是,为了正确理解最接近的事情是为相册添加丰富内容,这张相册非常接近,您能展示示例图像吗?有问题要求我们推荐或查找书籍、工具、软件库,教程或其他非站点资源对于堆栈溢出来说是非主题的,因为它们往往会吸引固执己见的答案和垃圾邮件。相反,请描述问题以及迄今
1 2 3 4 5 6 ...
下一页 最后一页 共 271 页