标签: google-apps-script

最后大括号?正在变成红色而不是绿色,但脚本正常工作(Google App Script)

当我选择脚本的最后一个大括号时,它看起来像这样:

在此处输入图片说明

从逻辑上讲,它必须显示为绿色以确认一切正确,例如:

在此处输入图片说明

但是脚本运行到最后没有报错,如果脚本过大或者脚本有错误,是否正常?

换句话说,最后一个大括号在选择时是否一定要变绿?

google-apps-script google-apps-script-editor

1
推荐指数
1
解决办法
282
查看次数

连接代码运行极其缓慢 google 脚本

我的连接函数运行得非常慢,仅在 28 行数据上运行几乎需要 4 分钟,而且我还有其他代码需要运行,所以我在 Google 表格中达到了最大执行时间

如果我在 Excel 中运行类似的过程,这可能需要 15-30 秒

一切都在内存中,我看不到(以我对 javascript 的有限知识)为什么我的代码这么慢

谢谢

包含数据的 Google 表格

//Sheet Name
//Values in Range to be overwritten by Header names
//List of Header names
//New Header Name 1
//New Header Name 2
function AsAboveSoBelow_Offers_Asks() {

   AsAboveSoBelow('Elements',
                  ["I can offer", "I have a ask"],
                  ["Header1","Header2","Header3","Header4","Header5","Header6",
                   "Header7","Header8","Header9","Header10","Header11",
                   "Header12","Header13","Header14"],
                   "Offers", 
                   "Asks");

}                  

function AsAboveSoBelow(shtName, arrPBV, arrHeaders, newHeader1, newHeader2) {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var s  = ss.getSheetByName(shtName);
var LC = s.getLastColumn();
var r …
Run Code Online (Sandbox Code Playgroud)

javascript google-apps-script

1
推荐指数
1
解决办法
63
查看次数

UrlFetchApp 超时

我正在尝试使用 Google 表格下载一些报告。

所以基本上我正在使用 UrlFetchApp用来做这项工作的,它会在 1 分钟内收到响应时执行。如果响应时间超过一分钟,则请求超时且不会下载报告。

这是我发送的选项UrlFetchApp

var options = {
  "method" : "post",
  "header" : "someHeaders",
  "muteHttpExceptions" : true,
  "followRedirects" : false,
  "Content-Encoding" : "gzip",
  "payload" : "somePayload"
}
Run Code Online (Sandbox Code Playgroud)

然后一个简单的调用 .fetch()

有没有办法增加超时或任何解决方法?

google-sheets google-apps-script google-sheets-api

1
推荐指数
1
解决办法
1387
查看次数

如何将数据从我的谷歌驱动器中的 xlsx 文件复制到谷歌表?

我的谷歌驱动器上保存了一个 excel 文件 (.xlsx)。我想将数据从那里复制到我已经创建的谷歌表格文件中的一个选项卡中。我有以下运行的代码。但我不知道如何指定 Google 表格(和标签)来粘贴 excel 数据?

``

function run() {
  try {

    fileName = fileName || "G:\Shared drives\ExchangeData\DailyVolumes.xlsx";

    var excelFile = DriveApp.getFilesByName(fileName).next();
    var fileId = excelFile.getId();
    var folderId = Drive.Files.get(fileId).parents[0].id;  
    var blob = excelFile.getBlob();
    var resource = {
      title: excelFile.getName().replace(/.xlsx?/, ""),
      key: fileId
    };
    Drive.Files.insert(resource, blob, {
      convert: true
    });

  } catch (f) {
    Logger.log(f.toString());
  }

}
Run Code Online (Sandbox Code Playgroud)

excel google-apps-script

1
推荐指数
1
解决办法
1287
查看次数

提交 Gforms 时复制前一行的格式

当我提交 Google 表单时,我想将第 3 行(被视为参考)的格式复制粘贴到由 Google 表格“响应”中的表单提交创建的最后一行。此后我的代码:

function CopyFormatting() {
//Déclaration des variables
var SheetResponse = SpreadsheetApp.getActiveSheet(); //Sheet of forms response
var LastRow = SheetResponse.getLastRow(); //last row of sheet (n)
var RefRow = SheetResponse.getRange("3:3"); //Row n°3 considered as reference

//Copy formatting to last row from reference row
RefRow.copyTo(LastRow, {formatOnly: true});
}
Run Code Online (Sandbox Code Playgroud)

预先感谢您的支持

google-sheets google-apps-script google-forms

1
推荐指数
1
解决办法
155
查看次数

在javascript中将数组转换为对象

我正在尝试对不支持 ES6 的谷歌表格应用程序脚本中的大量数据进行排序!(我认为)

数组看起来像这样 var data = [["Frank", "franck@gmail.com", 21],["Mark", "Mark@gmail.com", 23]]

我很喜欢将数组转换为对象的想法,在那里我可以通过名称 ex 访问每个对象:

Frank.name
Frank.email
Frank.age
Run Code Online (Sandbox Code Playgroud)

我尝试了以下

function Driver(name, email, age) {
    this.name= name;
    this.email= email;
    this.age = age;
  }
Run Code Online (Sandbox Code Playgroud)

进而

for(var i=0; i<data.length; i++){
  data[i][0]= new Driver (data[i][0],data[i][1],data[i][2])
}
Run Code Online (Sandbox Code Playgroud)

但它不起作用你能帮我解决这个问题吗?

javascript arrays javascript-objects google-apps-script

1
推荐指数
1
解决办法
88
查看次数

创建一个 Google 表单,将响应放入现有电子表格的特定列中

我有一个现有的 Google Sheet,我想为其创建一个表单,以便用户可以更轻松地输入数据。

该表单将包含三个问题,我希望他们进入现有电子表格中的相应列。

问题 1 将进入第 1 列,问题 2 将进入同一行的第 3 列,问题 3 将进入同一行的第 5 列。

有谁知道我该怎么做或为此提供应用程序脚本?

google-sheets google-apps-script google-forms

1
推荐指数
1
解决办法
3417
查看次数

使用谷歌电子表格的按钮排序

我想在我的电子表格中有一个按钮,它根据 3 个标准进行排序。我尝试了大约 20 种不同的语法编写方式,但都没有奏效。如果有人能告诉我出了什么问题,我会很高兴。

function sort1() {
   sort({C3:K12;9;FALSE;3;TRUE;8;FALSE})
}
Run Code Online (Sandbox Code Playgroud)

google-sheets google-apps-script

1
推荐指数
1
解决办法
4129
查看次数

用于填写 HTML 表单的 Google 脚本

我在谷歌脚本中创建了一个脚本,以获取电子表格并成功填写多个谷歌文档。我正在尝试将此逻辑应用于填写 HTML 表单,基本上,我们需要用户生成的信息(在我们的谷歌表中)来填写网页上的 HTML 表单。

如何让以下函数不仅打开而且写入数据?

这就是我所在的位置(仅使用示例网页):

function testNew(){
  var js = " \
    <script> \
      window.open('https://colorlib.com/etc/cf/ContactFrom_v1/index.html', '_blank', 'width=800, height=600'); \
      google.script.host.close(); \
    </script> \
  ";
  var html = HtmlService.createHtmlOutput(js)
    .setHeight(10)
    .setWidth(100);
  SpreadsheetApp.getUi().showModalDialog(html, 'Now loading.'); // If you use this on Spreadsheet
//  DocumentApp.getUi().showModalDialog(html, 'Now loading.'); //  If you use this on Document
//  SlidesApp.getUi().showModalDialog(html, 'Now loading.'); //  If you use this on Slides
} 
Run Code Online (Sandbox Code Playgroud)

这是我对谷歌文档所做的一个例子,试图在表单中复制:

function myFunction() {
      var data = Sheets.Spreadsheets.Values.get('google sheet ID HERE', 'A2:R300');
      // google doc …
Run Code Online (Sandbox Code Playgroud)

html javascript web-crawler google-sheets google-apps-script

1
推荐指数
1
解决办法
1489
查看次数

ScriptApp.getService().getUrl() 指向开发 URL。我怎样才能让它指向 exec 生产 URL?

ScriptApp.getService().getUrl() 正在生成一个开发 URL。如何让它生成 exec 生产 URL?

google-apps-script

1
推荐指数
1
解决办法
1091
查看次数