{"version":3,"sources":["jsdelivr-header.js","/npm/nadesiko3-office@3.6.16/nadesiko3-office.js"],"names":[],"mappings":"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","file":"/npm/nadesiko3-office@3.6.16/nadesiko3-office.js","sourceRoot":"","sourcesContent":["/**\n * Minified by jsDelivr using Terser v5.39.0.\n * Original file: /npm/nadesiko3-office@3.6.16/nadesiko3-office.js\n *\n * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files\n */\n","/**\n * なでしこ3 プラグイン\n * nadesiko3-office\n * Excelのためのプラグイン\n */\n\nconst Excel = require('exceljs')\nconst Color = require('./colors.js')\nconst Utils = require('./utils.js')\nconst ERR_NO_WORKBOOK = 'Excel関連の命令を使う時は、最初に『EXCEL新規ブック』や『EXCEL開』などでブックを用意してください。'\n\nconst PluginOffice = {\n    'meta': {\n        type: 'const',\n        value: { // プラグインに関する情報を指定する\n            pluginName: 'nadesiko3-office', // プラグインの名前\n            description: 'Excelプラグイン', // プラグインの説明\n            pluginVersion: '3.6.16', // プラグインのバージョン\n            nakoRuntime: ['cnako'], // 対象ランタイム\n            nakoVersion: '3.6.16' // 要求なでしこバージョン\n        }\n    },\n    '初期化': {\n        type: 'func',\n        josi: [],\n        fn: function (sys) {\n            // ここにプラグインの初期化処理\n            sys.__setSysVar('OFFICEバージョン', '3.6.16')\n            // Excelのインスタンス\n            sys.tags.__workbook = null\n            sys.tags.__worksheet = null\n        }\n    },\n\n    // @OFFICE定数\n    'OFFICEバージョン': {type: 'const', value:'?'}, // @OFFICEばーじょん\n\n    // @エクセル(Excel)\n    'エクセル新規ブック': { // @Excelの新規ワークブックを生成してオブジェクトを返す // @えくせるしんきぶっく\n        type: 'func',\n        josi: [],\n        fn: function (sys) {\n            const workbook = new Excel.Workbook()\n            sys.tags.__workbook = workbook\n            sys.tags.__worksheet = workbook.addWorksheet()\n            return workbook\n        }\n    },\n    'エクセル開': { // @ファイルFILEからExcelワークブックを読んで返す // @えくせるひらく\n        type: 'func',\n        josi: [['を', 'の', 'から']],\n        asyncFn: true,\n        fn: async function (file, sys) {\n            const workbook = new Excel.Workbook()\n            sys.tags.__workbook = workbook\n            await workbook.xlsx.readFile(file)\n            if (workbook.worksheets.length > 0) {\n                sys.tags.__worksheet = workbook.worksheets[0]\n            }\n            return workbook\n        }\n    },\n    'エクセル保存': { // @ファイルFILEへ作業中のExcelワークブックを保存する // @えくせるほぞん\n        type: 'func',\n        josi: [['へ', 'に']],\n        asyncFn: true,\n        fn: async function (file, sys) {\n            if (sys.tags.__workbook === null) {\n                throw new Error(ERR_NO_WORKBOOK)\n            }\n            sys.tags.__workbook.xlsx.writeFile(file)\n        },\n        return_none: true\n    },\n    'エクセルCSV保存': { // @ファイルFILEへ作業中のExcelワークブックをCSVで保存する(ただしUTF-8のCSVとなる) // @えくせるCSVほぞん\n        type: 'func',\n        josi: [['へ', 'に']],\n        asyncFn: true,\n        fn: async function (file, sys) {\n            if (sys.tags.__workbook === null) {\n                throw new Error(ERR_NO_WORKBOOK)\n            }\n            sys.tags.__workbook.csv.writeFile(file)\n        },\n        return_none: true\n    },\n    'エクセル新規シート': { // @Excelの作業中のワークブックに新規シートNAMEを追加して返す // @えくせるしんきしーと\n        type: 'func',\n        josi: [['の', 'で']],\n        fn: function (name, sys) {\n            if (sys.tags.__workbook === null) {\n                sys.__exec('EXCEL新規ブック', [sys])\n            }\n            const sheet = sys.tags.__workbook.addWorksheet(name)\n            sys.tags.__worksheet = sheet\n            return sheet\n        }\n    },\n    'エクセルシート取得': { // @NAMEのシートを取得して返す // @えくせるしーとしゅとく\n        type: 'func',\n        josi: [['の']],\n        fn: function (name, sys) {\n            if (sys.tags.__workbook === null) {\n                throw new Error(ERR_NO_WORKBOOK)\n            }\n            const sheet = sys.tags.__workbook.getWorksheet(name)\n            return sheet\n        }\n    },\n    'エクセルシート注目': { // @NAMEのシートを取得して返す // @えくせるしーとちゅうもく\n        type: 'func',\n        josi: [['の','に','を']],\n        fn: function (name, sys) {\n            if (sys.tags.__workbook === null) {\n                throw new Error(ERR_NO_WORKBOOK)\n            }\n            const sheet = sys.tags.__workbook.getWorksheet(name)\n            sys.tags.__worksheet = sheet\n            return sheet\n        }\n    },\n    'エクセルセル設定': { // @セル(例えば「A1」)へVを設定する // @えくせるせるせってい\n        type: 'func',\n        josi: [['へ','に'],['を']],\n        fn: function (cell, v, sys) {\n            if (sys.tags.__workbook === null) {\n                throw new Error(ERR_NO_WORKBOOK)\n            }\n            const objCell = sys.tags.__worksheet.getCell(cell)\n            if (v.substring(0, 1) === '=') {\n                objCell.value = { formula: v.substring(1) }\n            } else {\n                objCell.value = v\n            }\n        },\n        return_none: true\n    },\n    'エクセル設定': { // @セル(例えば「A1」)へVを設定する // @えくせるせってい\n        type: 'func',\n        josi: [['へ','に'],['を']],\n        fn: function (cell, v, sys) {\n            sys.__exec('エクセルセル設定', [cell, v, sys])\n        },\n        return_none: true\n    },\n    'エクセル一括設定': { // @左上のセル(例えば「A1」)を起点にして、二次元配列変数VALUESを一括設定する // @えくせるいっかつせってい\n        type: 'func',\n        josi: [['へ','に'],['を']],\n        fn: function (cell, values, sys) {\n            if (sys.tags.__workbook === null) {\n                throw new Error(ERR_NO_WORKBOOK)\n            }\n            // LeftTop\n            if (cell.indexOf(':') >= 0) {\n                cell = cell.split(':')[0]\n            }\n            // update\n            const start = Utils.addressToPos(cell)\n            for (let row = 0; row < values.length; row++) {\n                const cells = values[row]\n                let excelRow = sys.tags.__worksheet.getRow(start.row + row)\n                for (let col = 0; col < cells.length; col++) {\n                    const val = cells[col]\n                    excelRow.getCell(start.col + col).value = val\n                }\n                sys.tags.__worksheet.getRow(start.row + row).commit()\n            }\n        },\n        return_none: true\n    },\n    'エクセルセル取得': { // @セル(例えば「A1」)の値を取得して返す // @えくせるせるしゅとく\n        type: 'func',\n        josi: [['から','を','の']],\n        fn: function (cell, sys) {\n            if (sys.tags.__workbook === null) {\n                throw new Error(ERR_NO_WORKBOOK)\n            }\n            const objCell = sys.tags.__worksheet.getCell(cell)\n            return objCell.value\n        }\n    },\n    'エクセル取得': { // @セル(例えば「A1」)の値を取得して返す // @えくせるしゅとく\n        type: 'func',\n        josi: [['から','を','の']],\n        fn: function (cell, sys) {\n            return sys.__exec('エクセルセル取得', [cell, sys])\n        }\n    },\n    'エクセル一括取得': { // @左上のセルC1(例えば「A1」)から右下のC2までの値を取得して二次元配列変数で返す // @えくせるいっかつしゅとく\n        type: 'func',\n        josi: [['から'],['までの', 'まで','の']],\n        fn: function (c1, c2, sys) {\n            if (sys.tags.__workbook === null) {\n                throw new Error(ERR_NO_WORKBOOK)\n            }\n            const result = []\n            const pos1 = Utils.addressToPos(c1)\n            const pos2 = Utils.addressToPos(c2)\n            // console.log(pos1)\n            // console.log(pos2)\n            for (let row = pos1.row; row <= pos2.row; row++) {\n                const cells = []\n                for (let col = pos1.col; col <= pos2.col; col++) {\n                    const v = sys.tags.__worksheet.getRow(row).getCell(col).value\n                    cells.push(v)\n                }\n                result.push(cells)\n            }\n            return result\n        }\n    },\n    'エクセルシート列挙': { // @作業中のブックのシート一覧取得して返す // @えくせるしーとれっきょ\n        type: 'func',\n        josi: [],\n        fn: function (sys) {\n            if (sys.tags.__workbook === null) {\n                throw new Error(ERR_NO_WORKBOOK)\n            }\n            const names = []\n            sys.tags.__workbook.eachSheet(function(sheet, id){\n                names.push(sheet.name)\n            })\n            return names\n        }\n    },\n    'エクセルシート削除': { // @作業中のブックのシートNAMEを削除する // @えくせるしーとさくじょ\n        type: 'func',\n        josi: [['の','を']],\n        fn: function (name, sys) {\n            if (sys.tags.__workbook === null) {\n                throw new Error(ERR_NO_WORKBOOK)\n            }\n            let sheet = sys.tags.__workbook.getWorksheet(name)\n            if (!sheet) { throw new Error(`『EXCELシート削除』でシート『${name}』が見当たりません。`) }\n            sys.tags.__workbook.removeWorksheet(sheet.id)\n        },\n        return_none: true\n    },\n    'エクセルセル幅設定': { // @作業中のシートcol列目の幅をWに設定する // @えくせるせるはばせってい\n        type: 'func',\n        josi: [['を'],['に','へ']],\n        fn: function (col, w, sys) {\n            if (sys.tags.__workbook === null) {\n                throw new Error(ERR_NO_WORKBOOK)\n            }\n            sys.tags.__worksheet.getColumn(col).width = w\n        },\n        return_none: true\n    },\n    'エクセル背景色設定': { // @作業中シートのセルcells(例「A1」「A1:C3」)の背景色をcolorに設定 // @えくせるはいけいしょくせってい\n        type: 'func',\n        josi: [['を'],['に','へ']],\n        fn: function (cells, color, sys) {\n            if (sys.tags.__workbook === null) {\n                throw new Error(ERR_NO_WORKBOOK)\n            }\n            const colorCode = Color.getColor(color)\n            const range = Utils.addressToPosRange(cells)\n            for (let row = range[0].row; row <= range[1].row; row++) {\n                for (let col = range[0].col; col <= range[1].col; col++) {\n                    const cell = sys.tags.__worksheet.getRow(row).getCell(col)\n                    // cell.fill issue exceljs#791\n                    cell.style = JSON.parse(JSON.stringify(cell.style))\n                    // set fill\n                    cell.style.fill = {\n                        type: 'pattern',\n                        pattern: 'solid',\n                        fgColor: { argb: colorCode }\n                    }\n                }\n                sys.tags.__worksheet.getRow(row).commit()\n            }\n        },\n        return_none: true\n    },\n    'エクセル文字色設定': { // @作業中シートのセルcells(例「A1」「A1:C3」)の文字色をcolorに設定 // @えくせるもじいろせってい\n        type: 'func',\n        josi: [['を'],['に','へ']],\n        fn: function (cells, color, sys) {\n            if (sys.tags.__workbook === null) {\n                throw new Error(ERR_NO_WORKBOOK)\n            }\n            const colorCode = Color.getColor(color)\n            const range = Utils.addressToPosRange(cells)\n            for (let row = range[0].row; row <= range[1].row; row++) {\n                for (let col = range[0].col; col <= range[1].col; col++) {\n                    const cell = sys.tags.__worksheet.getRow(row).getCell(col)\n                    cell.style = JSON.parse(JSON.stringify(cell.style))\n                    cell.font = {...cell.font, color: {argb: colorCode}}\n                }\n            }\n        },\n        return_none: true\n    },\n}\n\n// モジュールのエクスポート(必ず必要)\n// scriptタグで取り込んだ時、自動で登録する\nif (typeof (navigator) === 'object' && typeof (navigator.nako3) === 'object') {\n    navigator.nako3.addPluginObject('PluginOffice', PluginOffice)\n} else {\n    module.exports = PluginOffice\n}\n\n\n"]}