2016年3月31日木曜日

XMLファイルを作れると、電子申請はラクチン

しばらく ほうっておいた我がブログですが、久しぶりに メンテ部分を覗いてみたら、

こんな ブログでも 結構の方がいらしてるようでして、(あ、2桁もあれば ボクにとっては 結構な数です)コメントされてる方もいましてですね、今さらですが、返事です。

XMLファイルを どう作るかですが、、、、

そりゃあ もしかると 鮮やかな作成ツールなどがどこぞに存在するやもしれませんが、僕は力づくでこんな風にして作っています。

でも、ちょっと「前提」があるか。

(1)テキストファイルを作れること
これは、、エクセルなどから、テキスト保存 するという意味ではありません。
 昔風の記述すれば、
 open "c:¥電子申請¥どこぞの誰さんの離職票データ.txt" for output as #1
  print #1,aaa,bbb,ccc
 close #1
という構文を理解できること。

(2)文字列演算を駆使できること
テキスト文字列は ”  ”(ダブルこーてーション)でくくるという約束があるのだが、テキスト文字列中に ” 自体を含むときの記述を理解できること
あは、 CHR(34) を使えばいいってことですが ここの理解は重要

XMLファイル冒頭は、こんな記述があるのだが、

これを データとして保存するには、先の知識が不可欠となります。
この場合、こう言う書き方となる。
"
ついでながら、この作業は vba上の 検索置換 を利用すると 楽しくできます(^^;)

また、
数百行にわたるコーディングをするわけだが、 ほとんどは、 エクセルの シート上の関数を駆使すると相当程度省力化できる。この時 文字列操作関数を知ってるか否かが重要なポイント。


(3)変数を理解できないといけません。

要するに、
<被保険者名>安倍晋三</被保険者名>

こういうデータを保存することになるのだが、 ここの安倍・・のところを直接修正するんでは
汎用性に欠けますえね。

こういう場合、こうします。

dim 申請対象者名 as string
申請対象者名="安倍晋三"
<被保険者名>申請対象者名</被保険者名>

このようにすると XMLファイルは
<被保険者名>安倍晋三</被保険者名>
と保存されます。

(4)最後ですが、
VBAで作成するファイルは、そのまま XMLファイルとしては 使えないようです。
UTF-8 変換という作業をしなければなりません。
よくしたもので、ネット上には その方法(プログラム)を開示してくれてる方がたくさんらしてます。
数行程度のプログラムです。これを 自分の作ったプログラムに取り入れ、XMLファイルの変換をすることが最後に必要となります。


 ざっと、こんな感じです。








2016年3月30日水曜日

またぞろ・・・・

学生のまねごとみたいなことをやってずいぶんと過ぎた。
4年たつと追い出されるんだそうだ、ありゃりゃ。

そんなわけで、またヒマになり(^^;)、しばらく封印していたPC周りを またいじりはじめた。

マイナンバがらみで温めてきた構想をじ実現すべく とりかかったということだが、
なかなかどうして 骨が折れる。 

構想は単純。
ネット環境が以前に比してよくってきており、わが大切なクライアントさんも 抵抗なくメールなどを
駆使する方々が増えてきた。

これを 利用しない手はないわなあ。

クライアントの手をなるたけ煩わせないようにする。
クライアントさんに不安感(情報漏れ)を抱かせないようにする。

こっち側での省力化も図りたい。

で、 なんとなく、 jinjinさんの 事務所って、素敵、とクライアントの奥様や、クライアントの嫁に行った娘さんに 好ましく思ってもらえる・・・。

もちろん、ITに明るい、や、最近は IOT とか言っるぞ、そんな社長さんにも賛同を得られる・・・

これらを満足させるシステムとして着手したのだ。

1 クライアントさんには、 メーラを使わせない。プログラムを作って配布してしまう。
こうすると、宛先は、sr-jinjin@honyarara.co.jp と固定にするから誤送信がない。
そして なによりも マイナンバを 暗号化して 通信回線に乗っけられる。マイナンバを
生のまま PCに おくこともない。

2 その専用ソフトは エクセルで作成するのがいな。すべてのクライアントさんが ワードとともに標準装備してる。

3 フォーマットを決める(送られてくるデータに規則性を持たせる)ので、こちら側で
受信した際に、自動的に データベースに取り込めることが可能となる。
いわゆるメーラでは不可能なので、独自に受信プログラムを作成する。ネットを徘徊してると
そうした情報がテンコもり。

・・・・・・ということで また 出てきますので、よろしく。