タイトル
メールによる受注を簡略化したい
フォーラムに投稿
こんにちは
FileMaker Pro 10 Trial(Mac OS X)版を試用しています
下記のような定型メールの内容を特定のフィールド内にコピペすると、別のフィールドにその内容を参照・抜粋してくれるような仕組みを作りたいのですが、皆目見当がつきません(T T)
--- ここから ----------------------
■ご注文番号(お問合せ番号)
000000-000000
■日時
200X年XX月XX日XX時XX分XX秒
■商品
ショップ名:YYYYYYYY
商品: □□□□□□□□□□□□
単価:nn,nnn円
数量:1
色:○○
商品代金:nn,nnn円
--------------------
消費税込の商品代金合計:nn,nnn円
合計金額:nn,nnn円
====================
--- ここまで --------------------
…このように続くメールの内容を 各フィールド名「ご注文番号」「日時」「商品」「単価」「数量」「色」「商品代金」と個別の新規レコードに振り分けたいのですが、見当がつかず茫然としている状態です
どうか宜しくご教示願います
こんにちは、Rと申します。
まずは、切り取りたい文字の始まりと終わりを判断しましょう。
仮にメール本文をペーストするフィールドをTEXTというフィールド名だとします。
「ご注文番号」でしたら、
始まり:「■ご注文番号(お問合せ番号)」という文字の場所+この文字数+次の改行
終わり:始まりの場所から数えて一つめの改行
注文番号という計算式のフィールドを作ります。
計算式は下記になります。
注文番号=
Let ( [
開始文字="■ご注文番号(お問合せ番号)改行マーク";
開始場所=Position ( TEXT; 開始文字 ; 0 ; 1 );
終了場所=Position ( TEXT ; "改行マーク" ; 開始場所+Length ( 開始場所 ) ; 1 )
];
Middle (TEXT;
開始場所+Length ( 開始文字 );
終了場所 - 開始場所
))
その他の項目も同じように始まりと終わりを判断して、切り取りたい内容をフィールドに設定していきます。
ここでは計算式でご説明しましたが、フィールドのタイプは計算式よりも、テキストにして自動計算値にした方が、後ほど変更できて便利です。
またこのようなメールの文面は変更することが多いですので、開始と終了の文字列や規則を別テーブルでマスタ化して、計算させていったほうがいいと思います。
さらに運用的なことを申し上げますと、メールの内容を人の手でコピペするのは、無駄な労力が掛かかっていることになりますので、特定のアドレスで受信したメールを自動的に取り込むシステムにした方が実用的です。
なおこれは蛇足かもしれませんが……通販系の処理だと思いますが、このような通販に特化したシステムはすでに様々な形でパッケージ化されています。ファイルメーカーでもいくつかありますので、お調べになってみてはいかがでしょうか。
自分で一からシステムを作成するより、プロに任せたり、すでにあるシステムを導入するのもコスト削減及び早期導入という意味で一考の価値があると思います。
それでは参考になれば幸いです。