WPS表格加载项续写内容二

书接上回:wps表格加载项续写内容一

main.js文件内容继续


function on_Workbook_SheetChange(Sh,rg){
    locate_end_cell(Sh,rg);
    setinteriorcolor(Target);
}

function locate_end_cell(Sh,rg){
    
    if(wps.PluginStorage.getItem("end_cell_address")){
        let str = String(rg.Address());
    Application.ActiveSheet.Range(str.substring(str.indexOf(":")+1)).Select();
    }    
}

function on_Workbook_SheetSelectionChange(Sh, Target) {

    protect_lastcell_formula(Sh, Target);
    setinteriorcolor(Target);
    
}

function protect_lastcell_formula(Sh, Target) {
    //console.log(Sh.Name);
    //console.log(Target.Rows.Count);

    //当前活动工作表选区改变触发事件,对上一个单元格的值是否包含公式进行判断
    let isprotect = wps.PluginStorage.getItem("protect_cell_formula")
        console.log("isprotect:" + isprotect)
        if (isprotect) {
            let last_cell_address = wps.PluginStorage.getItem("last_cell_address");
            let last_cell_formula = wps.PluginStorage.getItem("last_cell_formula");

            if (last_cell_address != "" && last_cell_formula != "nothing") {
                if (wps.ActiveSheet.Range(last_cell_address).Formula != last_cell_formula) {
                    wps.ActiveSheet.Range(last_cell_address).Formula = last_cell_formula
                }
            }
            //当前活动工作表选区改变触发事件,对当前单元格的值是否包含公式进行判断
            if (Target.Rows.Count == 1 && Target.Columns.Count == 1) {

                if (Target.Formula.indexOf("=") + 1) {
                    wps.PluginStorage.setItem("last_cell_formula", Target.Formula);
                    //console.log("单元格含有公式,存储原值");
                } else {
                    wps.PluginStorage.setItem("last_cell_formula", "nothing");
                    //console.log("单元格不含有公式,可编辑");
                }
                wps.PluginStorage.setItem("last_cell_address", Target.Address());
            }
        } else {
            wps.PluginStorage.setItem("last_cell_formula", "nothing");
            wps.PluginStorage.setItem("last_cell_address", "");
        }

}

function get_button_label(control) {
    var eleId;
    if (typeof control == "object" && arguments.length == 1) { //针对Ribbon的按钮的
        eleId = control.Id;
    } else if (typeof control == "undefined" && arguments.length > 1) { //针对idMso的
        eleId = arguments[1].Id;
    } else if (typeof control == "boolean" && arguments.length > 1) { //针对checkbox的
        eleId = arguments[1].Id;
    } else if (typeof control == "number" && arguments.length > 1) { //针对combox的
        eleId = arguments[2].Id;
    }
    switch (eleId) {
    case "bt_taskpane":
        let tsId = wps.PluginStorage.getItem("taskpaneID");
        if (!tsId) {
            return "打开任务窗格";
        } else {
            return "关闭任务窗格";
        }
        break;
    case "bt_addsumformula":
        return "添加求和公式";
        break;

    default: ;

    }
    return true;
};

function checkbox_onAction(isChecked, control) {
    var eleId;
    if (typeof control == "object" && arguments.length == 1) { //针对Ribbon的按钮的
        eleId = control.Id;
    } else if (typeof control == "undefined" && arguments.length > 1) { //针对idMso的
        eleId = arguments[1].Id;
    } else if (typeof isChecked == "boolean" && arguments.length > 1) { //针对checkbox的
        eleId = arguments[1].Id;
    } else if (typeof control == "number" && arguments.length > 1) { //针对combox的
        eleId = arguments[2].Id;
    }
    switch (eleId) {
        
    case "cBox_protectformula":
        console.log(eleId + " ,isChecked:" + isChecked)
        if (isChecked) {
            wps.PluginStorage.setItem("protect_cell_formula", true);
            //return true;
            
        } else {
            wps.PluginStorage.setItem("protect_cell_formula", false)
            //return true;
        }
        break;
    case "cBox_locate_cell":
        if (isChecked) {
        wps.PluginStorage.setItem("end_cell_address", true);
        } else {
        wps.PluginStorage.setItem("end_cell_address", false);
        }

        break;
    case "cBox_AutoSave":
        if (isChecked) {
        wps.PluginStorage.setItem("IsAutoSave", true);
        } else {
        wps.PluginStorage.setItem("IsAutoSave", false);
        }
        break;
    case "cBox_rowinterior":
        if (isChecked) {
        wps.PluginStorage.setItem("cBox_rowinterior", true);
        } else {
        wps.PluginStorage.setItem("cBox_rowinterior", false);
        }
        break;
    case "cBox_columninterior":
        if (isChecked) {
        wps.PluginStorage.setItem("cBox_columninterior", true);
        } else {
        wps.PluginStorage.setItem("cBox_columninterior", false);
        }
        break;        
    default: ;
    }
    //wps.ribbonUI.Invalidate(); //刷新Ribbon的状态
    return true;
}
黑龙江省
浏览 53
收藏
点赞
分享
+1
+1
全部评论