2016-09-28 91 views
1

我试图在单击自定义菜单项时将Google表格单元格中的数字加1。但电子表格中的结果是#NUM!或1范围。我已经尝试了许多不同的方法,如我的代码中的注释所示。通过应用脚本将Google表格单元格增加1

请注意,数字存储为一个自定义数字格式,以便它有4个前导零,如:00001

function onOpen() { 
    var ui = SpreadsheetApp.getUi(); 
    // Or DocumentApp or FormApp. 
    ui.createMenu('OrderNumber') 
     .addItem('Generate next order number', 'menuItem1') 
     .addToUi(); 
} 

function menuItem1() { 
    SpreadsheetApp.getUi() // Or DocumentApp or FormApp. 
    var ss = SpreadsheetApp.getActiveSpreadsheet(); 
    var sheet = ss.getSheets()[0]; 

    var range = sheet.getRange("N11"); 

    range = 1 + +range; 
    // For the previous line, I've also tried: range = 1 + parseInt(range) 
    // For the previous line, I've also tried: range = 1 + Number(range) 

    SpreadsheetApp.getActiveSheet().getRange('N11').setValue(range); 
} 

仿佛它只是将其设置为一个数字它显示在电子表格正确测试,例如:

range = 5 
SpreadsheetApp.getActiveSheet().getRange('N11').setValue(range); 

任何帮助,将不胜感激。谢谢。

回答

0

Range是含有大量的信息的对象:值,而且还格式化,数据验证,字体大小等

需要调用getValue()range第一提取数:

var range = sheet.getRange("N11").getValue(); 
相关问题