我尝试从其他电子表格中的onEdit事件为我的Google电子表格设置新值.我得到例外:不允许行动.我无法理解我做错了什么.我很乐意为您提供帮助,因为我只是迈出了JS + Google Docs脚本的第一步.
function onEdit(e) {
if (e.value == "1")
updateValue(e);
else
Browser.msgBox("Type 1 in this cell");
}
function updateValue(curRange) {
//Get needed SpreadSheet ID and Cell Index (exp:D2) from current sheet
var ssCur = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ssCur.getSheets()[0];
var referenceID = sheet.getRange(curRange.range.getRow(), curRange.range.getColumn()+2).getValue();
var cellCoordinate = sheet.getRange(curRange.range.getRow(), curRange.range.getColumn()+3).getValue();
// Here still work good and get right values
Browser.msgBox(referenceID); //tracing string
try {
//Create remote spreadsheet object - this string catching Exception
var ss = SpreadsheetApp.openById(referenceID);
//Create workbook …Run Code Online (Sandbox Code Playgroud) 有没有办法将一些功能移动到谷歌应用程序脚本中的单独文件?目前我的Code.gs如下所示:
function onSubmit(e) {}
function readSpreadsheet(sheet) {}
function writeSpreadsheet(sheet, data) {}
function sendEmail() {}
function helperLogic1() {}
function helperLogic2() {}
function helperLogic3() {}
function helperLogic4() {}
Run Code Online (Sandbox Code Playgroud)
因此,为了使我的代码看起来更好; p ..我想将与电子表格相关的函数移动到spreadsheet.gs电子邮件到email.gs等.所以在移动它们之后,如何从中加载它code.gs?
谢谢
我正在使用侧面板为Google Docs制作Google Apps脚本.
我想要匹配Google Docs所具有的按钮,滚动条等样式.

仅供参考,很多CSS似乎都被缩小/混淆了.
scb-button-icon
jfk-star
Run Code Online (Sandbox Code Playgroud)
我在哪里可以找到这样的东西?
我认为Google Apps脚本可能提供了这样的东西,因为一致性使得用户体验变得更好.
如果官方消息来源不可用,是非官方消息来源吗?
使用谷歌应用程序脚本我正在从谷歌分析API收集数据.这将设置为每天凌晨1点收集数据,并将其写入"原始"表
在我的第二个脚本中,我想将一个范围A1:G1从"原始"表复制到我的第二个表"复制".我想要的是不断将数据复制到下一个空行,但是如何?
到目前为止,我将此作为基本解决方案,但这始终将所选数据粘贴到定义的单元格中(在本例中为单元格A10)
function copytestdata() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet1 = ss.getSheetByName("original");
var sheet2 = ss.getSheetByName("copy");
sheet1.getRange("A1:G1").copyTo(sheet2.getRange("A10"), {contentsOnly:true});
}
Run Code Online (Sandbox Code Playgroud)
我想在第二张"复制"上找到动态解决方案.因此,新数据应该粘贴到从单元格A1开始到下一个空行的下一个空行.但是如何让脚本进入下一个空行呢?
sheet1.getRange("A1:G1").copyTo(sheet2.[DYNAMIC SOLUTION]), {contentsOnly:true});
Run Code Online (Sandbox Code Playgroud)
有人有个好主意吗?我真的很感激帮助.
哦,顺便说一句,我怎样才能真正去一个特定的单元格:sheet1.getActiveRange("B8")
非常感谢您的帮助Pelikan76
我想使用日期选择器来简化在正在开发的应用程序中选择日期的方法,但是我不知道如何使用Google Apps Script中的HTML Service使它起作用。
如果您能提供一个示例,我将不胜感激,因为我非常需要它
我想要这样的东西:http : //jqueryui.com/datepicker/
在GAS中,我可以正确地将重音符号与具有边界字符的正则表达式匹配,例如\bà\ b.字符à仅在它是单独的单词时才匹配.这适用于GAS:
function test_regExp() {
var str = "la séance est à Paris";
var RegExp = "\\bà\\b";
var PatReg= new RegExp( RegExp);
var found=PatReg.exec(str);
if (found) {
Logger.log( [str.substring(0,found.index),found[0],str.substring(found[0].length+found.index)] );
} else Logger.log("oops! Did not match");
Run Code Online (Sandbox Code Playgroud)
在BigQuery中,如果边界字符位于重音符号旁边,则模式不匹配.\bséance\ b匹配séance:
SELECT [row],etext,ftext FROM [hcd.hdctextx] WHERE (REGEXP_MATCH(ftext,"\\bséance\\b") ) LIMIT 100;
Run Code Online (Sandbox Code Playgroud)
\bà\ b与单词不匹配:
SELECT [row],etext,ftext FROM [hcd.hdctextx] WHERE (REGEXP_MATCH(ftext,"\\bà\\b") ) LIMIT 100;
Run Code Online (Sandbox Code Playgroud)
我假设BigQuery与GAS不同,它在边界字符集中包含重音.所以\bséance\ b有效,因为é可以在该配置中作为边界正常运行.\bà\ b或\bétranger\ b或\bmarché\ b不起作用,因为重音+\b被解释为\ b\b,它永远不会匹配任何东西.(好吧,我在这里抓住吸管,因为我找不到更好的解释......除了一个bug.)
我不认为这是一个unicode问题,因为它只会在边界位置出现.
因此,目前无法在这些特定的重音配置中使用边界.
有没有办法在BigQuery或其他修复程序中设置Locale?
解决方法:替换(?:[^ a-zA-Zéàïëâê])等等\ b.
谢谢!
即使使用Google版本,我也无法自动完成Google表格的显示自定义功能。我的jsdoc信息格式正确,但仍然没有显示。我确定我只是忽略了一些愚蠢的事情,但我找不到它。那我想念什么呢?
Google的演示代码:
/**
* Multiplies the input value by 2.
*
* @param {number} input The value to multiply.
* @customfunction
*/
function double(input) {
return input * 2;
}
Run Code Online (Sandbox Code Playgroud)
顺便说一句,我正在使用Chrome开发我的自定义功能。此外,我的功能正常,只是没有自动完成功能。所有内置功能都可以自动完成。
在此先感谢您的帮助!
布拉德
我正在计划和App处理一个大文件(150MB)进行bigquery分析,而不使用任何UI.我尝试使用谷歌应用程序脚本,但我无法上传此文件,服务器错误.例如,有没有办法通过脚本上传到谷歌云存储?先感谢您.
我有一个要求,我需要从一个或多个列中获取值,然后将其复制到下一个可用列中的另一张表中。我写了这样的脚本。它确实从一列中复制值,但是无法继续前进以将同一源列中的新数据的另一张快照复制到目标工作表的下一个空闲列中。
*//keep a copy of Sales numbers for every month
function readSalesNum() {
var sheetFrom = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Sales plan");
var sheetTo = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("SalesRecordsMonthly");
// Copy from 17th row, 4th column, all rows for one column
var rangeToCopy = sheetFrom.getRange(17, 4, sheetFrom.getMaxRows(), 1);
//Paste to another sheet from first cell onwards
rangeToCopy.copyTo(sheetTo.getRange(1, 1));
}*
Run Code Online (Sandbox Code Playgroud)
我为格式不佳而感到抱歉:(我需要修改此脚本,以提及源工作表中的任何列集并将它们复制到目标工作表中。对于新的月份,它应该在下一组列中执行相同的操作,而不是覆盖就像现在一样。此外,该复制仅应针对尚不存在的值进行复制。我知道脚本中有ContentOnly选项,但不确定如何使用。