2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Excel VBAをJavaScriptに翻訳 その2

Last updated at Posted at 2018-12-18

はじめに

前回では、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のfsVBToJS.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」の翻訳を実行してみました。
Translator.png

まとめ

Jsonファイルに定義したVBのワードをJavaScriptで定義するワードへ翻訳(変換)するコードを書いてみました。
まだ単語レベルの翻訳機です、センテンス、つまり文法的な翻訳機ではありません。
次回は、今回Jsonに追加した関数のJavaScriptをコーディングしてみます。

2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?