对于编码和概念非常新。 这段代码不是我想要的,但是对于示例来说,它已经足够好了。它将增量数字添加到下一个填充的行。
function onFormSubmit(e) {
var sheet = SpreadsheetApp.getActiveSheet();
var row = SpreadsheetApp.getActiveSheet().getLastRow();
sheet.getRange(row,1).setValue(row);
}
此部分添加了一个菜单选项PROCESS,并允许用户在菜单中选择Next Order。而且我想我知道我在命名自定义函数nextOpenOrder以使用next ...
function onOpen(e) {
SpreadsheetApp.getUi()
.createMenu('PROCESS')
.addItem('Next Order', 'nextOpenOrder')
.addToUi();
}
然后这是我的自定义函数,它抛出一个浏览器框,提示用户输入由代码的第一位生成的下一个订单号。
function nextOpenOrder() {
var spreadsheet = SpreadsheetApp.getActive();
var settingsSheet = spreadsheet.getSheetByName('FormResponses3');
settingsSheet.activate();
var selectedRow = Browser.inputBox('Create Parts Order',
'Please enter the Order ID# to use' +
' (for example, "2"):',
Browser.Buttons.OK_CANCEL);
}
但是下一步是抛出html或pdf文档。最终目的是提供一行数据,以便最终用户可以在另一软件中输入零件订单。我已经弄清楚了如何制作一个通用的面板。
function showDialog() {
var html = HtmlService.createHtmlOutputFromFile('INDEX')
.setWidth(400)
.setHeight(300);
SpreadsheetApp.getUi() // Or DocumentApp or SlidesApp or FormApp.
.showModalDialog(html, 'My custom dialog');
}
我的INDEX.html代码:
<!DOCTYPE html>
<html>
<head>
<base target="_top">
</head>
<body>
Hello, World!
</body>
</html>
但是,我似乎无法解决的问题是,这最后的代码不是自己执行的。我可以从脚本页面运行它,它将显示一个带有消息的对话框。但是当我按PROCESS并选择订单#时,不会自动发生。
我敢肯定,这很简单,因为我真的很环保。
有人可以推动我前进吗?