簡體   English   中英

使用Google Apps腳本自動生成Google表格的參考號

[英]Generate Reference Number to Google Sheets automatically using Google Apps Script

每當嘗試從Google Form自動插入新數據時,我都試圖生成一個參考號。 我想將格式生成為TMS180001,直到最大可能的參考號為TMS189999。 我無法弄清楚如何將值/字符串格式化為0001而不是1,當我在代碼下運行時什么也沒發生。

function onFormSubmit(e) {
var Time = e.values [0]; //column 1 timestamp
var TMSrefnum = [10]; //column 1 till 9 are other information while 
                      //column 10 is the reference number

if (Time = true); //if timestamp has value then add reference
                  //number to column 11
var i = 1 ; i < 9999 ; i++;
TMSrefnum = "TMS18" + toString(i);
}

請參閱以下問題的答案: 如何在JavaScript中輸出帶前導零的整數

您需要在onFormSubmit()函數之外創建一個額外的函數(或包括Polyfill )。

function pad(num, size) {
  var s = num+"";
  while (s.length < size) s = "0" + s;
  return s;
}

那你會打電話

TMSrefnum = "TMS18" + pad(currentEntryNumber, 4);

零填充

對於零填充,請使用自己的函數,例如

Number.prototype.pad = function(size) {
    var s = String(this);
    while (s.length < (size || 2)) {s = "0" + s;}
    return s;
}


(9).pad();  //returns "09"

(7).pad(3);  //returns "007"

這將允許您在腳本中的任何Number上執行.pad()方法。


或編寫如下所示的方法:

function pad(num, size) {
    var s = "000000000" + num;
    return s.substr(s.length-size);
}


pad(98);   // returns "000000098"

資料來源:

我設法從下面的代碼中產生參考號。

var sheet1 = ss.getSheets()[0];

function pad(num, size) {
var s = num + "";
while (s.length < size) s = "0" + s;
return s;
}  

var valuerange = sheet1.getRange("A1:A").getValues();
var lastrownumber = valuerange.filter(String).length-1;
var TMSNUM = "TMS18" + pad(lastrownumber, 4);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2025 STACKOOM.COM