• ベストアンサー

メールから単語を抜き取ってフォーム化したいのですがよい方法ありますでし

メールから単語を抜き取ってフォーム化したいのですがよい方法ありますでしょうか? 具体的には、送られてきたメールにいくつかの項目(住所、名前、期間等)が記入されているものを 項目ごとにエクセルシート等にリスト化できるかどうか、もしできるならどのようにするのかを教えて頂きたいです。 項目名(住所、名前、期間等)にはゆらぎがあるので、それをうまく検索して、記入されている文字を抽出したいのですが可能なのでしょうか? 例)住所だと「住所」「ご住所」「お住まい」のように複数の項目名があります。 ご教授よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • SHIMAPEE
  • ベストアンサー率75% (154/203)
回答No.3

大筋は既にviolet430さんが回答されているとおりです。あえて一点付け加えさせて頂きますと、emlファイルの本文はJISコードで書かれていることが多く、そのままではWindowsの世界で扱いにくいのでシフトJISにコード変換するのがよいです。 手順は下のようになります。 (1)メールをemlファイルに取り出す。 (2)emlファイルをシフトJISにコード変換する。 (3)対象の項目を取り出す。 (1)はOutlook Expressなど、可能なメールソフトも多いですし、Vectorのメール用ユーティリティのカテゴリで専用ソフトを探せます。 http://www.vector.co.jp/vpack/filearea/win/net/mail/ (2)のコード変換の定番ソフトはnkfでしょう。 http://www.vector.co.jp/soft/win95/util/se295331.html また、例えばメールソフトがOutlook Expressでしたら、下のソフトは(1)(2)(3)を一度にやってくれます。ただし、少し試したところ(3)の項目の位置はメール内で固定でなければなりません、たぶん。 Outlook Express テキスト化ツール【DbxConv】 http://www.vector.co.jp/soft/win95/net/se235777.html (3)については「ゆらぎがある」ということですので、私だったらWSHなどのスクリプトで、1行ずつ読んで項目名が見つかったらその後ろを取り出す…、ようなことを繰り返すと思います。

nyancosan223
質問者

お礼

SHIMAPEE様 大変丁寧な説明、ありがとうございました。 エクセルにデータをエクスポートするところまではできましたが そのあとの処理にまだ悩んでいます。 「項目の位置はメール内で固定」というわけではないので やはり難しそうです。。。 他にやり方がないかなど、サンプルデータをもっと見て 再検討したいと思います。 ありがとうございました。

その他の回答 (2)

  • violet430
  • ベストアンサー率36% (27472/75001)
回答No.2

>メールから本文を抜き取って加工することは素人はやはり難しいですかね。。。 ツールを使わないとできないので、それを見つけryのが難しいのです。 現状では ・メールボックスのデータをeml形式で抽出するソフト はありますので、これを使って抽出した後、抽出したテキストデータの中から機能の単語を拾い出してエクセル形式にする形になります。この作業は、エクセルを使えばできますので、自動化するならエクセルのマクロでできそうに思います。問題はどの様なアルゴリズムでプログラムするかでしょう。

nyancosan223
質問者

お礼

データを抽出してエクセルに移行することはできましたが、 単語を拾って~という部分はやはり知識がないと難しそうですね。 (マクロもそれほど詳しくないので。。。) サンプルデータをもっと調査してもう少し検討を重ねてみたいと思います。 アドバイス大変ありがとうございました!

  • violet430
  • ベストアンサー率36% (27472/75001)
回答No.1

eml形式対応のメールソフトなら不可能では無いと思います。 ただ、既成のソフトにそれを求めるのは難しいと思いますね。 ご自分でプログラム作成をされるのですか?

nyancosan223
質問者

補足

早速のご回答ありがとうございます! > 既成のソフトにそれを求めるのは難しいと思いますね。 そうですか。 自分でプログラムはしませんが、プログラミングできる人にお願いすることはできます。 メールから本文を抜き取って加工することは素人はやはり難しいですかね。。。

関連するQ&A