Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/474.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-apps-script/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/fortran/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Google脚本,如何使用变量名将数据设置到工作表中_Javascript_Google Apps Script_Google Sheets - Fatal编程技术网

Javascript Google脚本,如何使用变量名将数据设置到工作表中

Javascript Google脚本,如何使用变量名将数据设置到工作表中,javascript,google-apps-script,google-sheets,Javascript,Google Apps Script,Google Sheets,我的目标是将另一张图纸上的单元格设置为特定值。所需的工作表和单元格是可变的。我已在活动工作表的M&F行中存储了所需行和所需工作表 SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Navigation").getRange('B1').setValue("Test1"); 上面的代码起作用,将值“Test1”设置为导航表上的单元格B1 但是,由于工作表和单元格必须是基于单元格中存储的数据的变量,因

我的目标是将另一张图纸上的单元格设置为特定值。所需的工作表和单元格是可变的。我已在活动工作表的M&F行中存储了所需行和所需工作表

SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Navigation").getRange('B1').setValue("Test1");
上面的代码起作用,将值“Test1”设置为导航表上的单元格B1

但是,由于工作表和单元格必须是基于单元格中存储的数据的变量,因此我必须执行以下操作:

function onEdit(e) {
  // Set a comment on the edited cell to indicate when it was changed.
  var sheet = SpreadsheetApp.getActiveSheet();
  var Range = e.range;
  var Row = e.getrange.rowStart;
  Logger.log(Row);
 
  if(range.getSheet().getSheetName() == "Summary"&& //Ensure trigger on single column in document
    e.range.columnStart == 10 &&  // This section works
    e.range.columnEnd == 10 &&
    e.range.rowStart >= 4 &&
    e.range.rowEnd <= 5000) {
    
        // range.setValue(Row);
        Range1 = sheet.getRange("M1:M100"); //Obtain the row for the desired cell (stored within cells in column M)
        var cell1 = Range1.getCell(Row,1);
        var Row_Value = cell1.getValue();
        // range.setValue(Row_Value);

        Range2 = sheet.getRange("F1:F100"); //Get the name of the desired  sheet (stored within cells in column F)
        var cell2 = Range2.getCell(Row,1);
        var Name_Value = cell2.getValue();
        // range.setValue(Name_Value);

        Range3 = sheet.getRange("A1:G200");  //Get the Cell Location as a range
        var cell3 = Range3.getCell(Row_Value,7);

        Range4 = sheet.getRange(cell3);
        SpreadsheetApp.getActiveSpreadsheet().getSheetByName(Name_Value).getRange(Row_Value).setValue("Test1"); //Set value to required range on required sheet.
    }
}
函数onEdit(e){
//在编辑的单元格上设置注释,以指示更改的时间。
var sheet=SpreadsheetApp.getActiveSheet();
var范围=e范围;
var Row=e.getrange.rowStart;
Logger.log(行);
if(range.getSheet().getSheetName()=“Summary”&&&//确保在文档中的单个列上触发
e、 range.columnStart==10&&//此部分有效
e、 range.columnEnd==10&&
e、 range.rowStart>=4&&
e、 range.rowEnd尝试以下方法:

function onEdit(e) {
  const sheet = e.range.getSheet();
  if (sheet.getName() !== 'Summary'
    || e.range.columnStart !== 10
    || e.range.rowStart < 4) {
    return;
  }
  const sheetName = sheet.getRange('F' + e.range.rowStart).getValue() || 'no sheet name';
  const columnLetter = sheet.getRange('G' + e.range.rowStart).getValue() || 'no column letter';
  const rowNumber = sheet.getRange('M' + e.range.rowStart).getValue() || NaN;
  const targetCell = e.source.getRange(sheetName + '!' + columnLetter + rowNumber);
  targetCell.setValue('testing...');
}
函数onEdit(e){
const sheet=e.range.getSheet();
如果(sheet.getName()!=='Summary'
||e.range.columnStart!==10
||e.range.rowStart<4){
返回;
}
const sheetName=sheet.getRange('F'+e.range.rowStart).getValue()| |'无工作表名称';
const columnLetter=sheet.getRange('G'+e.range.rowStart).getValue()| |'无列字母';
const rowNumber=sheet.getRange('M'+e.range.rowStart).getValue()| | NaN;
const targetCell=e.source.getRange(sheetName+'!'+columnLetter+行数);
setValue('testing…');
}

要查看从触发器调用的函数的变量值,可以使用
console.log(x)
然后转到
执行
并选择您想要分析的一个。查看有关它的更多信息。另一方面,为了帮助您解决这个问题,如果您可以共享一个指向电子表格的链接,并给出一个您试图获得但无法获得的示例,这将非常有用。感谢DoubleMonary提供这样一个quic它几乎立刻起作用了:D.我自己永远不会得到这个。谢谢你和我分享你的宝贵知识。看到了吗