振込依頼出力開発記

これも回想録... のハズでしたが、情勢の変化(料金改定とか)による変更・修正がチョコチョコとあったりするので、そのヘンをメインにしようと思います。つまり、完全に備忘録ですね(^^)。
またヒマがあれば回想部分を追記します(ドキュメント代わりに)。

2003.03.10 境界金額処理問題
●ついにソノ日が
来ましたよ、やっぱし。何かって?今月の支払いで、境界金額処理問題(←勝手に造語^^)が発生したんデスよ。よーするに10,100円の振込で、1万以上の区分で420円引いたら振込金額自体は1万以下になっちゃうってヤツのことデス。
●弥生販売とのズレ
契約してないんでサポートに聞くことができないのだが、弥生販売のアルゴリズムは
  1. 上の区分金額(請求金額に対する手数料金額そのママ)で引いてみる
  2. 1の結果、手数料区分が変わらなければ問題ナシ(手数料はそのママ)。
  3. 1の結果、振込金額が下の区分になってしまったら下の区分金額で引いてみる。
  4. 3の結果、振込金額が下の区分になったら問題ナシ(手数料は下の区分)。
  5. 3の結果、上の区分になったら上の区分金額を引くママにする(結果的に下の区分金額になるのは、しゃあねぇべ)
推察される(まー、常識的に考えてコレでモンクをいう人もいないと思うが)。ワタシの作ったヤツでは2番以降を一切考慮してないンですネー。だモンでFDデータと金額確認書の内容にズレが...(^^;;
●早速修正
と言いたいところだが、ちょっと今確定申告の締め切りが迫ってて忙しいノデ、そのうちに(^^)。
2003.11.26 無期限凍結
●ホクギンBダイレクトの存在理由喪失
『マネーの虎』コーナーで書いたとおり、支払いは全て高岡信用金庫から行うことにした。したがって、Bダイレクト向けの機能について手間をさくのは単に時間のムダである。よって無期限凍結〜(^^)。ま、料金次第ではまた復活するかもしれないし。
2002.11.20 Excel単体稼動への道
●Excelだけでインプリ可能?
北陸銀行の「ホクギンBダイレクト」半自動制御部分、キーコードをウィンドウに送るサブプログラムを呼ぶことで実現している(フリーソフト使用)。これがあまり美しい構造とは言えないので、公開に踏み切れないでいる(まぁ、欲しいというヒトもそうはいまいが^^)。そのサブプログラムの方も、もう開発も終了しているらしく今後のサポートも不安だ。できればExcelだけでインプリメントしたいとずっと思っていた。
●Sendkeysステートメント
何気なくExcelのヘルプを眺めていると目に飛び込むものがある。「Sendkeys」ひょっとして... ビンゴ!「アクティブウィンドウにキーコードを送信する」おぉ!これでできるかも。でも待てよ... 今使っているサブプログラムの方は、送り先をウィンドウ名で指定できる。このステートメントはアクティブウィンドウだけだそうだ。ということは、目的のウィンドウをアクティブにする方法が必要。
●サンプルでは
ヘルプのサンプルコードでは、OS標準の電卓を起動し、その戻り値を使ってActivateをかけている。これでは使えない。なんとかウィンドウ名でアクティブにできないか。ヘルプを見る限りExcelにそんな機能はないようだ... えーい、困ったときのSalon頼み(^^)。聞いてみるべし!
●やっぱ先達は頼りになる(^^)
質問を投稿後、2日目にして早くも回答。ほほぅ、Windowsのライブラリ関数をVBAからcallするんですナ。なるほど... 示していただいたコードでは、名前からウィンドウハンドルの取得、そのウィンドウのアクティブ化、キーコードの送信と、すべてをライブラリ関数でやっている。うーむ、キーコードの送信はアスキーコードになるのか、でも特殊キーなんかはどうするんやろ?
●キーコードはVBAから
ま、ウィンドウ名指定でアクティブ化できれば、あとはSendkeysステートメントを使ったほうがキーコードの指定が簡単そうだ。というわけで、win_activate関数作成。紆余曲折の末、なんとか完成。さてと、後はこれをサブプログラムの部分と置き換えるだけだ。
2003.11.4 北陸銀行振込手数料料金改定
●1万円未満枠消滅
『マネーの虎』コーナーでも書いたが、料金改定のせいで設定変更をする必要がある。一応料金表さえ入力すれば式なんかは一切いじる必要のないように作ったはずだが、3段階が2段階になるというのは想定外だったからなー。ま、とにかく入れてみて...と。おぉ!2段階でちゃんと動いてる!すげぇ!さすがオレ(←バカ^^;)。