Google apps script 自动日期脚本
我试图创建一个脚本,自动提前一个日期在电子表格。有没有办法做到这一点 例如,在我们的电子表格中,我们可能有4个不同的日期需要提前一个Google apps script 自动日期脚本,google-apps-script,Google Apps Script,我试图创建一个脚本,自动提前一个日期在电子表格。有没有办法做到这一点 例如,在我们的电子表格中,我们可能有4个不同的日期需要提前一个 2/17/2017 2/14/2017 2/15/2017 2/18/2017. 基本上每次我想运行这个脚本时,我都希望电子表格中的所有日期都提前一天。感谢您的帮助 我用一些财务数据对此进行了测试,结果显示效果不错。它跑得相当快 如果您想要电子表格中的所有日期,那么incrDate的第一行应该是 var rng = SpreadsheetApp.getAc
2/17/2017
2/14/2017
2/15/2017
2/18/2017.
基本上每次我想运行这个脚本时,我都希望电子表格中的所有日期都提前一天。感谢您的帮助 我用一些财务数据对此进行了测试,结果显示效果不错。它跑得相当快 如果您想要电子表格中的所有日期,那么incrDate的第一行应该是
var rng = SpreadsheetApp.getActiveSheet().getDataRange();
我只是回去测试了一下
这是code.gs文件的完整代码,包括菜单。所以你可能想把它弄得更好些
我是个有趣的问题。实际上,最困难的部分是计算isDate函数。
谢谢
函数onOpen(){
var ui=SpreadsheetApp.getUi();
ui.createMenu(“范围工具”)
.addItem('将日期增加一天','incrDate')
.addToUi();
};
函数incrDate()
{
var rng=SpreadsheetApp.getActiveRange();//当前选择
var rngA=rng.getValues();
if(rng.getNumRows()>1&&rng.getNumColumns()>1)//二维数组
{
对于(变量i=0;ifunction onOpen() {
var ui = SpreadsheetApp.getUi();
ui.createMenu('Range Tools')
.addItem('Increment A Date by one day','incrDate')
.addToUi();
};
function incrDate()
{
var rng = SpreadsheetApp.getActiveRange(); // current selection
var rngA = rng.getValues();
if(rng.getNumRows() > 1 && rng.getNumColumns() > 1) // two dimension array
{
for(var i = 0; i < rngA.length; i++)
{
for(var j =0; j < rngA[i].length;j++)
{
if(isDate(rngA[i][j]))
{
rngA[i][j] = new Date(rngA[i][j].getTime() + (1 * 86400000));
}
}
}
}
if(rng.getNumRows() > 1 && rng.getNumColumns() == 1) //single column
{
for(var i = 0; i < rngA.length ; i++)
{
if(isDate(rngA[i][0]))
{
rngA[i][0] = new Date(rngA[i][0].getTime() + (1 * 86400000));
}
}
}
if(rng.getNumRows() == 1 && rng.getNumColumns() > 1)//single row
{
for(var i = 0; i < rngA[0].length ; i++)
{
if(isDate(rngA[0][i]))
{
rngA[0][i] = new Date(rngA[0][i].getTime() + (1 * 86400000));
}
}
}
if(rng.getNumRows() == 1 && rng.getNumColumns() == 1) //single cell
{
if(isDate(rngA[0][0]))
{
rngA[0][0] = new Date(rngA[0][0].getTime() + (1 * 86400000));
}
}
rng.setValues(rngA);
}
function isDate (x)
{
return (null != x) && !isNaN(x) && ("undefined" !== typeof x.getDate);
}