2010-12-04 88 views
0

我的腳本位於谷歌電子表格文檔中 這是我的腳本:Javascript。展開一串數字

ss = SpreadsheetApp.getActiveSpreadsheet();

function onOpen() { 
var ss = SpreadsheetApp.getActiveSpreadsheet(); 
    var menuEntries = [ {name: "10 Rows", functionName: "TenRows"}, 
         {name: "20 Rows", functionName: "TwentyRows"}, 
         {name: "30 Rows", functionName: "ThirtyRows"}, 
         {name: "40 Rows", functionName: "FortyRows"}, 
         {name: "50 Rows", functionName: "FiftyRows"}]      
    ss.addMenu("Insert Rows", menuEntries); 
} 


function TenRows() { 
    SpreadsheetApp.getActiveSheet().insertRowsBefore(2,10); 
} 

function TwentyRows() { 
    SpreadsheetApp.getActiveSheet().insertRowsBefore(2,20); 
} 

function ThirtyRows() { 
    SpreadsheetApp.getActiveSheet().insertRowsBefore(2,30); 
} 

function FortyRows() { 
    SpreadsheetApp.getActiveSheet().insertRowsBefore(2,40); 
} 

function FiftyRows() { 
    SpreadsheetApp.getActiveSheet().insertRowsBefore(2,50); 
} 

在我的電子表格的C列中,每行都有一串數字。

像這樣

C 
7317 
7316 
7315 
7314 
7313 

當我運行我的腳本插入的行數,我怎樣才能使它因此它會自動延續了這一上升數,並將其輸入到C柱?

感謝

回答

1

我顯然不能給你的代碼沒有看到整個事情,但我可以給你如何解決這個問題的建議:

  1. 插入新行之前,保存在新行將被插入之後的行中的數字,例如, lastNumber = parseInt(insertRowColumnC.getValue())確保使用parseInt將字符串轉換成一個數字(!)
  2. 插入新行
  3. 現在遍歷所有從上新插入的行底部
  4. 在你第一次減一lastNumber每一行,然後寫它的價值爲C列在該行

更新

在看看電子表格我花了幾分鐘,又上來後W這段代碼:

function onEdit(e) { 
    var sheet = e.source.getActiveSheet(); 
    var r = e.source.getActiveRange(); 
    if (r.getColumn() == 3 && r.getRow() == 2) { 
    var value = parseInt(r.getValue()); 
    if (!isNaN(value)) { 
     var next = getFirstRowNumber(sheet); 
     if (value > next) { 
     var count = value - next; 
     sheet.insertRowsAfter(2, count); 
     for(var i = 2; i < 2 + count; i++) { 
      sheet.getRange(i + 1, 3).setValue(value); 
      value--; 
     } 
     r.setValue(''); 

     } else { 
     r.setValue(''); 
     Browser.msgBox('You need to enter a greater ID.'); 
     } 
    } else if (r.getValue() !== '') { 
     r.setValue(''); 
     Browser.msgBox('You need to enter a valid ID.'); 
    } 
    } 
} 

你的問題有點不清楚,但這個工作方式是你想要的。

每當有人在2/C中插入一個新ID時,新ID的缺失ID將自動插入3/C中的ID。

+0

伊沃,無論如何,我可以與你分享文件。我不知道我知道如何實現這一點。 – David 2010-12-04 03:52:19