2

ちょっとした助けを探しています 私はもうすぐそこにいますが、1つだけ欠けていることを知っていて、しばらくの間答えを探していました.

私は最初の名前を持つ 1 つの列と姓を持つ 2 番目の列を持つスプレッド シートを持っています。それらを結合して、リスト ボックスにフルネームで表示しようとしています。現在、最初の列の値、次に2番目の列の値で、文字ごとに水平方向に値が入力されています。どんな助けでも大歓迎です!

function studentBox(e) {
  var app = UiApp.getActiveApplication();

  var dateSelect = e.parameter.dateList;

  var ss = SpreadsheetApp.openById('spreadsheetID');
  var sheet = ss.getSheetByName(dateSelect);

  var studentList = app.createListBox().setName('studentList').setId('studentList');
  var cellList = sheet.getLastRow();
  var fName = sheet.getRange(1,1,cellList,1).getValues();
  var lName = sheet.getRange(1,2,cellList,1).getValues();
  var fullName = (fName+ " " +lName);


  //Add items to the list box
  for(var i=0; i<fullName.length; i++){
    studentList.addItem(fullName[i]);
  }

  app.getElementById('grid1').setWidget(1,1,studentList);




  return app;

}
4

1 に答える 1

5

fNamelNameは値の行列です。このようにそれらを合計/連結することはできません。ここで修正:

function studentBox(e) {
  var app = UiApp.getActiveApplication();
  var dateSelect = e.parameter.dateList;

  var ss = SpreadsheetApp.openById('spreadsheetID');
  var sheet = ss.getSheetByName(dateSelect);

  var studentList = app.createListBox().setName('studentList').setId('studentList');
  var cellList = sheet.getLastRow();
  var names = sheet.getRange(1,1,cellList,2).getValues(); //getting both first and last names at once

  //Add items to the list box
  for(var i=0; i<names.length; i++){
    studentList.addItem(names[i][0]+' '+names[i][1]);
  }

  app.getElementById('grid1').setWidget(1,1,studentList);
  return app;
}
于 2013-03-28T18:05:34.317 に答える