I have a google spreadsheet with some google script (code.gs) and sidebar with html buttons (index.html) , working with script. Please explain me if it possible how I can make a web app from all this? I want make a web app just for more simple interface on HTML.
code.gs
function goalmod (){ var ss = SpreadsheetApp.getActiveSheet(); var formattedDate = Utilities.formatDate(new Date(),"GMT+5", "dd.MM.YY HH:mm"); var row = ss.getActiveCell().getRow(); var r = ss.getRange(row, 7, 1, 3); var rValues = r.getValues(); r.setValues([["", formattedDate, rValues[0][2] +" / "+rValues[0][0]+" "+rValues[0][1]]]); ss.setActiveRange(ss.getRange(row, 7)); } function technologi (){ var ss = SpreadsheetApp.getActiveSheet(); var row = ss.getActiveCell().getRow(); var cell = ss.getRange(row, 7); cell.setValue('Technologist'); } function economists (){ var ss = SpreadsheetApp.getActiveSheet(); var row = ss.getActiveCell().getRow(); var cell = ss.getRange(row, 7); cell.setValue('Economists'); } function countnum (){ var ss = SpreadsheetApp.getActiveSheet(); var row = ss.getActiveCell().getRow(); var cell = ss.getRange(row, 7); var nomerscheta = ss.getRange(row, 13).getValue(); cell.setValue('Count'+" "+nomerscheta); } function ZPutechnologov (){ var ss = SpreadsheetApp.getActiveSheet(); var row = ss.getActiveCell().getRow(); var cell = ss.getRange(row, 7); var ZPnum = ss.getRange(row, 12).getValue(); cell.setValue('ZP'+" "+ZPnum+'gave to technologist'); } function goal1 () { goalmod(); technologi(); } function goal2 () { goalmod(); economists(); } function goal3 () { goalmod(); countnum(); } function goal0 () { goalmod(); ZPutechnologov(); } function newzakaz() { var sheet = SpreadsheetApp.getActiveSheet(); var lastRow = sheet.getLastRow(); var lastDateCell = sheet.getRange(lastRow+1, 10); var rangeToCopy = sheet.getRange(lastRow, 10); rangeToCopy.copyTo(lastDateCell); var city = sheet.getRange(lastRow+1, 4); var rangeToCopy = sheet.getRange(lastRow, 4); rangeToCopy.copyTo(city); var tel = sheet.getRange(lastRow+1, 5); var rangeToCopy = sheet.getRange(lastRow, 5); rangeToCopy.copyTo(tel); var mail = sheet.getRange(lastRow+1, 6); var rangeToCopy = sheet.getRange(lastRow, 6); rangeToCopy.copyTo(mail); var formattedDate = Utilities.formatDate(new Date(),"GMT+5", "dd.MM.YY HH:mm"); var DateCell = sheet.getRange(lastRow+1, 8); DateCell.setValue(formattedDate); var CreateDate = sheet.getRange(lastRow+1, 18); CreateDate.setValue(formattedDate); var lastNumberCell = sheet.getRange(lastRow+1, 1); var nextnumber = sheet.getRange("B2").getValue(); lastNumberCell.setValue(nextnumber); var FirstCell = sheet.getRange(lastRow+1, 2); sheet.setActiveRange(FirstCell); } function showSidebar() { var html = HtmlService.createHtmlOutputFromFile('index') .setSandboxMode(HtmlService.SandboxMode.IFRAME) .setTitle('My custom sidebar') .setWidth(50); SpreadsheetApp.getUi() // Or DocumentApp or FormApp. .showSidebar(html); } index.html
<style> .but { color: black; border: 0px; position: relative; top: -8px; width: 284px; padding-top: 8px; padding-bottom: 8px; -webkit-transition: 0.8s ease-in-out; } button:hover { cursor: pointer; background-color: rgb(106, 178, 242); } .goal0 { background-color: #FCE5CD; } .goal1 { background-color: #F9CB9C; } .goal2 { background-color: #FFE599; } .goal3 { background-color: #D9EAD3; } .goalmod { background-color: #93C47D; } .newzakaz { background-color: #87D37C; margin-bottom: 15.5px; } </style> <button type="button" class="but newzakaz" onclick="google.script.run.newzakaz()">Новый заказ</button> <button type="button" class="but goal0" onclick="google.script.run.goal0()">ЗП у технологов</button> <button type="button" class="but goal1" onclick="google.script.run.goal1()">Технологи</button> <button type="button" class="but goal2" onclick="google.script.run.goal2()">Экономисты</button> <button type="button" class="but goal3" onclick="google.script.run.goal3()">Счет</button> <button type="button" class="but goalmod" onclick="google.script.run.goalmod()">В историю</button>