Google apps script 试图从另一个选项卡复制值,但不断出现错误;函数getValues()不能用作左侧;
我使用我的代码大约一个星期(这已经很慢了),但一直在继续。今天,在尝试运行它时,我得到一条消息“ReferenceError:Function getValues(){/**/}不能用作赋值的左侧或++或--operator的操作数。” 代码如下:Google apps script 试图从另一个选项卡复制值,但不断出现错误;函数getValues()不能用作左侧;,google-apps-script,google-sheets,Google Apps Script,Google Sheets,我使用我的代码大约一个星期(这已经很慢了),但一直在继续。今天,在尝试运行它时,我得到一条消息“ReferenceError:Function getValues(){/**/}不能用作赋值的左侧或++或--operator的操作数。” 代码如下: function PreenchePlanilha() { var App = SpreadsheetApp; App.getActiveSpreadsheet().getSheetByName('MacroH
function PreenchePlanilha()
{
var App = SpreadsheetApp;
App.getActiveSpreadsheet().getSheetByName('MacroHelp').getRange(1,1).activate();
var helpMacro = App.getActiveSpreadsheet().getActiveSheet();
var i = 250;
var j = 1;
var k = 1;
while (helpMacro.getRange(i,5).getValue() != "")
{
if(helpMacro.getRange(i,17).getValue() == "")
{
while (helpMacro.getRange(j,20).getValues().toString() != helpMacro.getRange(i,5).getValues().toString())
{
j = j+1;
}
var aba = helpMacro.getRange(j,21).getValue();
var valores = helpMacro.getRange(i,6, 1, 11);
var email = helpMacro.getRange(i,1).getValue();
App.getActiveSpreadsheet().getSheetByName(aba).getRange(1,1).activate();
var cols = contalinha();
while (App.getActiveSpreadsheet().getActiveSheet().getRange(k,8).getValue() != email && k <= cols)
{
k = k + 1;
}
App.getActiveSpreadsheet().getActiveSheet().getRange(k,31,1,11).getValues() = helpMacro.getRange(i,6, 1, 11);
App.getActiveSpreadsheet().getSheetByName("MacroHelp").getRange(i,17).activate();
App.getActive().getCurrentCell().setValue('Feito');
}
i++;
j = 1;
k = 1;
}
}
function contalinha() {
var spreadsheet = SpreadsheetApp.getActive();
spreadsheet.getRange('A1').activate();
spreadsheet.getCurrentCell().getNextDataCell(SpreadsheetApp.Direction.DOWN).activate();
var cols = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet().getActiveRange().getRow();
return cols;
};
我尝试了这两种代码,但都不起作用:
App.getActiveSpreadsheet().getActiveSheet().getRange(k,31,1,11).setValues() = valores;
App.getActiveSpreadsheet().getActiveSheet().getRange(k,31,1,11).setValues(valores);
我做错了什么?我成功地完成了!我不得不改变这条线路
App.getActiveSpreadsheet().getActiveSheet().getRange(k,31,1,11).getValues() = helpMacro.getRange(i,6, 1, 11)
并将其改为:
App.getActiveSpreadsheet().getActiveSheet().getRange(k,31,1,11).setValues(helpMacro.getRange(i,6, 1, 11).getValues());
谢谢你的帮助 获取值,然后在顶部设置一个范围,然后尝试使用范围设置值…
App.getActiveSpreadsheet().getActiveSheet().getRange(k,31,1,11).getValues()=helpMacro.getRange(i,6,1,11)代码>我会冒险说这是导致问题的线路。前半部分(App.getActiveSpreadsheet().getActiveSheet().getRange(k,31,1,11).getValues()
)是一条有效语句(尽管如果不声明一个变量来保存值,它是无用的)。该语句的后半部分helpMacro.getRange(i,6,1,11)
仅声明一个范围,将getValues()
设为任何值都是毫无意义的,更不用说范围了。请共享一份电子表格副本。关于App.getActiveSpreadsheet().getActiveSheet().getRange(k,31,1,11)。getValues()=helpMacro.getRange(i,6,1,11)代码>和您尝试的备选方案。撇开语法问题不谈,请您解释一下您在这一行代码中试图实现的结果。
App.getActiveSpreadsheet().getActiveSheet().getRange(k,31,1,11).setValues(helpMacro.getRange(i,6, 1, 11).getValues());