mirror of
https://github.com/gnh1201/welsonjs.git
synced 2024-11-26 07:21:43 +00:00
msoffice #93
This commit is contained in:
parent
92dedd182e
commit
f6d756f92b
59
data/test-msoffice-20231219.json
Normal file
59
data/test-msoffice-20231219.json
Normal file
|
@ -0,0 +1,59 @@
|
||||||
|
{
|
||||||
|
"description": "WelsonJS test profile for Microsoft Office",
|
||||||
|
"date": "2023-12-19",
|
||||||
|
"revision": "20231219r1",
|
||||||
|
"authors": [
|
||||||
|
"Namhyeon Go <gnh1201@gmail.com>"
|
||||||
|
],
|
||||||
|
"links": [
|
||||||
|
"https://github.com/gnh1201/welsonjs",
|
||||||
|
"https://catswords.social/@catswords_oss"
|
||||||
|
],
|
||||||
|
"tags": [
|
||||||
|
"javascript",
|
||||||
|
"microsoft",
|
||||||
|
"coffeescript",
|
||||||
|
"windows",
|
||||||
|
"typescript",
|
||||||
|
"html5",
|
||||||
|
"js",
|
||||||
|
"uri",
|
||||||
|
"desktop",
|
||||||
|
"ie",
|
||||||
|
"hta",
|
||||||
|
"es5",
|
||||||
|
"jscript",
|
||||||
|
"wsh",
|
||||||
|
"msoffice",
|
||||||
|
"mshtml",
|
||||||
|
"lolbins",
|
||||||
|
"lolbas",
|
||||||
|
"rescript",
|
||||||
|
"mshta"
|
||||||
|
],
|
||||||
|
"schema": {
|
||||||
|
"version": "0.1"
|
||||||
|
},
|
||||||
|
"tests": [
|
||||||
|
{
|
||||||
|
"id": "open_excel_file",
|
||||||
|
"description": "마이크로소프트 엑셀 파일 열기 및 편집 가능 여부 확인",
|
||||||
|
"tags": ["Office", "Excel"]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "open_excel_with_chatgpt",
|
||||||
|
"description": "마이크로소프트 엑셀 파일 열기 및 ChatGPT를 이용한 편집 가능 여부 확인",
|
||||||
|
"tags": ["Office", "Excel"]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "open_powerpoint_file",
|
||||||
|
"description": "마이크로소프트 파워포인트 파일 열기 및 편집 가능 여부 확인",
|
||||||
|
"tags": ["Office", "PowerPoint"]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "open_word_file",
|
||||||
|
"description": "마이크로소프트 워드 파일 열기 및 편집 가능 여부 확인",
|
||||||
|
"tags": ["Office", "Word"]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
|
@ -7,12 +7,13 @@ var ChatGPT = require("lib/chatgpt");
|
||||||
|
|
||||||
function main(args) {
|
function main(args) {
|
||||||
// EXAMPLE: cscript app.js officeloader <data\example.xlsx> <programfile>
|
// EXAMPLE: cscript app.js officeloader <data\example.xlsx> <programfile>
|
||||||
|
// TEST: cscript app.js testloader open_excel_file data\test-msoffice-20231219.json
|
||||||
if (args.length > 0) {
|
if (args.length > 0) {
|
||||||
var filename = args[0];
|
var filename = args[0];
|
||||||
var programfile = args[1];
|
var programfile = args[1];
|
||||||
open(filename, programfile);
|
open(filename, programfile);
|
||||||
} else {
|
} else {
|
||||||
test();
|
console.error("Insufficient arguments");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -77,32 +78,4 @@ function open(filename, programfile) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function test() {
|
|
||||||
// 엑셀 인스턴스 생성
|
|
||||||
var excel = new Office.Excel();
|
|
||||||
|
|
||||||
// 질문 목록
|
|
||||||
var questions = [
|
|
||||||
"엄마가 좋아 아빠가 좋아?",
|
|
||||||
"나도 모르는 사이 내 통장에 100억이 입금되어 있다면?",
|
|
||||||
"내 친구가 술에 취해 뻗었는데 신민아가 단둘이 술 먹자고 한다면, 친구 버리고 가도 되나?",
|
|
||||||
"회사 야유회를 가서 과장님과 같은 텐트에서 자고 있는데 우리 텐트에 뱀이 들어왔다면 과장님 깨워야 되나, 안 깨우고 혼자 도망쳐야 되나?"
|
|
||||||
];
|
|
||||||
|
|
||||||
// 엑셀 열기
|
|
||||||
excel.open();
|
|
||||||
|
|
||||||
// 질문에 답하기
|
|
||||||
var i = 1;
|
|
||||||
questions.forEach(function(x) {
|
|
||||||
var answer = ChatGPT.chat(x);
|
|
||||||
console.log("받은 답변:", answer);
|
|
||||||
excel.getCellByPosition(i, 1).setValue(answer);
|
|
||||||
i++;
|
|
||||||
});
|
|
||||||
|
|
||||||
// 엑셀 닫기
|
|
||||||
//excel.close();
|
|
||||||
}
|
|
||||||
|
|
||||||
exports.main = main;
|
exports.main = main;
|
||||||
|
|
|
@ -1,3 +1,6 @@
|
||||||
|
// shoutcut.js
|
||||||
|
// Namhyeon Go <abuse@catswords.net>
|
||||||
|
// https://github.com/gnh1201/welsonjs
|
||||||
var SHELL = require("lib/shell");
|
var SHELL = require("lib/shell");
|
||||||
var SYS = require("lib/system");
|
var SYS = require("lib/system");
|
||||||
|
|
||||||
|
|
|
@ -1,11 +1,10 @@
|
||||||
// testloader.js
|
// testloader.js
|
||||||
|
// Namhyeon Go <abuse@catswords.net>
|
||||||
|
// https://github.com/gnh1201/welsonjs
|
||||||
|
|
||||||
// load libraries
|
// load libraries
|
||||||
var FILE = require("lib/file");
|
var FILE = require("lib/file");
|
||||||
|
|
||||||
// load the test profile
|
|
||||||
var profile = JSON.parse(FILE.readFile("data/test-oss-20231030.json", FILE.CdoCharset.CdoUTF_8));
|
|
||||||
|
|
||||||
// implement the tests
|
// implement the tests
|
||||||
var test_implements = {
|
var test_implements = {
|
||||||
// Ref 1: https://gist.github.com/CityRay/c56e4fa874af9370cc1a367bd43095b0
|
// Ref 1: https://gist.github.com/CityRay/c56e4fa874af9370cc1a367bd43095b0
|
||||||
|
@ -788,13 +787,70 @@ var test_implements = {
|
||||||
.field("GROUP_CONCAT(DISTINCT test_score ORDER BY test_score DESC SEPARATOR ' ')")
|
.field("GROUP_CONCAT(DISTINCT test_score ORDER BY test_score DESC SEPARATOR ' ')")
|
||||||
.group("name")
|
.group("name")
|
||||||
.toString());
|
.toString());
|
||||||
|
},
|
||||||
|
|
||||||
|
// profile: data/test-msoffice-20231219.json
|
||||||
|
"open_excel_file": function() {
|
||||||
|
var Office = require("lib/msoffice");
|
||||||
|
var excel = new Office.Excel(); // Create an Excel instance
|
||||||
|
excel.open("data\example.xlsx"); // Open the Excel window
|
||||||
|
},
|
||||||
|
|
||||||
|
"open_excel_with_chatgpt": function() {
|
||||||
|
// Load libraries
|
||||||
|
var Office = require("lib/msoffice");
|
||||||
|
var ChatGPT = require("lib/chatgpt");
|
||||||
|
|
||||||
|
// Create an Excel instance
|
||||||
|
var excel = new Office.Excel();
|
||||||
|
|
||||||
|
// List of questions
|
||||||
|
var questions = [
|
||||||
|
"Which one does Mom like, and which one does Dad like?",
|
||||||
|
"If 100 billion won is deposited into my bank account without my knowledge, what would I do?",
|
||||||
|
"If my friend passed out from drinking, and Arnold Schwarzenegger suggests having a drink together alone, is it okay to ditch my friend and go with him?",
|
||||||
|
"If there's a snake in our tent during the company camping trip, should I wake up the manager, or should I escape on my own without waking him up?"
|
||||||
|
];
|
||||||
|
|
||||||
|
// Open the Excel window
|
||||||
|
excel.open();
|
||||||
|
|
||||||
|
// Answer to questions
|
||||||
|
var i = 1;
|
||||||
|
questions.forEach(function(x) {
|
||||||
|
var answer = ChatGPT.chat(x);
|
||||||
|
console.log("Answer:", answer);
|
||||||
|
excel.getCellByPosition(i, 1).setValue(answer);
|
||||||
|
i++;
|
||||||
|
});
|
||||||
|
|
||||||
|
// Close the Excel window
|
||||||
|
//excel.close();
|
||||||
|
},
|
||||||
|
|
||||||
|
"open_powerpoint_file": function() {
|
||||||
|
var Office = require("lib/msoffice"); // Load libraries
|
||||||
|
var powerpoint = new Office.PowerPoint(); // Create a PowerPoint instance
|
||||||
|
powerpoint.open("data\example.pptx"); // Open the PowerPoint window
|
||||||
|
},
|
||||||
|
|
||||||
|
"open_word_file": function() {
|
||||||
|
var Office = require("lib/msoffice"); // Load libraries
|
||||||
|
var word = new Office.Word(); // Create an Word instance
|
||||||
|
word.open("data\example.docx"); // Open the Word window
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
function main(args) {
|
function main(args) {
|
||||||
|
// EXAMPLE: cscript app.js testloader <es5_polyfills> <data\test-oss-20231030.json>
|
||||||
if (args.length > 0) {
|
if (args.length > 0) {
|
||||||
var test_id = args[0];
|
var test_id = args[0];
|
||||||
|
var profilefile = args[1];
|
||||||
|
|
||||||
|
// load the test profile
|
||||||
|
var profile = JSON.parse(FILE.readFile(profilefile, FILE.CdoCharset.CdoUTF_8));
|
||||||
|
|
||||||
|
// do test
|
||||||
if (test_id in test_implements) {
|
if (test_id in test_implements) {
|
||||||
var test = profile.tests.find(function(x) {
|
var test = profile.tests.find(function(x) {
|
||||||
return (x.id == test_id);
|
return (x.id == test_id);
|
||||||
|
|
Loading…
Reference in New Issue
Block a user