はじめに
前回では、VBAをJavaScriptに翻訳する基本ロジックを考えました。
今回は、VBAからJavaScriptへ翻訳するための簡単な翻訳機を作ってみます。
一応プロジェクト名を仮称「tom」を付けてみました。
この名前の付いたJavascriptで翻訳機を作成します。
前提
- OS : Windows7以上
- PoweShellのターミナルで実行
- VSCodeでコード編集
- node.js環境構築済み
VBToJS.json
前回のファイルをもとに修正ならびにワードを追加しました。
{
"Debug.Print":"f.Print",
"MsgBox":"f.MsgBox",
"Date":"f.Date"
}
tomfnc.js
nodeのfsでVBToJS.jsonを読込、JSON.parseでパースします。
引数 s でパースしたwordを検索した結果を返却します。
var VBToJSJson = './VBToJS.json';
function Translator(s) {
var fs = require('fs');
var data = fs.readFileSync(VBToJSJson,'utf-8');
var words = JSON.parse(data);
return words[s];
}
module.exports.Translator = Translator;
tom.js
翻訳機のメインJavaScriptになります。
第2引数の値に翻訳対象のワードを引数として指定します。
指定しない場合、「引数を指定してください!」とエラーメッセージで終了します。
tomfnc.jsで定義したTranslatorに引数を渡し、VBToJS.jsonを検索して一致する場合、翻訳結果をコンソールに出力します。
一致しない場合「undefined」を出力します。
if( process.argv[2] == undefined) {
console.log( '引数を指定してください!' );
return;
};
var f = require('./tomfnc.js');
var ret = f.Translator(process.argv[2]);
console.log(ret);
実行
「MsgBox」「Date」「Debug.Print」の翻訳を実行してみました。
まとめ
Jsonファイルに定義したVBのワードをJavaScriptで定義するワードへ翻訳(変換)するコードを書いてみました。
まだ単語レベルの翻訳機です、センテンス、つまり文法的な翻訳機ではありません。
次回は、今回Jsonに追加した関数のJavaScriptをコーディングしてみます。