2015-07-27 3 views
0

Я создал боковую панель в Google Таблицах, которая заполняет себя элементами самого листа. Он должен сделать это, потому что некоторые из этих значений будут меняться довольно часто - как таковые, он не использует HTML.Google Таблицы - получение обратной связи с динамической боковой панели

Код для той его части, которая важна ниже:

//build the sidebar 
var UIInstance=UiApp.createApplication() 
    .setTitle('Please choose Plant below:') 
    .setWidth(250); 
//get the values over 
var MaxRow=250; 
var LookIn=0; 
var GoHere="http://www.google.co.uk"; 
var L1; var L2; var L3; 
for(LookIn=1;LookIn<MaxRow;LookIn++) 
{ 
    L1=sheet.getRange("AB" + LookIn); 
    L2=sheet.getRange("AC" + LookIn); 
    L3=sheet.getRange("AD" + LookIn); 
    if(L1.getValues()!="") 
    { 
    UIInstance.add(UIInstance.createLabel("_")); 
    UIInstance.add(UIInstance.createHTML("<b>" + L1.getValues() + "</b>")); 
    } 
    if(L2.getValues()!="") 
    { 
    UIInstance.add(UIInstance.createLabel(' - - + ' + L2.getValues())); 
    } 
    if(L3.getValues()!="") 
    { 
    UIInstance.add(UIInstance.createHTML(" - - - - - + <a href=''www.google.co.uk''>" + L3.getValues() + "</a>",false)); 
    } 
} 
//add the sidebar 
SpreadsheetApp.getUi() 
    .showSidebar(UIInstance); 

То, что я хотел бы сделать это, всякий раз, когда кто-то нажимает один из значений (в идеале один из значений L3), он вставляет, что значение в текущую ячейку. К сожалению, у меня возникают проблемы с получением чего-либо, что работает (на данный момент у него есть только ссылка Google, но даже это не появляется).

У кого-нибудь есть идеи? Опять же, боковая панель должна создаваться динамически (она уже есть).

+0

Вы можете создавать динамический контент с помощью HTML. Вам нужно использовать 'google.script.run', чтобы написать что-то с боковой панели на листе. Ссылка на документацию Google (https://developers.google.com/apps-script/guides/html/reference/run) –

ответ

0

Управление им с помощью переключателей. Теперь проблема только в получении параметров.

//build the sidebar 
    var UIInstance=UiApp.createApplication() 
     .setTitle('Please choose Plant below:') 
     .setWidth(250); 
    //get the values over 
    var MaxRow=250; 
    var LookIn=0; 
    var L1; var L2; var L3; 
    for(LookIn=1;LookIn<MaxRow;LookIn++) 
    { 
    L1=sheet.getRange("AB" + LookIn); 
    L2=sheet.getRange("AC" + LookIn); 
    L3=sheet.getRange("AD" + LookIn); 
    if(L1.getValues()!=""){UIInstance.add(UIInstance.createLabel("_")); UIInstance.add(UIInstance.createHTML("<b>" + L1.getValues() + "</b>"));} 
    if(L2.getValues()!=""){UIInstance.add(UIInstance.createHTML("<b> > > " + L2.getValues() + "</b>"));} 
    if(L3.getValues()!="") 
    { 
     var RadioHandler=UIInstance.createServerChangeHandler('radioButtonsChange'); 
     UIInstance.add(UIInstance.createRadioButton("MyButton").setId(L3.getValues).setText(L3.getValues()).addClickHandler(RadioHandler)); 
     UIInstance.add(UIInstance.createLabel("")); 
    } 
    } 
    //add the sidebar 
    SpreadsheetApp.getUi() 
     .showSidebar(UIInstance); 
} 
Смежные вопросы