現在textメールで表を受信しています。これをエクセルに手入力しているのですが、非常に面倒です。
そこで自動化を考えています。具体的には、メールのなかの特定のキーワードをキーにして、それ以降の表(テーブル)を抽出し、何らかの方法でエクセルシートに自動的に貼り付けたいと思います。
現状は
07/12 22233 721530 102211 26442
というような半角スペースでの区切りとなり、単純にエクセルにはることができません。お知恵を拝借させていただければ幸いです。
自分はC#.netを使っています。
※URLはダミー
半角スペースをカンマ(,)に置き換えて受信して下さい。
これを拡張子csvでエクセルに読み込ませてみてください。
注)この場合受信文字にカンマが入らないように対策要(セルがずれる為)
Boost C++ Libraries
半角2個のスペースとかで
22233,,,,,721530,,,,,102211,,
とかになってしまうということでよろしいでしょうか?
ならば、一回スペースをカンマに置き換えて、その文字列を一回頭からカンマが二個重なっていないか検索してそれたの重複を一個に置き換えるというwhile()でくくってみてはどうでしょうか?
それは面白いアイディアですね!試してみます
普通にエクセルでメールのファイルを開き(ファイルの種類はテキストで)
それをVBAのマクロ記録で自動化するのはどうでしょうか?
検討してみます。ありがとうございます。
区切りの半角スペースがたくさんあって単純にカンマに変換できないのが問題ということでしょうか?
だとすると...
半角スペース2つをまずは1つに置換します。
replace(” ”,” ”)
のような感じです(私はC#は使ったことがないので適切な命令になっていません。目安にしてください)。
これをwhileなどのループで繰り返します。ループの中で置換前後の文字数が変化しなければ全ての区切りがスペース1つに変わっています。
ここでスペースをカンマに変換します。
replace(” ”,”,”)
という感じです。
これでそのまま貼り付けることができると思います。
もっと高度な操作になりますと...ExcelはCOMで外部から操作することができるので自動的にExcelに貼り付けてしまうこともできたりします(C#は分かりませんが少なくともC++では可能です)。
了解しました。皆様ありがとうございました。
はてなの表示の都合か分かりませんが、実際にはスペース幅はランダムです。半角2文字分から5文字分程度と幅があり、カンマ置換ができない状況です