感谢大家。
我有一张包含7张的Google电子表格。我试图将最后一张纸中的数据从单元格A1:D1移动到附加到同一张纸底部的新行。
以下是我使用的代码片段:
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheets()[6];
var src = sheet.getRange('PaycheckHistory!A1:D1').getValues();
sheet.appendRow([src]);
在我运行代码之后,在选项卡" PaycheckHistory",在附加到工作表底部的新行中,我得到以下内容:" [Ljava.lang.Object; @ 3e0d05f9"
有人可以告诉我(a)这是什么错误,(b)这意味着什么,以及(c)我如何解决这个问题或执行我的目标,即在最后一页中移动数据从单元格A1:D1到附加到同一工作表底部的新行。"
谢谢,全部!
18年6月22日 IDK如果这会有所帮助,但无法找到"更新此问题"屏幕上的按钮显示我的原始帖子。然而,我发现了一个"编辑"按钮,我现在正在使用它。
以下是我使用的完整代码:(如果代码格式不正确,则道歉)
function onOpen() {
var ui = SpreadsheetApp.getUi();
ui.createMenu('Tasks')
.addItem('createCopy','createCopy')
.addToUi();
}
function createCopy() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheets()[6];
var src = sheet.getRange('PaycheckHistory!A1:D1').getValues();
sheet.appendRow(src[0]);
SpreadsheetApp.flush();
var myValue =
SpreadsheetApp.getActiveSpreadsheet()getActiveSheet()getRange。("ø58&#34)。的getValue(); var destinationFolder = DriveApp.getFolderById(" 1errc7- 2SM ********** ZPKJIxjZOTRWo&#34);
DriveApp.getFileById(SpreadsheetApp.getActiveSpreadsheet()的getId())makeCopy(myvalue的,destinationFolder);
}
以下是我遇到的问题:该功能的第一部分(ABOVE" SpreadsheetApp.flush();")移动电子表格第6页上的数据。函数的下一部分(BELOW" SpreadsheetApp.flush();")复制整个电子表格,将副本放入指定的文件夹,然后重命名副本。
我希望此功能在电子表格文件中的其他标签/工作表上执行更多操作。我可以编写额外的代码来执行此操作,但是当我将新代码添加到上面的现有函数时,新代码什么都不做。只需使用" SpreadsheetApp.flush();"不起作用。
答案 0 :(得分:0)
getValues()
检索的值是二维数组。当它看到appendRow(rowContents)
的使用时,rowContents
是一维数组。在脚本中,运行此sheet.appendRow([src])
时,将使用3维数组。所以放了这样的字符串。
关于[Ljava.lang.Object;@
,您可以在以下主题中看到相关信息。
为了避免这样的字符串,对于你的脚本,请修改如下。
来自:sheet.appendRow([src]);
至 :
sheet.appendRow(src[0]);
如果我误解了你的问题,我很抱歉。