2016-12-18; LINUX用のシェルスクリプトを作りました:最後の方にあります。
と言うわけでEXCELを使ってチェックサムを日立フォーマットからモトローラーフォーマットに変更するプログラムを作ります。
(61:チェックサムを変更するプログラムを作る からの続き)
出来上がったプログラムを載せますが、その前にEXCELの設定があるので、
まず、開発メニューを表示するようにする。
蛇足:私はマイクロソフトのポリシーについていけません。
1:OFFICEが2007以降メニューからリボンに変更になった。メニューで問題なかったのに何で変更する。私みたいにメニューに慣れた者はこの変更には閉口している。
2:今回の開発メニューがデフォルトで表示されない。あまりメニューが多くなると見難くなるためと思われるが、たった一つ増えただけで、そんなに見難くなるとは思えない。
まあ、愚痴はこの位で早速変更をしていきます。
まず、ファイル → オプションと進み、表示されたウィンドウ(画像1)でリボンのユーザー設定(左ペイン)をクリックし、右ペインの右側、リボンのユーザー設定を メインタブ にし、下に表示されている開発にチェックをいれ、OKをクリック(画像1の赤線を参考)、するとメニューに"開発"(画像2)が表示されるようになります。
これで、開発をクリックすると一番左に Visual Basis が表示されます。
ここからが本題です。まずC38Hで作成した.MOTファイルを開きますが、デフォルトでは.motファイルは表示されないので、開くクリックし、表示されたウィンドウの右下のほうにすべてのEXCELファイル見たいな表示が(前回の種類を記憶しているので違う場合もあり)ある右の▼をクリックすると すべてのファイル(*.*) がありますので、それをクリックすると.MOTファイルも表示されますので、ダブルクリック、するとウィンドウが開き(画像3)ますので、赤線のように Windows(ANSI) を選んで、完了をクリック(次でなくてよい)どうせASCII文字しかないのでデフォルトの 932:日本語シフトJIS でもいいのですが。
ここで保存をしてあった、Visual Basic のプログラムをインポートします。(プログラムは終わりの方にリンクがある)
メニューの開発をクリックすると一番左にVisual Basis がありますので、それをクリック、するとウィンドウが開きますので(画像4)ファイル → ファイルのインポートをクリックし、保存してあったVBのプログラムをダブルクリックし、開きます。すると画像5のように標準モジュールの下にmodule1ができます。これをダブるクリックするとVBのプログラムが表示されます。プログラム部分を見ると判ると思いますが、このマクロは ctrl + a に登録されていますので、エクセルに戻り、ctrl + a を押すと自動的にチェックサムを書き換えますので、上書き保存してください。その際ワーニングが出ますが無視して はい(Y) をクリックしてください。これでチェックサムがモトローラーフォーマットになってものが保存されていますので、この.MOT ファイルをロードすればOKです。
Visual Basicのプログラムはここをクリックして下さい。メイン・メニューのダウンロードからも出来ます。ブラウザによっては直接テキストファイルが表示されますが、全コピーし、Module1.basとして保存して下さい。もっとも何行もないプログラムなので、打ち込んだほうが早いかも!!
マクロが実行できない時:
ファイル → オプションと進み、表示されたウィンドウ(画像6)と進みセキュリティー センターをクリック、右側のセキュリティーセンターの設定をクリックすると画像7が表示されますので、マクロの設定をクリックすると画像7のように右側にマクロの設定が表示されますので、警告を表示してすべてのマクロを有効にするにチェックを入れ、OKとOKとクリックし、EXCELの戻ってください。今後はマクロの入った表を開く時には警告が表示されますので、コンテンツを有効にするをクリックしてください。(2回目からは表示が出なくなり、マクロが有効になります。
もちろん、信頼できる物だけですよ。
2016-12-18; LINUX用のシェルスクリプトを作りました:
LINUXが使える人はこちらの方が便利(EXCEL(有料ソフト)が必要ない)。注意点:
ダウンロードしたシェルスクリプトを適当なディレクトリーに保存し、同じ所に日立フォーマットの .MOT ファイルを置いてください(LINUXは大文字と小文字を区別しますが、.motファイルでもOKです)。そしてダウンロードしたファイルに実行権限を与えます。
$ chmod 700 chgsum.sh
その後
$ ./chgsum.sh 日立フォーマットの.MOTファイル名
とすると、画面に出力を表示しながら、同じディレクトリーに new.MOT というファイルを作成します。この際必ず、同じディレクトリーには new.MOT ファイルが存在しないようにしてください。さもないと現存のファイルに追記する形で作ってしまいます。
LINUX用のシェルスクリプトはここをクリックして下さい。(ダウンロードからも出来ます)
蛇足:Windows、エクセルのビジュアルベイシック(VB)用の説明とLinuxのシェルスクリプトの説明の長さの違いがこんなにある。これはEXCELがデフォルトでマクロ(VB)関係が表示されない(VBを使ったウィルス保護の為?)が原因だが、LINUXではダウンロードしたファイルは基本的に実行出来ない(ディレクトリーの設定によるが)ので万が一変なプログラムが知らない内にダウンロードされても、実行出来ないので比較的安全。ウィンドウでVBを使おうとすると設定が多すぎる(仕方ないか?)LINUXでは実行権限を与えるだけだ。