Excel VBAをJavaScriptに翻訳 その2
Excel VBAをJavaScriptに翻訳 その2:
前回では、VBAをJavaScriptに翻訳する基本ロジックを考えました。
今回は、VBAからJavaScriptへ翻訳するための簡単な翻訳機を作ってみます。
一応プロジェクト名を仮称「tom」を付けてみました。
この名前の付いたJavascriptで翻訳機を作成します。
前回のファイルをもとに修正ならびにワードを追加しました。
nodeのfsでVBToJS.jsonを読込、JSON.parseでパーズします。
引数 s でパーズしたwordを検索した結果を返却します。
翻訳機のメインJavaScriptになります。
第2引数の値に翻訳対象のワードを引数として指定します。
指定しない場合、「引数を指定してください!」とエラーメッセージで終了します。
tomfnc.jsで定義したTranslatorに引数を渡し、VBToJS.jsonを検索して一致する場合、翻訳結果をコンソールに出力します。
一致しない場合「undefined」を出力します。
「MsgBox」「Date」「Debug.Print」の翻訳を実行してみました。
Jsonファイルに定義したVBのワードをJvaScriptで定義するワードへ翻訳(変換)するコードを書いてみました。
まだ単語レベルの翻訳機です、センテンス、つまり文法的な翻訳機ではありません。
次回は、今回Jsonに追加した関数のJavaScriptをコーディングしてみます。
はじめに
前回では、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のワードをJvaScriptで定義するワードへ翻訳(変換)するコードを書いてみました。まだ単語レベルの翻訳機です、センテンス、つまり文法的な翻訳機ではありません。
次回は、今回Jsonに追加した関数のJavaScriptをコーディングしてみます。
コメント
コメントを投稿