我想把坐标范围转换为A1Notation。当我将"value“放入电子表格的"A1”时,我从e of onEdit(e)中得到了{"authMode":{},"range":{"columnStart":1,"rowStart":1,"rowEnd":1,"columnEnd":1},"source":{},"user":{"nickname":"$$$","email":"$$$@gmail.com"},"value":"value"}。我使用下面的脚本获得范围的A1Notation。
function onEdit(e){
Logger.log(typeof e.range) // object
Logger.log(e.range.getA1Notation()) // A1
}我可以在e.range.getA1Notation()买到“e.range.getA1Notation()”。但当我用下面的脚本,
function myFunction(){
var e = {"authMode":{},"range":{"columnStart":1,"rowStart":1,"rowEnd":1,"columnEnd":1},"source":{},"user":{"nickname":"$$$","email":"$$$@gmail.com"},"value":"value"};
Logger.log(typeof e.range) // object
Logger.log(e.range.getA1Notation()) // Error
}在Logger.log(e.range.getA1Notation())返回错误。错误消息是TypeError: Cannot find function getA1Notation in object [object Object]。两个Logger.log(typeof e.range)都是"object“。我这里有两个问题。
e.range.getA1Notation() of myFunction()会出现错误?{"columnStart":1,"rowStart":1,"rowEnd":1,"columnEnd":1}将A1Notation转换成getA1Notation()非常感谢你抽出时间。对于我不成熟的问题我很抱歉。
发布于 2018-04-15 00:04:08
e.range.getA1Notation() of myFunction()会出现错误?因为对象的range属性不是正确的类。
{"columnStart":1,"rowStart":1,"rowEnd":1,"columnEnd":1}将A1Notation转换成getA1Notation()有很多种方法。也许简单的方法是使用对象上设置的坐标来获得一个范围,在对象上使用getA1Notation。
示例:
function myFunction(){
var o = {"columnStart":1,"rowStart":1,"rowEnd":1,"columnEnd":1};
var sheet = SpreadsheetApp.getActiveSheet();
//
var row = o.rowStart;
var column = o.columnStart;
var numRows = o.rowEnd - o.rowStart + 1;
var numColumns = o.columnEnd - o.columnStart + 1;
var range = sheet.getRange(row, column, numRows, numColumns);
var A1Notation = range.getA1Notation();
Logger.log(A1Notation);
}发布于 2018-04-12 06:09:44
你不是这么定义范围的。看看在文档中获取范围的几种方法。
function myFunction(){
var e = {
"authMode": {},
"range": SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Sheet1").getRange(1,1,1,1),
"source":{},
"user": {
"nickname":"$$$",
"email":"$$$@gmail.com"
},
"value":"value"
};
Logger.log(typeof e.range) // object
Logger.log(e.range.getA1Notation()) // A1
}
function convert(e) {
var e = {
"authMode":{},
"range":{
"columnStart":1,
"rowStart":1,
"rowEnd":1,
"columnEnd":1
},
"source":{},
"user":{
"nickname":"$$$",
"email":"$$$@gmail.com"
},
"value":"value"
};
var row = e.range.rowStart;
var column = e.range.columnStart;
var numRows = e.range.rowEnd - row + 1;
var numColumns = e.range.columnEnd - column + 1;
var range = SpreadsheetApp.getActive().getSheetByName("Sheet1").getRange(row, column, numRows, numColumns);
Logger.log(range.getA1Notation()); // A1
}https://stackoverflow.com/questions/49788988
复制相似问题