小编Coo*_*per的帖子

外部编辑器支持Google Apps脚本

我正在使用Google Apps脚本,并想知道我是否可以使用Google提供的任何编辑器.(我购买了Sublime Text,并希望使用它.)谷歌提供的是一个恶心的文字,即使我有一个巨大的屏幕和语法颜色,我觉得有点难以在白色背景上区分小文本,我没有像大量自定义键盘快捷键,我的所有包装等的Sublime的美女.

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

26
推荐指数
3
解决办法
1万
查看次数

Google电子表格:刷新电子表格后,如何让脚本编辑器在另一个标签页中保持打开状态

每当我刷新的电子表格(在已改变了它的一些应用程序的脚本代码) CMD- R,Safari会自动关闭脚本编辑器选项卡.

如何避免此标签被关闭?

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

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

在 userCodeAppPanel 中看不到我的 javascript 代码

这是来自 Google 电子表格中包含的脚本的代码。唯一的其他代码是onOpen创建菜单和showDialog()函数的代码

\n
function showDialog(){\n  userInterface=HtmlService.createHtmlOutputFromFile(\'test\');\n  SpreadsheetApp.getUi().showModelessDialog(userInterface, \'Testing Inputs\');\n}\n
Run Code Online (Sandbox Code Playgroud)\n

这是我的 JavaScript

\n
function showDialog(){\n  userInterface=HtmlService.createHtmlOutputFromFile(\'test\');\n  SpreadsheetApp.getUi().showModelessDialog(userInterface, \'Testing Inputs\');\n}\n
Run Code Online (Sandbox Code Playgroud)\n

这就是我在控制台中单击与“测试代码”相关的链接时看到的内容。

\n
<script>\n    var idA=[\'pdCliT\',\'pdLocT\',\'pdTypS\',\'pdNamT\',\'pdSupT\',\'pdOutS\',\'pdGasT\',\'pdFloS\',\'pdAmiS\',\'pdUopN\',\'pdVolN\',\'pdDru\',\'pdLOMN\'];\n    $(function(){});\n    function testInputs(){\n      console.log(\'idA.join(\\\',\\\')= %s\',idA.join(\', \'));\n      for(var i=0;i<idA.length;i++){\n        var id=\'#\' + idA[i];\n        var type=String(idA[i]).slice(-1);\n        console.log(\'idA[%d]=%s , id= %s\',i,idA[i],id);  \n        switch(type){\n          case \'N\':\n            var min=$(id).attr(min);\n            var max=$(id).attr(max);\n            var val=$(id).val();\n            console.log(\'type: number, min: %s, max: %s, val: %s\',min,max,val);\n            break;\n          case \'T\':  \n            var val=$(id).val();\n            console.log(\'type: text, value: %s\',val);\n            break;\n          case \'S\':\n            console.log(\'value: …
Run Code Online (Sandbox Code Playgroud)

javascript web-applications google-sheets google-apps-script google-chrome-devtools

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

在google-apps-script编辑器中自动完成我的功能

我可以使用JSDoc以某种方式获取我的函数的编辑器自动完成功能吗?

我正在创建一个包含相关脚本编辑器中大量代码的大型Google电子表格.

当我在LINE 1上编写句点时,我得到自动完成帮助(参见下面的代码),但是在LINE 2上写句点时却没有.在LINE 2上写句点时,是否可以使用JSDoc语法获得自动完成帮助?

我没有成功使这适用于普通的javascript对象和Spreadsheet相关的对象.我对两者都很感兴趣.

/** Failed attempt on getting autocomplete help using JSDoc on a google Range object
* @returns {Range}
*/
function getMyRange() {
  return SpreadsheetApp.getActiveSpreadsheet().getRangeByName('myRange');
};

/** Failed attempt on getting autocomplete help using JSDoc on standard JS-object
* @returns {Array}
*/
function getMyArray() {
  return SpreadsheetApp.getActiveSpreadsheet().getRangeByName('myRange');
};

function test() {
  var ss = SpreadsheetApp.getActiveSpreadsheet();

  // Please think of the code below as 4 separate examples, nothing
  // of the below is meant to compile …
Run Code Online (Sandbox Code Playgroud)

autocomplete google-apps-script jsdoc3 google-apps-script-editor

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

如何在 Google Sheet 的 App Script 中创建数组的真正新副本?

我在 Google Sheet 中的 App Script 遇到以下问题。

我想在我的工作表中基于表格制作一行的不同副本。我想做类似的事情

input1=[[1,2,"a"]];
input2=[[4,5,"b"],[7,8,"c"]];
function (input1,input2) {
   \\ input# is a row, ie. an array with single element, which is another array
   \\ The rows input# represent are of equal length

   out=[];
   copy1=input1[0];//copy1 is a reference to input1[0]
   copy2=input1[0];//copy2 is a reference to input1[0]
   for (i=0;i<input1.length,i++) {//input1.length is 1
       copy1[i]+=input2[0][i];
       copy2[i]+=input2[1][i];
   }
   out.push(copy1,copy2);//copy1=[5,2,a] copy2=[8,2,a]
   return out
}
Run Code Online (Sandbox Code Playgroud)

我希望out看起来像

out=[[5,7,"ab"],[8,10,"ac"]];//[[5,2,a],[8,2,a]]
Run Code Online (Sandbox Code Playgroud)

但事实并非如此。输出看起来像每当我修改copy1或 时copy2,它input1本身就被修改了。

这里有什么问题?如何创建一个新的数组变量,将其值分配为与现有数组相等并修改新数组而不更改旧数组?输入数组的元素(元素)由混合数字和字符串组成是否可以?

arrays variables google-sheets google-apps-script

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

如何从同一onFormSubmit触发器获取多个不需要的事件块?

我今天早上创建了一个问题表格,因为我想自己看看事件块。但是,这个过程对我来说是出乎意料的。我的描述如下:

我正在使用以下代码记录onFormSubmit事件:

function testFormSubmission(e) {
  var lock=LockService.getUserLock();
  try{
      if(lock.tryLock(30000)) {
      var ss=SpreadsheetApp.getActive();
      var sh=ss.getSheetByName('LogSheet');
      var tA=[Utilities.formatDate(new Date(), Session.getScriptTimeZone(),"d/M/yyyy HH:mm:ss")];
      tA=tA.concat(e.values);
      tA.splice(tA.length-1,1,e.triggerUid,e.range.rowStart,e.range.columnEnd,JSON.stringify(e.values));
      sh.appendRow(tA);
      lock.releaseLock();
    }
  }
  catch (e){throw("Couldn\'t get lock for 30 seconds");return;};
}    
Run Code Online (Sandbox Code Playgroud)

我的电子表格下面有两张图片:

e.values实际上只有两列,一列是日期,一列是问题的答案,即“绿色”或“蓝色”。空白列来自以下事实:我从三个问题开始并收集电子邮件,但为了简化起见决定删除其中两个,因为我是自己生成提交的。

无论如何,在columnC中没有绿色或蓝色的响应都不应存在。 J列很简单JSON.stringify(e.values),似乎表明e中的值不正确...我认为吗?是/否

这是电子表格的图像。(其中一些)

这是表格回复1表格:

在此处输入图片说明

这是LogSheet:

在此处输入图片说明

所以我的问题很简单,日志表中多余的附加行是从哪里来的?

我更新了标题问题,因为我认为我不会收到多次提交,否则我希望在Form Responses 1工作表中有多行。

对于您的信息,LogSheet中的columnH是rowStart,因此很容易找出Form Response 1中的哪一行相关。

google-sheets google-apps-script google-forms

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

使用Google Apps脚本共享文件夹,而不会收到电子邮件

我想问问您是否知道一种可以与Google Apps脚本共享驱动器中文件夹的方法,但不会收到编辑者的电子邮件。我曾尝试将以下选项放入我的程序中,但徒劳无功:“ folderName.permission.EDIT”

google-apps-script

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

PHP 关联数组 - 单引号与双引号

中的名称使用单标记和双quotation标记有什么区别吗?Associative arraysPHP

例如:

$age = array("彼得"=>"35", "本"=>"37", "乔"=>"43");

$age = array('彼得'=>'35', '本'=>'37', '乔'=>'43');

php

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

很抱歉,从存储读取时发生服务器错误。错误代码 NOT_FOUND

我在运行脚本时遇到了这个问题。前一天如果对我来说工作正常。我确实清除了 chrome 浏览器的所有缓存,我也尝试了另一台笔记本电脑,但问题是这样。请帮我解决这个问题。

我正在运行的代码是:

function onOpen(e) {
  var menu = SpreadsheetApp.getUi().createMenu('Reporting Tools');
  menu.addItem('Create Unit Scorecards', 'HSIPScorecard2021CountryScripts.createInputSheets');
  menu.addItem('Notify Unit H&S Heads', 'HSIPScorecard2021CountryScripts.sendNotifications');
  menu.addItem('Consolidate Unit Data', 'HSIPScorecard2021CountryScripts.Consolidate');
  menu.addToUi();
}
Run Code Online (Sandbox Code Playgroud)

google-apps-script

3
推荐指数
2
解决办法
835
查看次数

仅复制和粘贴值和格式-Google脚本

我只想复制和粘贴值和格式,而不是公式。

EG(A1是动态文本):

A1 =“测试”

A2 = = A1

我想使用一个脚本,该脚本在激活时将A2格式和文本(在这种情况下,将“ test”复制而不是“ = a1”)复制到A3。

我尝试使用“ formatOnly:true,contentsOnly:true”-但它会不断复制公式。

function Threebrow() {  
   var sheet2 = SpreadsheetApp.getActive().getSheetByName('c');
  sheet2.getRange("a2").copyTo(sheet2.getRange(sheet2.getLastRow()+1,1,1,7), {formatOnly:true , contentsOnly:true});
}
Run Code Online (Sandbox Code Playgroud)

google-sheets google-apps-script

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

使用谷歌脚本将谷歌电子表格的范围获取到图像中

我正在构建一个搜索工具,通过它可以使用谷歌脚本将谷歌范围转换为图像。我尝试将该数据范围粘贴到谷歌幻灯片,然后从那里获得缩略图及其网址。我正在搜索任何其他工具,这些工具可以直接为我提供 Google 表格所选范围的图像网址。

谢谢

google-apps-script

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

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