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ファイルの変換をすることが最後に必要となります。


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








0 件のコメント:

コメントを投稿