Как передать ответ пользовательского интерфейса в переменную в приложении - PullRequest
1 голос
/ 01 ноября 2019

Я абсолютный новичок и, используя некоторый код из документации, я пытаюсь передать ответ пользовательского интерфейса на переменную и затем поместить его на лист.
Ответ попадает в регистратор ОК, но только «Ответ»от пользователя "появляется в ячейке. Кусок кода:

    if (response.getSelectedButton() == ui.Button.YES) {
          Logger.log('The user\'s name is %s.', response.getResponseText());
           var name=response; 
           var target1 = tr.getRange(8, 25).activate();   // a test cell in sheet
              target1.setValue(name); 
                } else if (response.getSelectedButton() == ui.Button.NO) {

Ответы [ 2 ]

1 голос
/ 04 ноября 2019

В вашем коде вы делаете следующее:

var name=response; 
var target1 = tr.getRange(8, 25).activate();   // a test cell in sheet
target1.setValue(name); 

Однако, если вы хотите установить фактическое значение ответа в своей ячейке, вы должны сделать это следующим образом (обратите внимание наразница в первой строке):

var name=response.getResponseText(); 
var target1 = tr.getRange(8, 25).activate();   // a test cell in sheet
target1.setValue(name); 

Кроме того, я предлагаю вам оценить, нужен ли вам вызов функции activit () , и проверить страницу устранения неполадок в документации (это может сэкономить вам много времени!).

Ссылка

1 голос
/ 01 ноября 2019

Вот пример:

function gettingAResponse() {
  var ss=SpreadsheetApp.getActive();
  var sh=ss.getSheetByName('Sheet1');
  var resp=SpreadsheetApp.getUi().prompt("Are you ten feet tall?", SpreadsheetApp.getUi().ButtonSet.YES_NO_CANCEL);
  if(resp.getSelectedButton()==SpreadsheetApp.getUi().Button.YES) {
    SpreadsheetApp.getUi().alert('You pressed yes');
    sh.getRange("E5:E6").setValues([["Your response is:"],[resp.getResponseText()]]);
  }
  if(resp.getSelectedButton()==SpreadsheetApp.getUi().Button.NO) {
    SpreadsheetApp.getUi().alert("You pressed no.");
    sh.getRange("E5:E6").setValues([["Your response is:"],[resp.getResponseText()]]);
  }
  if(resp.getSelectedButton()==SpreadsheetApp.getUi().Button.CANCEL) {
    SpreadsheetApp.getUi().alert("You pressed cancel");
    sh.getRange('E5:E6').clearContent();
  }
}

Другой пример

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...