这是我的测试兔子表:https://docs.google.com/spreadsheets/d/151h1XjB98NOBnO0otNaql3ASjK84CccZZ399dX4BMBM/edit?usp=sharing
我想要完成的任务:
用户提交销售订单
a)销售订单信息写入' OrderKey'片 b)标题信息(日期,公司,采购订单,销售订单,联系人,电子邮件,电话,评论,发货人,帐户)重复输入到表单中的每个产品系列项目到订单键'片
遇到麻烦,想弄清楚如何去做。
我现在已经创建了一个' kludge'表格以公式方式复制来自&sale;' salesOrder'的实时信息。片。
我把它命名为kludge因为它不是解决我问题的优雅方式,而不是我希望解决它。
无论如何,' kludge'由于附加了NULL DATA,方法无法正常工作...所以如何只复制非空数据呢?
function onOpen() {
var ui = SpreadsheetApp.getUi();
// Or DocumentApp or FormApp.
ui.createMenu('Custom Menu')
.addItem('Submit Sales Order', 'menuItem1')
.addToUi();
}
function menuItem1() {
var ss = SpreadsheetApp.getActive();
var sheet = ss.getSheetByName("kludge");
var sourceInfo = sheet.getRange("A:N65");
var targetInfo = ss.getSheetByName("OrderKey");
var values = sourceInfo.getValues();
targetInfo.appendRow(values[0]);
sheet.getRange('B4:B5').clearContent();
sheet.getRange('B8').clearContent();
sheet.getRange('G6:G8').clearContent();
sheet.getRange('F10:G10').clearContent();
sheet.getRange('A13:B76').clearContent();
sheet.getRange('J13:J76').clearContent();
var cell = activeSheet.getRange("I1");
var cellValue = cell.getValue();
cell.setValue(cellValue + 1);
}
答案 0 :(得分:1)
这是之前(在kludge之前)版本的快速解决方案,不确定这是最好的方式,
var ss = SpreadsheetApp.getActive();
var sheet = ss.getSheetByName("salesOrder");
var val1 = sheet.getRange("G3").getValue();
var val2 = sheet.getRange("B5").getValue();
var val3 = sheet.getRange("G5:G8").getValues();
var val4 = sheet.getRange("B8").getValue();
var val5 = sheet.getRange("F10").getValue();
var val6 = sheet.getRange("G10").getValue();
var targetInfo = ss.getSheetByName("OrderKey");
targetInfo .appendRow([val1,val2,val3[0][0],val3[1][0],val3[2][0],val3[3][0],val4,val5,val6]);
sheet.getRange('B4:B5').clearContent();
sheet.getRange('B8').clearContent();
sheet.getRange('G6:G8').clearContent();
sheet.getRange('F10:G10').clearContent();
sheet.getRange('A13:B76').clearContent();
sheet.getRange('J13:J76').clearContent();
var cell = activeSheet.getRange("I1");
var cellValue = cell.getValue();
cell.setValue(cellValue + 1);
答案 1 :(得分:1)