[ai]MS-Accessでpop3クライアントを作成中

App Inventor2の有料拡張版サービス「AI2LiveComplete」で開発中のハンディーターミナルアプリがほぼ完成。

あとは融通がまったく利かないオフコンとの連携部分をどうするか?
これ、まるでデジャブー

FileMakerGO製ハンディーターミナルアプリでも、この部分は解決できず先送りしたまま・・・

App Inventorアプリで解決すべき問題は2つ。

1つ目は、アプリから書き出す受注明細(固定長ファイル)先頭の空改行
オフコンへインポートするとエラーが起きる!

2つ目が、オフコン用指定ファイル名は拡張子が無いこと。
App Inventorのshareコンポーネントで拡張子無しファイルに共有を
掛けるとパーミションエラーでアプリが止まる!

取り合えずFileMakerGOアプリ開発時に考えたアイデアの焼き直し。

受注明細をメール本文に挿入しGmail送信。
このメールを受信し、オフコンでエラーが起きない固定長ファイルとして作り直すAccessVBAを開発。

AccessVBAにPOP3クライアント機能を実装する方法は、FileMakerGOアプリ開発時に調査済み。

VBAから呼び出すコマンドラインPOPクライアントがこれ

[Command Line Pop Client (Free)–CODEODE]


まず、App Inventorの固定長ファイル生成機能を修正。
固定長データの位置が分かるように、直前と直後にマーカー(3文字の記号)を追加。

直前行には、SOF(=Start of File)
直後行には、EOF(End of File)。
App Inventor開発:安価な中華タブレット用のハンディーターミナルアプリを作るぞ!:

マーカーを追加した固定長データをThunderbirdで見ると
App Inventor開発:安価な中華タブレット用のハンディーターミナルアプリを作るぞ!:

開発中AccessVBAの操作画面はこんな感じ
App Inventor開発:安価な中華タブレット用のハンディーターミナルアプリを作るぞ!:

「メール受信」ボタンを押すとコマンドラインPOP3クライアント「popclient.exe」が起動しメールを受信。
受信されたメールは、指定フォルダにテキストデータとして保存されます。
それをテキストエディタで開くとこんな感じ。
App Inventor開発:安価な中華タブレット用のハンディーターミナルアプリを作るぞ!:

VBAで、このテキストファイルをAccessへインポート。
App Inventor開発:安価な中華タブレット用のハンディーターミナルアプリを作るぞ!:

後はLOOPで回して不必要なレコードを削除。
App Inventor開発:安価な中華タブレット用のハンディーターミナルアプリを作るぞ!:

事前準備完了後、固定長ファイルを指定フォルダーへ保存すればオフコン対応の完了です。

あと数日あれば、このAccessVBAも完成出来そうです

余談ですが、久しぶりにVBA開発して感じたのは、App Inventorの開発効率が恐ろしく高いこと!
Access開発ならそれなりにスラスラ書けると自負している私、でもApp Inventor開発はその10倍早くプログラミング出来ます!

App Inventor、スゴイ。

コメントを残す

メールアドレスが公開されることはありません。