人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

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


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

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

現状は

07/12 22233 721530 102211 26442

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

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

●質問者: expansion05
●カテゴリ:コンピュータ 科学・統計資料
✍キーワード:.NET C# エクセル オブジェクト キーワード
○ 状態 :終了
└ 回答数 : 4/4件

▽最新の回答へ

1 ● 潮澤 昴
●10ポイント

http://google.co.jp/

Google

※URLはダミー

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

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


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

◎質問者からの返答

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


2 ● divergent
●20ポイント

http://boost.org/

Boost C++ Libraries

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

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

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


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

◎質問者からの返答

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


3 ● Setiablue
●20ポイント

http://www.hirokoku-u.ac.jp/int/kansei/~sakamoto/lecture/stat/ex...

広島国際大学

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

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

◎質問者からの返答

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


4 ● nitscape
●20ポイント

http://www.google.com/

Google

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


だとすると...

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

replace(” ”,” ”)

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

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


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

replace(” ”,”,”)

という感じです。


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

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

◎質問者からの返答

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

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ