[英]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.