AppInventorの亜種「AI2LiveComplete」で開発していたハンディーターミナルアプリがほぼ完成。
あとは融通がまったく利かないオフコンとの連携部分をどうするか?

まるでデジャブー:-o

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

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

1つ目は、アプリが作る受注明細(固定長ファイル)の先頭に空改行が入ること。
オフコンへインポートすると、こいつが原因で必ずクラッシュ!

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

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

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

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

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

[Command Line Pop Client (Free)–CODEODE]

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

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

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

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

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

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

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

ここで作ったファイルを指定フォルダーへ指定ファイル名で保存できればオフコン対応の完了です。

あと数日あれば、このAccessVBAも完成出来そう:-)

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

AppInventor、スゴイ。

(119 views)

コメントを残す

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