繁体   English   中英

我认为我在Google Apps脚本代码中有错误

[英]I think I have an error in Google Apps Script code

我正在使用Google表格,并试图创建一个菜单来允许我运行几种脚本的选择,但我做错了事,但不确定什么,有人可以读一遍,让我知道看起来是什么吗?错误? 提前致谢。

function onOpen() {
 var menu = DocumentApp.getUi().createMenu('Menu');
 menu.addItem('Compare sheets', 'compare');
 menu.addItem('Clear Formats', 'clear');
 menu.addToUi();
}

function compare() {
    var ss = SpreadsheetApp.getActive(),
        master = ss.getSheetByName('NewData'),
        newData = ss.getSheetByName('Master'),
        dif = ss.getSheetByName('Comparison'),
        rows = 500,
        columns = 52,
        bg = [],
        dateCols = [14, 24, 29, 36, 37],
        masterDataRange = master.getRange(1, 1, rows, columns),
        masterValues = masterDataRange.getValues(),
        newDataValues = newData.getRange(1, 1, rows, columns)
            .getValues();
    dif.getDataRange()
        .clear()
        .setBackground('White');
    for (var i = 0, rl = masterValues.length; i < rl; i++) {
        var r = [];
        for (var j = 0, cl = masterValues[0].length; j < cl; j++) {
            if (dateCols.indexOf(j) > -1 && i > 1) {
                if (masterValues[i][j] ) masterValues[i][j] = Utilities.formatDate(new Date(masterValues[i][j]), Session.getScriptTimeZone(), "MM/dd/yyyy HH:mm");
                if (newDataValues[i][j] ) newDataValues[i][j] = Utilities.formatDate(new Date(newDataValues[i][j]), Session.getScriptTimeZone(), "MM/dd/yyyy HH:mm");              
            }
            r.push(i < 2 ? "white" : masterValues[i][j] !== newDataValues[i][j] ? "green" : "white");
            }
         bg.push(r);
        }
    dif.getRange(1, 1, masterValues.length, masterValues[0].length)
        .setValues(masterValues)
        .setBackgrounds(bg);
}

function clear(){
 var ss = SpreadsheetApp.getActiveSpreadsheet();
 var first = ss.getSheetByName("Master");
 first.clearFormats();
 }

您正在电子表格中使用DocumentApp ,而应使用SpreadsheetApp

代码:

function onOpen() {
 var menu = SpreadsheetApp.getUi().createMenu('Menu');
 menu.addItem('Compare sheets', 'compare');
 menu.addItem('Clear Formats', 'clear');
 menu.addToUi();
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM