2016-09-28 7 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は、多くの情報を含むオブジェクトです。値だけでなく、書式設定、データの検証、フォントサイズなど

あなたが番号を抽出する最初のrangegetValue()を呼び出す必要があります:

var range = sheet.getRange("N11").getValue(); 
関連する問題