我正在尝试(通过谷歌电子表格中的脚本编辑器)通过SOAP和WSDL()连接到API
我正在努力创建header XML对象,根据示例(来自上面的链接),它应该有两个元素,“UserAuthentication”和“getQuota”。
如果我只发送带有用户身份验证的报头,我会收到一个服务器错误的响应;如果我尝试发送这两个元素,就会出现身份验证错误
任何帮助都将不胜感激
**更新**
身份验证头似乎正在工作(或者至少没有返回任何错误);我现在得到的错误是“过程'getTransactionList
我没有找到任何内置函数来检查复选框是否设置为true或false,
如果我是对的,isChecked不可用是应用程序脚本。
你知道如何找到它吗?或者我们应该有一个值更改处理程序来计算值更改的次数,并确定是否检查了它
var handler = app.createServerClickHandler('tellStatus');
然后作为示例,在标签中显示它
function tellStatus(e){
var app = UiApp.getActiveApplication();
我按照中的说明:创建自定义函数
我的函数甚至从教程中剪切粘贴都不起作用:这些函数在我的电子表格中不可用。我尝试过保存一个版本并将其发布为web应用程序,但没有任何更改。我试过谷歌浏览器和火狐浏览器,结果是一样的。我错过了一些非常明显的东西吗?不确定这是否是您遇到的…但发生在我身上的是,我没有在auto complete中看到我的自定义函数,我认为它不起作用。但是如果您在一个单元格中键入=double(A1)(使用官方示例,假设A1中有东西…),它将进行计算 您需要在自定义函数上方添加带有@cus
我正在开发一个GoogleApps脚本,我想它可以与“任何有链接的人”共享。该脚本应该定期处理用户Google驱动器中的一些文档。为此,我的用户应该创建一个时间驱动触发器
但是当有人试图运行脚本时,他收到了一个带有红色边框的警告:“需要授权…”这个警告看起来很可怕,我担心它是否会赶走我的用户
想知道是否有办法避免或缓和警告。谢谢。使用共享。让用户与您设置的帐户共享有问题的文档。这样他们就可以避免警告。也就是说,如果您更改代码,他们不需要切换到新版本。使用共享。让用户与您设置的帐户共享有问题的文档
当我去提取某个联系人的全名(getFullName())时,我的脚本不会返回任何东西。但是,当我在Gmail联系人界面中更改姓名时,它会返回姓名。如果我撤消更改,我就不会知道名称
有什么原因吗?联系人是我的另一个帐户,与我的G+帐户关联 这是一个非常有趣的发现。我也能用我的一些联系人重现这一点。这一定和这些联系人从何处导入或如何手动创建有关
然而,我深入挖掘了一下,我不认为这是一个应用程序脚本问题,而是一个谷歌应用程序联系人API问题。我发现同样的问题直接与此处记录的Google Contact
是否可以作为域管理员向域内的所有用户安装并运行我的Google apps脚本?不可以。反正是阿福
您可以做的是,在大多数Google API上,使用应用程序脚本UrlFetch而不是内置服务,如果您是从域管理员帐户运行,您可以为用户提供服务
我的谷歌电子表格中有两张表格
主跟踪
每日跟踪
主跟踪从其他跟踪表中提取信息,并更新单元格M7中每个驾驶员的行驶里程数
我想用日期(A列)和行驶英里数(B列)设置每日跟踪
我想写一个谷歌应用程序脚本,将复制主跟踪数据!M7添加到每日跟踪(B列),但每次运行脚本时都添加到新行。我计划在每个工作日结束时使用触发器使其运行
到现在为止我还有这个,但它不起作用
function copyFunction() {
var inputRange = SpreadsheetApp.getActiveSp
使用GoogleApps脚本小工具,我可以使用URL的参数(http://sites.google.com/.../my-page?urlparameter=value&otherurlparameter=value)添加到Google站点网页以生成动态内容
但是,如果您尝试使用参数添加到Google站点页面的链接,然后保存页面,则会删除参数:http://sites.google.com/.../my-page?urlparameter=value&otherurlparameter=valu
在Google应用程序脚本中,我尝试构建一个如下所示的应用程序:
在doGet函数中,我构建了应用程序
function doGet() {
var app = UiApp.createApplication();
var panel = app.createVerticalPanel().setId('panel');
var Table = _table_create(some arguments);
...
panel.add(Table);
app.add(pa
我尝试构建条件,以在提交之前检查文件是否已上载。目前的情况是,无论是否上传文件,发送/提交都是成功的。当我尝试使用var file=e.parameter.file获取文件时,它会给出一个字符串FileUpload。有人能帮我吗
function setFormUpload() {
var sheet = SpreadsheetApp.getActiveSpreadsheet();
var app = UiApp.createApplication().setTitle("Upload
我设置了一个谷歌表单,将响应放入谷歌电子表格,我在表单中添加了一些额外的列,以帮助我们监控每个响应的状态。是否有一种方法可以在每次创建新行时为列设置默认值?(即每次提交新答复时)。下面是我到目前为止的代码,但目前它只对一行执行
function setDefault() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getActiveSheet();
var lastRow = ss.getLastR
我对谷歌脚本相当陌生,我遇到了一个问题。
我想向所选多选选项的标签提交一个不同的值
我正在编写一个脚本,生成一个表单,用于注册未来两周内发生的任何一个事件。这些事件是从日历中提取的。为了消除歧义,在将数组添加到MulipleChoice项列表之前,我将事件日期添加到事件名称中
我希望提交事件ID,而不是新创建的名称,因为它将使脚本对响应的管理变得更加简单
因此,这就是多项选择列表的外观:
[] Event 1 20/06/14
[] Event 2 22/06/14
[] Event 3 23/
我的目标是维护动态标签7d、14d和30d,分别列出过去7天、14天和30天的电子邮件/线程。我很高兴,如果脚本有一天的错误(例如,在7天半后的星期一列出一些星期天的电子邮件对我来说是可以的)
在学习使用gMail脚本的过程中,我必须在我的电脑上使用类似的东西:
脚本运行时没有错误,但我遇到的问题如下:“older_than:7d”查询也列出了包含7天以上邮件的线程。这样,从一些旧线程中删除了“7d”标签,我昨天对此进行了回复(根据示例)。是的,这是真的,这些线程都包含一些超过7天(和更新的14
我对使用谷歌应用程序脚本还很陌生,所以如果这个问题的答案真的很明显,我提前道歉。下面是:
我已经从电子表格中创建了一个Google文档。我已经从电子表格中选择了特定的列,以显示在新创建的Google文档中格式良好的表格中。我想在创建表后附加一段。我甚至很乐意在表的末尾附加一行和一个单元格。我想这样做,这样我就可以在文档的末尾写一个简单的提醒
我尝试过使用table.appendTableRow(index),其中index是生成的最后一行的编号,但似乎不起作用。我尝试过使用body.append
我来盖章。如果你是这么要求的话,我不会给你编码的。您只需要正确地修改已有的代码。如果你真的陷入困境,用最少的代码问另一个重点明确的问题来重现你的问题。破译成吨的代码超出了这里的权限。
Team 1
var REQUEST_SENT = "REQUEST_SENT";
var REQUEST_APPROVED = "REQUEST_APPROVED";
var REQUEST_REJECTED = "REQUEST_REJECTED";
var REQUEST_SHIPPED = "REQUEST
我所要做的就是设置一个范围,然后对该范围内的单元格进行编号,即B2:B11为1、2、3等
function numberMe() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheets()[0];
var counter = 1;
var cell = sheet.getRange("G2:G11");
while(counter <= 10){
cell.setValues(cou
我正在寻找一种方法,在谷歌表单中添加简单的计算字段,它将依赖于其他字段的值
第一个字段是一个简单的价格字段,其中数量是用户输入的数字字段
第二个字段是结束日期now()+X个月,其中X由用户选择
我看了一下谷歌的教程,发现只有在我看来是表单范围的插件,我正在寻找更像自定义表单字段的插件
最好的解决方案是,当用户更改其他输入的值时计算字段,但在确认页面中使用简单文本也可以
如果有人能给我指出正确的方向,我将不胜感激。
谢谢。脚本只会影响表单的创建和提交后处理。您不能对用户当前查看的“实时”表单进行
我使用谷歌应用程序脚本发送带有文档附件(anexo.doc)的电子邮件
我需要在同一封电子邮件中发送2个附件(anexo.doc和anexo2.doc)
我是怎么做到的?
我的代码是:
file = DriveApp.getFilesByName('anexo.doc');
if (file.hasNext()) {
MailApp.sendEmail(tomail, subject, msg, {
attachments: [file.next().g
我有一个通过Google Apps脚本部署为Web应用程序的表单,还有几个字段允许您选择多个值(如多选下拉列表)。如果在GET请求中有多个具有相同标识符的值,则在应用程序脚本中仅获取第一个值作为参数
如何使用apps脚本捕获具有相同标识符的多个GET参数?解决了这个问题
在doGet或doPost函数中,您需要调用e.parameter而不是调用e.parameters,以获取与数组同名的多个参数
文件:
GoogleSheets有一种很好的交互式方式来声明性地定义条件格式。有没有一种方法可以使用应用程序脚本编程相同的声明性模型
我有一个生成许多电子表格的脚本。我使用和类设置数据和数据验证规则。然而,我似乎不能对条件格式做同样的事情。我希望找到一个ConditionalFormattingRule对象或类似的东西
注意:我知道可以编写自定义脚本,用于侦听。但是,需要将该脚本添加到每个生成的电子表格中。此外,类似的非声明性规则不会出现在中
我只是尝试将红色背景应用于没有价值的单元格
这是不可能的吗?
我正在尝试使用Google Sheets脚本编辑器从表单创建一组表单,以创建以列“B”中每个单元格的值命名的单独表单,并填充第1行和第X行中的所有数据,其中X是每个表单的行值
到目前为止,我得到的是:
function makeSheets() {
var ss = SpreadsheetApp.getActive();
var sheets = ss.getSheets();
sheets[0].getRange('B2:B100')
.getValues()
.forEac
这主要是一个概念问题,如果可能的话,我不知道如何做到这一点。我可以像这样在循环之前声明变量y吗
var y = 1;
for (var y; y < 4; y++)
vary=1;
for(变量y;y
编辑:关于乔纳森的评论:
运行此代码时,我遇到以下错误:
无效参数:6406%20Ivy%20LaneGreenbeltMD
这是有问题的代码。我没有包括我的用户ID:
function validate_address() {
//var userID = 'xxxxxxxxxxx';
//var address1 = '204 main street apt 4';
//var address2 = '';
//var city = '';
//var state =
我显然是做错了,因为世界上似乎没有人以前有过这个问题
我想在工作表末尾插入行时运行Google Apps脚本。我知道我需要使用onChange来实现这一点,所以我就是这么做的:
设置触发更改时应运行的脚本:
function copyDownFormula(e)
{
Logger.log('something');
}
然后,我在触发器中将onChange触发器设置为:
然后我安装了以下代码,以便在使用onOpen触发器打开工作表时安装onChange触发器:
ScriptApp.ne
我正在以编程方式将公式写入单元格
以下代码行:
formulaCells.setFormulaR1C1('=iferror(VLOOKUP(R[0]C[3],AutoCat!A:B,2,FALSE),“需要类别”)
将此公式充分写入目标Google Sheets文件中由formulaCells表示的所有单元格中
=iferror(VLOOKUP(D2,自动调用!A:B,2,FALSE),“需要类别”)
但问题是,当由Google脚本编写时,公式默认为错误标志“Requires Category”
我希望在这个问题上能得到任何帮助,因为我已经处于僵持状态好几个星期了
基本上,我使用谷歌表单为一个组织参加多个活动。初始表格允许官员提交新活动的名称以及一些其他信息。此表单将其所有数据导出到Google工作表。以下表单允许任何成员在输入错误时更新其出席情况,然后将该数据导出到与第一个表单不同的工作表中
我遇到的问题是,在第二种形式的多选网格中,将所有事件名称作为选项读取。我使用submitFormFunction()进行设置,每次提交表单时,它基本上都会重新读取所有事件,但当它这样做时,它会将每
我编写了一个GAS,它使用API V3将日期范围内的所有事件从一个日历复制到另一个日历。到现在为止,一直都还不错。
问题在于管理重复事件,因为recurringEventId属性可能无法手动管理。基本上,源日历上的重复事件被视为新日历中的单个事件,recurringEventId不能更改为“不可变”
有什么想法吗
类似于:
function duplicates calendars(){
var calendardfrom='1〕xxxxxxxxxxxxx@group.calendar.goog
我对脚本编写非常陌生,现在已经尝试了很多小时了,所以我希望你能帮助我
我有一个dashfolder,其中包含名为“X”的谷歌表单,还有一个pdf文件夹,其中包含名为“X.pdf”的pdf文件。我正在尝试循环查找dashfiles+“.pdf”的名称,以查找缺少的名称,并最终在同一文件夹中创建其pdf。但是,我的脚本循环次数太多。如果pdf文件夹中已存在名为“+”.pdf”的文件,我希望它跳过dashfile。这是我的密码
function createPdf() {
var pdfFolde
我有一个Google工作表,其中有一个函数,如果左边的列被更新,它可以在列中输入时间戳。它由简单的onedit触发器触发,并且只处理工作表中的一小部分单元格。几个月来,它对许多人都很有效
然后,我添加了一个脚本,在同一文档的一个单独选项卡上执行一些数据清理。我使用一个可安装的触发器,这样我就可以安排每周运行一次清理
不幸的是,虽然计划的可安装触发器清理例程现在可以工作,但原始的onedit简单触发器时间戳例程不能工作。更准确地说,时间戳例程适用于脚本作者我,但不适用于其他任何人
你知道怎么解决这
我正在使用谷歌表单
我有两个按钮:按钮开始(单击会打开B2单元格中的第一个URL)和按钮下一步(单击会打开B3 URL,然后是B4,然后是B5,依此类推)。问题出在下一个函数上
有人能帮我解决这个问题吗
function start(){
var i=2;
open(i);
}
function open(i){
var selection = SpreadsheetApp.getActiveSheet().getRange('B'+ i).getValue();
var ht
是否可以从应用程序脚本中的位置图像中提取Alt描述
对于内联图像,可以使用getAltDescription()函数
var captions=inlineimage.getAltDescription()
有一个解决办法
您可以使用,它允许您访问-包括“说明”
要使用应用程序脚本检索描述,请执行以下操作:
高级文档服务
使用以下语法执行请求:
如果您不知道objectId,您可以从请求的JSON响应中检索它,例如(如果您的文件中只有一个定位元素):
我可以问一下脚本的问题吗?因为Posit
我有一个超过100条评论的谷歌工作表文件,我正在寻找使用应用程序脚本提取它们。我的代码用于提取前99个,然后可以根据需要对其进行操作。然而,我正在努力使用nextPageToken获取所有评论。希望有人能帮助我实现这一点到下面的代码
我已经回顾了一些与Drive.Files.list相关的示例,但没有看到Drive.Comments.list的示例
function getComments(fileId) {
var options = {
'maxResults': 99
};
我有一个现有的谷歌表单,其中有一个文本项,标题是“这是在哪个位置执行的?”
无论何时加载(打开)表单,我都需要为此现有文本框设置一个位置值(loc),并将其显示给用户
function populateMemberIds(loc){
var form = FormApp.openById(formUrl);
var questions = form.getItems();
for (var i=0; i<questions.length; i++){
我的电子表格中有两张表格,每个链接如下:
第一种称为事件/事件,记录所有事件数据,包括投诉、赞美、事故和未遂事件。如果有需要保险索赔的事件,用户将勾选Y列中的框,该框将要求其他用户提交索赔。因此,我创建了第二张题为“保险索赔”的表格。这就像甘特图,列出保险索赔的进度
初始用户勾选事件/事件Y列中的框后,我希望将相应行中多个单元格的值复制并粘贴到保险索赔表中
我仍在学习编写代码,所以我倾向于从其他堆栈溢出答案中摘取代码,但我正在努力解决这个问题。这是我目前的尝试,但我觉得我缺少了功能的关键部分
所以在离开excel后,我开始使用google脚本和工作表
在excel中,如果要使用变量选择特定范围,则宏中的公式将为
范围(“C1:F”和最后一行)。选择
其中,lastrow是您先前命名的变量
我找不到一个等价的公式或脚本,可以做同样的谷歌脚本
基本上,我只想选择要复制的特定范围,但由于数据行会有所不同,我只想选择使用过的行,而不是整个页面。使用公式
您可以使用该函数,以及Google Sheets连接
返回由字符串指定的单元格引用
例如,给出以下“学生信息”表:
您可以使用=INDIR
我有这个
我的任务的截止日期有两列
我如何创建一个脚本,根据这些到期日期创建事件,并在它们到期前几天通知我
感谢从电子表格创建事件
getEvent()读取下面的电子表格,该电子表格与您提供的电子表格非常相似,我将对其进行一些修改。我添加了一个事件标题和描述列。Scheduled列提供了在脚本再次运行时防止重复事件的功能。计划列是数据验证(“是”/“否”)
动画:
function getEventData() {
var ss=SpreadsheetApp.getActive();
行程分配表单选项卡上的单元格C5是目的地的下拉选择列表。我试图让表格自动填写C6单元格中的匹配地址(来自一个名为“学校”的选项卡)。当我把下面的公式放进去时,我得到了一个错误或错误,但我无法找出原因
=如果(C5=学校!A1,C6=学校!B1,“其他错误”)
我需要使公式适用于任何选定的目的地,以便将适当的地址插入单元格。我可以按照我的想法做这件事吗?或者应用程序脚本会更好吗?如果可以,我会怎么做
链接到我的工作表副本:
可以使用谷歌应用程序脚本,但这可能不是最简单的方法
您可以使用on
我到处找,但找不到答案(我肯定我解释得不对)
我有一个谷歌工作表,它有多个标签,分别是TabA、TabB和TabC
在这个Google工作表上,我在Slack上提交了一个斜杠命令,然后使用apps脚本自动填充其中一个选项卡上的一行
我想做的只是在每次检测到新行时,在特定的单元格中插入一个名为TabA的单词。并在TabB表等上创建新行时插入一个名为TabB的单词
我确信我只是把问题打错了,这就是我找不到答案的原因
实际上我不确定代码的哪一部分会发布到工作表中,我想是这样的吗
if(sheetN
我使用下面的脚本作为导入的替代。我现在遇到的问题是,它并没有按照我在谷歌脚本中设置的触发器每天替换工作表。有些旧数据有时会留在工作表中。是否有办法让它每天更换床单
如果有人有建议,那就太好了
var sourceSpreadsheetID = "TO UPDATE";
var sourceWorksheetName = "TO UPDATE";
var targetSpreadsheetID = "TO UPDATE";
var targetWorksheetName = "TO UPDATE"
我有一张谷歌工作表,启动后2-3分钟没有反应。我已经禁用了所有公式和脚本,冻结实际上是在“计算公式”加载栏(右上)完成后开始的。有没有可能有人藏了剧本?我怎样才能找到它?难道所有的脚本项目不应该对每个人都可见吗?隐藏的脚本可能来自安装的附加组件吗
一些背景信息:
我注意到复制没有问题,所以罪魁祸首是在复制时无法复制的东西(例如:触发器)。据我所知,没有第三方应用程序使用它,因为在应用程序脚本中没有公司代码(除了我),所以它不像是在某个地方使用该表,而副本也没有
一个原因是,它现在加载得很快(在我
我试图查询一个谷歌表格,其中一行中的单元格范围不为空。以下是我的数据示例:
我正在使用我的公式来显示在列E、F、G或H中填充了任何内容的行,因此使用上面的示例数据,我希望查询返回以下内容:
下面的公式只返回标题,因为它要查看每个单元格是否为空
=Query(A1:H6,"Select * where E is not null and F is not null and G is not null and H is not null",1)
有解决方法吗?让我们用或代替和
=Query(A
我一直试图调试一个问题,我正在用GAS将多个新行(通过多个httpget)写入一个google电子表格,但在编写了几行之后,它们似乎无法获得锁。我最初有5000毫秒(5秒)的超时,这对于一个调用来说应该是足够的时间,但我注意到,如果我要添加20行,超时会导致随机行更新失败。
当我把时间移到30秒时,20行就可以了。但如果我去了60行,我又得到了随机失败。移动到60秒超时似乎在那里起作用
似乎这个超时实际上需要考虑写出所有行所需的累计时间。我越想这一点,我就越觉得这是有意义的,因为我是通过一个异步
我试图根据不同的单元格隐藏行。例如,如果该单元格为“否”,我想自动隐藏以下3行,因为它们将不再适用。(B14=否,隐藏第14-16行)。非常感谢您的帮助
function onEdit(e){
if(e.range.getA1Notation() === 'B14' && e.range.getSheet().getName()=='PST Referral Template (Sheet)'){
if(e.value=='No') {
} e.ra
我有一份包含两张工作表的工作簿:
“主控”和“已提交”
当“主”工作表上“p”列中的单词从“待定”更改为“已提交”时,我希望将该行从主工作表中删除,并添加到已提交工作表的最后一行
我可以保存脚本,没有错误,但当我将单元格从“挂起”更改为“已提交”时,什么都不会发生
function onEdit(event) {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var s = SpreadsheetApp.getActiveSpreadsh
page.html
`function searchr(){
var rno = document.getElementById("rollNo").value;
document.getElementById("msg").innerHTML ="Given roll no =>" + rno;
var r = google.script.run.withFailureHandler(fail). withSuccess
我想在gmail插件头的菜单中添加一些选项。我在文档中找不到关于这个菜单的任何参考资料,但我知道有一种方法可以做到这一点,因为我在其他gmail插件中看到了它
目标的形象:
你可以通过编写chrome扩展来为G套件实现这一点,但不能通过为普通Gmail编写google应用程序脚本来实现。毕竟我找到了一个解决方案。你必须采取普遍行动
链接到文档:
因此,我有一个脚本,将值从一张图纸(Sheet2)的一行和一列复制到另一张图纸(Sheet1)的一行和一列:
因此,Sheet2连接到一个谷歌表单,表单提交后,表单答案中的值将自动填充一行
那么,是否可以在每次提交表单后填写新行时触发上面的脚本运行
先谢谢你。(如果您需要更多说明,请告诉我)您可以使用onFormSubmit,因为数据来自表单
function onFormSubmit() {
var spreadsheet = SpreadsheetApp.getActiveSpreads
我想提取一个广告组的所有广告ID
为此我写了一个广告脚本
如何从电子表格应用程序脚本触发该Ads脚本?不确定是否可能,但Ads脚本引用应用程序脚本的文档如下:
**背景**
我正在编写一个在格斗游戏中制作连击的代码
我需要取一个范围,然后将某些数字和/或字母转换成其他数字和/或带有额外字符/间距的字母,以便程序注册组合
现在我有一些代码可以完成这项工作,但我不认为这是一种“正确”或有效的方法,因为总共需要设置大约40个“开关”:
function printCombo() {
//general set up
const ss=SpreadsheetApp.getActive();
const psh=ss.getSheetByName
我需要用谷歌应用程序脚本解决作业问题。这似乎是有希望的,所以我尝试的是端口一个相应的
不幸的是,我无法找到一种方法来设置每个工作人员只分配一个任务的约束
工作代码(无约束)如下所示:
function myFunction() {
// Create the variables
var engine = LinearOptimizationService.createEngine();
const costMatrix = [[7,5,4,8,3]
上一页 1 2 3 4 5 6 7 8 9 ...
下一页 最后一页 共 493 页