Google脚本 - 在每次导出时向单元格添加1

时间:2017-07-17 14:26:26

标签: google-sheets

我正在寻找一种在Google表格上创建自动编号的方法。可能很简单,但我不太了解剧本......

过程将是每次用户下载工作表时,A1中的数字会增加一个。

1 个答案:

答案 0 :(得分:0)

使用otOInkInit在PropertiesService中设置初始值。然后你可以将loadSerial放入你的下载脚本中。

function onOpen(e)
{
  SpreadsheetApp.getUi().createMenu('My Tools')
    .addItem('otOInk','otOInk')
    .addItem('otOInkInit', 'otOInkInit')
    .addItem('loadSerial', 'loadSerial')
    .addToUi();
}

//provides an otOInk number and increments to the next one 
function otOInk() 
{
  var num=PropertiesService.getScriptProperties().getProperty('otOInk');
  if(num)
  {
    PropertiesService.getScriptProperties().setProperty('otOInk',Number(num)+1);
    return num;
  }
}
//use to setup the otOInk property in the PropertiesService
function otOInkInit(initialValue)
{
  var initialValue=(typeof(initialValue)!='undefined')?initialValue:0;
  PropertiesService.getScriptProperties().setProperty('otOInk',initialValue);
}
//loads the otOInk number into a cell of a named sheet
function loadSerial(cellA1Notation,sheetName)
{
  var cellA1Notation=(typeof(cellA1Notation)!='undefined')?cellA1Notation:'A1';
  var sheetName=(typeof(sheetName)!='undefined')?sheetName:'Sheet1';
  var ss=SpreadsheetApp.getActiveSpreadsheet();
  var sht=ss.getSheetByName(sheetName);
  var cell=sht.getRange(cellA1Notation);
  cell.setValue(otOInk());
}