プログラミングに詳しい方、教えてください。メールをオブジェクト化する方法はあるでしょうか?



現在textメールで表を受信しています。これをエクセルに手入力しているのですが、非常に面倒です。

そこで自動化を考えています。具体的には、メールのなかの特定のキーワードをキーにして、それ以降の表(テーブル)を抽出し、何らかの方法でエクセルシートに自動的に貼り付けたいと思います。

現状は

07/12 22233 721530 102211 26442

というような半角スペースでの区切りとなり、単純にエクセルにはることができません。お知恵を拝借させていただければ幸いです。

自分はC#.netを使っています。

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:
  • 終了:--
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

回答4件)

id:fuk00346jp No.1

回答回数1141ベストアンサー獲得回数54

ポイント10pt

※URLはダミー

半角スペースをカンマ(,)に置き換えて受信して下さい。

これを拡張子csvでエクセルに読み込ませてみてください。


注)この場合受信文字にカンマが入らないように対策要(セルがずれる為)

id:expansion05

はてなの表示の都合か分かりませんが、実際にはスペース幅はランダムです。半角2文字分から5文字分程度と幅があり、カンマ置換ができない状況です

2005/08/10 21:35:29
id:divergent No.2

回答回数28ベストアンサー獲得回数0

ポイント20pt

http://boost.org/

Boost C++ Libraries

半角2個のスペースとかで

22233,,,,,721530,,,,,102211,,

とかになってしまうということでよろしいでしょうか?


ならば、一回スペースをカンマに置き換えて、その文字列を一回頭からカンマが二個重なっていないか検索してそれたの重複を一個に置き換えるというwhile()でくくってみてはどうでしょうか?

id:expansion05

それは面白いアイディアですね!試してみます

2005/08/10 22:16:00
id:Setiablue No.3

回答回数124ベストアンサー獲得回数1

ポイント20pt

普通にエクセルでメールのファイルを開き(ファイルの種類はテキストで)

それをVBAのマクロ記録で自動化するのはどうでしょうか?

id:expansion05

検討してみます。ありがとうございます。

2005/08/10 22:18:18
id:nitscape No.4

回答回数526ベストアンサー獲得回数0

ポイント20pt

区切りの半角スペースがたくさんあって単純にカンマに変換できないのが問題ということでしょうか?


だとすると...

半角スペース2つをまずは1つに置換します。

replace(”  ”,” ”)

のような感じです(私はC#は使ったことがないので適切な命令になっていません。目安にしてください)。

これをwhileなどのループで繰り返します。ループの中で置換前後の文字数が変化しなければ全ての区切りがスペース1つに変わっています。


ここでスペースをカンマに変換します。

replace(” ”,”,”)

という感じです。


これでそのまま貼り付けることができると思います。

もっと高度な操作になりますと...ExcelはCOMで外部から操作することができるので自動的にExcelに貼り付けてしまうこともできたりします(C#は分かりませんが少なくともC++では可能です)。

id:expansion05

了解しました。皆様ありがとうございました。

2005/08/10 22:19:17
  • id:fuk00346jp
    追記

    ・HTMLの仕様上半角スペースは連続して書き込めません。(全角は可)
    ・数値データでしか見てないですがCSVファイルをEXCELから保存する際半角スペースは消去されます。(オフィス2000)

    ・表を送信する際に後ろか前に自動でカンマを付加する(フォームのinput type = ”hidden”
    参考URL http://www.mitsue.co.jp/case/design/h_177.html)使用のも手です。

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません