Script for Excel on the web tương tự Google Spead

Liên hệ QC

toanqlcn

Thành viên mới
Tham gia
24/2/08
Bài viết
22
Được thích
17
Giới tính
Nam
Lot của linh kiện ở cột A, viết thử tục tìm ngày sản xuất ở cột B
Ngày sản xuất trong LOT là GXX##YMDD#
Y 1 ký tự cuổi của năm
M tháng 1 ký tự, X=10, Y=11, Z=12
Ngày sản xuất không được lơn hơn ngày hiện tại.
1627634447050.png

Code được viết trên Excel 365 on the web
JavaScript:
function main(workbook: ExcelScript.Workbook) {
  let selectedSheet = workbook.getActiveWorksheet();
  var i = 2; //Begin row
  var TTSX="";
  let dc = selectedSheet.getUsedRange().getRowCount(); //Last row
  while (i <= dc) {
    TTSX = ProductionDate(selectedSheet.getRange("A" + i).getValue());
    selectedSheet.getRange("B" + i).setValues(TTSX);
    i++;
  }
}
//Ham tu tao
public function ProductionDate(Lot: string) {
  var nam = "";
  var thang = "";
  var ngay = "";
  var d = new Date();
  var n = (d.getFullYear() - d.getFullYear() % 10) / 10;
  nam = n + Lot.slice(5, 6);
  if (nam - d.getFullYear() > 0) {
    nam = nam - 10;
  }
  thang = Lot.slice(6, 7);
  switch (thang) {
    case "X": {
      thang = "10";
      break;
    }
    case "Y": {
      thang = "11";
      break;
    }
    case "Z": {
      thang = "12";
      break;
    }
    default: {
      thang = "0" + thang;
    }
  }
  ngay = Lot.slice(7, 9);
  //Check Date
  var ss = new Date(nam + "/" + thang + "/" + ngay);
  if (ss > d) {
    nam = nam - 10;
  }
  return (nam + thang + ngay);
}
 
Không hiểu chuyện gì đang xảy ra. @@
 
Web KT
Back
Top Bottom