Обновите sh или перезагрузите боковую панель при редактировании ячейки Google. - PullRequest
2 голосов
/ 02 апреля 2020

У меня есть лист Google и раскрывающийся список данных в ячейке C4. и я сделал пользовательскую боковую панель с несколькими полями ввода. Я хочу обновить sh или перезагрузить боковую панель, когда я выбираю данные в ячейке C4 через раскрывающийся список. Плз, скажите мне вашу великую идею!

+++

значение = от C4. когда пользователь меняет значение C4, я хочу автоматически обновить sh боковую панель или поле ввода, чтобы обновить поле ввода с текущим значением C4.

function showsidbar() {
  var html = HtmlService.createTemplateFromFile("main.html").evaluate();  //createHtmlOutputFromFile('Page')
 
   html.setTitle('입력창입니다!')
    //  .setWidth(300);
  SpreadsheetApp.getUi() // Or DocumentApp or SlidesApp or FormApp.
      .showSidebar(html);
}

function include(filename){
   return HtmlService.createHtmlOutputFromFile(filename).getContent();
}



function bb(){
  var mainsheet = "기본";
    var sheet = SpreadsheetApp.getActiveSpreadsheet();
  var targetSheet = sheet.getSheetByName(mainsheet);
  var value = targetSheet.getRange("N5").getValue();
   return value;;
   }

function Name(){
  var mainsheet = "기본";
    var sheet = SpreadsheetApp.getActiveSpreadsheet();
   var targetSheet = sheet.getSheetByName(mainsheet);
  var value = targetSheet.getRange("C4").getValue();
   return value;;
   }
  <html>
  <head>
  </head> 
  <body>
  <div style=" padding:10px; background-color:#ccebff">
   <form name="frm">
    <center><B>학생 정보</B> </center>
   
       
    <b>이름 </b>
    <input type="text" name="Name" ID="reginame" size="6" value=<?=Name()?>>
    
     <b>학번</b>
    <input type="text" name="Number" iD="reginum" size="4" value=<?=bb()?>>
   
    
    
    </form>
    </div>
    </body>
    </html>

1 Ответ

2 голосов
/ 02 апреля 2020
  • Вы хотите обновить sh боковую панель, используя отредактированное значение «C4», при изменении раскрывающегося списка ячейки «C4».
  • Вы хотите добиться этого, изменив сценарий.

Если мое понимание верно, как насчет этого ответа? Пожалуйста, подумайте об этом как об одном из нескольких возможных ответов.

В этом ответе я хотел бы предложить использовать устанавливаемый триггер события OnEdit.

Модифицированный скрипт:

Когда ваш скрипт будет изменен, пожалуйста, добавьте следующую функцию в ваш скрипт. И, , пожалуйста, установите триггер события OnEdit для функции inatalledOnEdit.

function inatalledOnEdit(e) {
  if (e.range.getA1Notation() == "C4") {
    showsidbar();
  }
}
  • Когда изменяется раскрывающийся список ячейки "C4", функция inatalledOnEdit запускается устанавливаемым триггером события OnEdit. И, showsidbar() выполняется, а затем, боковая панель открывается снова, и новое значение устанавливается на value=<?=Name()?>.

Ссылка:

...