根据Google UI应用中电子表格的两列显示文本框

时间:2014-10-14 08:35:08

标签: user-interface google-apps-script google-sheets google-apps var

我们正在尝试显示一个文本框,具体取决于某些行是否包含“Y”。在B列中,我们有一堆电子邮件地址,C列有电子邮件,D列是空的,E列是否定义了经理(“Y”)。

我们要做的是显示文本框,如果登录用户在相邻列中有Y.但是,我们尝试的所有内容似乎总是显示文本框或从不显示文本框。

我只会显示这个特定功能的代码,因为who脚本上有大约4000行。

这是我们到目前为止的方式。我们认为我们非常接近(尽管我们可能不是!)。

 function vUser(app){

    var userID = Session.getActiveUser();


   var sheet  = SpreadsheetApp.openById(SPREADSHEET_ID2).getSheetByName("Managers");

   var values = sheet.getRange(1,1,sheet.getLastRow(),13).getValues(); 


  for (var i in values){  
 if ((values[i][0] == userID) && (values[i][2] == 'Y')){

   var app = UiApp.getActiveApplication();
   createForm_(app);
   app.getElementById('manager').setVisible(true);
   app.getElementById('managerTextBox').setVisible(true);
 return app;


 }else {

  var app = UiApp.getActiveApplication();
  createForm_(app);

   continue;  // entered this to try and make it read down. Now shows 30 of the generic questions as my username is on the 30th row. Does show the 'manager' and 'managertextbox' once, however.
  return app; //removed when continue; is included. 
 }  

 }

 }

1 个答案:

答案 0 :(得分:0)

如下:

for (var i in values){  
if ((values[i][0] == userID) && (values[i][2] == 'Y')){

    var is_manager = 1;
}}


if (is_manager ==1){
    var app = UiApp.getActiveApplication();
    createForm_(app);
    app.getElementById('manager').setVisible(true);
    app.getElementById('managerTextBox').setVisible(true);
  return app;
}