Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/extjs/3.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
Google apps script getUi()警报未执行响应_Google Apps Script_Google Sheets - Fatal编程技术网

Google apps script getUi()警报未执行响应

Google apps script getUi()警报未执行响应,google-apps-script,google-sheets,Google Apps Script,Google Sheets,此脚本将Google工作表中的一行从一个工作表移动到另一个工作表。如果没有警报框,它可以正常工作。我正试图在移动前添加一个框进行确认。框显示,但当我单击“是”时,什么也没有发生。我也在提示下尝试了一下,但没有结果 我该怎么做才能正确使用此功能 function onEdit(event) { var ss = SpreadsheetApp.getActiveSpreadsheet(); var s = event.source.getActiveSheet(); var r = ev

此脚本将Google工作表中的一行从一个工作表移动到另一个工作表。如果没有警报框,它可以正常工作。我正试图在移动前添加一个框进行确认。框显示,但当我单击“是”时,什么也没有发生。我也在提示下尝试了一下,但没有结果

我该怎么做才能正确使用此功能

function onEdit(event) {
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var s = event.source.getActiveSheet();
  var r = event.source.getActiveRange();
  var sourceSheet = "Source"; // Name of sheet copy from
  var targetSheet = "Destination"; // Name of sheet copy to
  var targetSheet = ss.getSheetByName(targetSheet);
  var ui = SpreadsheetApp.getUi();

function CountColB(){  // Function to get first filled column B, starting from bottom.
    var data = targetSheet.getDataRange().getValues();
  for(var i = data.length-1 ; i >=0 ; i--){
    if (data[i][1] != null && data[i][1] != ''){
      return i+1 ;
    }}}
var lastRow = CountColB();

  if(s.getName() == sourceSheet && r.getColumn() == 1 && r.getValue() == "X") {
    var row = r.getRow();
    var numColumns = s.getLastColumn();
    var target = targetSheet.getRange(lastRow + 1, 2);
    ui.alert('Move Row?', ui.ButtonSet.YES_NO);
    if (response == ui.Button.YES) {
    s.getRange(row, 2, 1, numColumns).moveTo(target);
    s.deleteRow(row);
 }

  }
}

您没有将“response”变量设置为提示响应。尝试将此作为您的if语句:

  if(s.getName() == sourceSheet && r.getColumn() == 1 && r.getValue() == "X") {
    var row = r.getRow();
    var numColumns = s.getLastColumn();
    var target = targetSheet.getRange(lastRow + 1, 2);
    var response = ui.alert('Move Row?', ui.ButtonSet.YES_NO);
    if (response == ui.Button.YES) {
    s.getRange(row, 2, 1, numColumns).moveTo(target);
    s.deleteRow(row);
 }