Динамические текстовые поля в диалоговом окне в скрипте Google Apps - PullRequest
0 голосов
/ 08 ноября 2018

Я новичок в скриптах приложений и javascript, так что это может быть очень простой вопрос, но я не могу найти ответ на этот вопрос нигде.

Я хотел бы иметь динамическое диалоговое окно, основанное на значениях ячеек в определенном поле.

Вот мой код.

 

   function showPrompt() {
  var L,sourceSheet,ss,targetSh;

  ss = SpreadsheetApp.getActiveSpreadsheet();
  targetSh = ss.getSheetByName('Stop Time Generator');
  sourceSheet = ss.getSheetByName('My Shift Log');

  var ui = SpreadsheetApp.getUi(); // Same variations.
  var values = targetSh.getRange('I2:I').getValues()

  L = values.length;

  for (var i = 0; i < L; i++){
    if(values[i]!=""){
    var result = ui.prompt(
      'Please Log waste weight for: '  + values[i],
        ui.ButtonSet.OK_CANCEL);

    // Process the user's response.
    var button = result.getSelectedButton();
    var text = result.getResponseText();
    Logger.log('text: ' + text)

    if (button == ui.Button.OK) {
      targetSh.getRange(i+2,10).setValue(text)
      sourceSheet.getRange('d10').copyTo(targetSh.getRange('T1') , {contentsOnly:true});
      if (!text) {
        ui.alert('Please enter a number value or click CANCEL');
      }
    } else if (button == ui.Button.CANCEL) {
      // User clicked "Cancel".
      ui.alert('Your response wasn\'t recorded');
      break;
    } else if (button == ui.Button.CLOSE) {
      // User clicked X in the title bar.
      ui.alert('Your response wasn\'t recorded');
    }
   }
 }
}

Я пытаюсь открыть диалоговое окно, спрашивающее сначала вес значения в ячейке I2, а затем, после отправки, вес значения в I3 и т. Д.

Пока что он просто появляется в цикле с 0 над текстовым полем

Любая помощь будет принята с благодарностью.

Если есть похожая проблема, которую я не обнаружил, пожалуйста, свяжите меня с ней.

Спасибо,

1 Ответ

0 голосов
/ 08 ноября 2018

Попробуйте этот код.

function showPrompt() {
  var L,sourceSheet,ss,targetSh;

  ss = SpreadsheetApp.getActiveSpreadsheet();
  targetSh = ss.getSheetByName('Sheet3');
  sourceSheet = ss.getSheetByName('My Shift Log');

  var ui = SpreadsheetApp.getUi(); // Same variations.
  var values = ss.getSheetByName('Stop Time Generator').getRange('I2:I').getValues()

  L = values.length;

  for (var i = 0; i < L; i++){

    var result = ui.prompt(
      'Please Log waste weight for: '  + values[i],
        ui.ButtonSet.OK_CANCEL);

    // Process the user's response.
    var button = result.getSelectedButton();
    var text = result.getResponseText();
    Logger.log('text: ' + text)

    if (button == ui.Button.OK) {
      targetSh.getRange('Q1').setValue(text)
      sourceSheet.getRange('d10').copyTo(targetSh.getRange('T1') , {contentsOnly:true});
      if (!text) {
        ui.alert('Please enter a value or click CANCEL');
      }
    } else if (button == ui.Button.CANCEL) {
      // User clicked "Cancel".
      ui.alert('Your response wasn\'t recorded');
      break;
    } else if (button == ui.Button.CLOSE) {
      // User clicked X in the title bar.
      ui.alert('Your response wasn\'t recorded');
    }
  }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...