Outlookで受信したメールの本文の特定の部分だけを抽出してメモ帳に張り付けたいのですがどのようにすればよいですか?
こんにちわ!
特定の部分を指定できるかはパターン次第ですが、
受信した結果のMailMessage型.Bodyを
「一致する文字列を取得」のアクティビティの入力とし、
正規表現にマッチした文字列を取得する方法等が考え
られます。(これを全てに適応できるとは限りません)
後は、メモ帳への貼り付けは、取得した文字列で、
入力するなり、なんなりですね。
ありがとうございます。
メールごとに異なる文字列なので「一致する文字列を取得」では難しそうですね、、、
この特定の部分とは、例えば、どの様なものか
展開頂いた方がよろしいかと思います。
それによって、皆さんのアドバイスが変わると思うので。
下記のようにメール本文の下に記載されているデータ処理用のCSVのみを取得したいです。
メール本文(登録情報)
~
~
ーーーーーー
データ処理用
ーーーーーー
[上記本文のCSV]←この部分を取得したいのです。
すみません。見方が間違っているかも知れないので確認です。
この CSVは添付ファイルではなくて、文中にCSV形式で
ベタで記載されているのですかね。
添付ファイルではなく記載されています!
ここから、ここまでがCSVだとわかるキーワードはありますでしょうか。もしくは、キーワードをルールとして決めることは出来ますか?
これ例で言うと、
ーーーーーー
データ処理用
ーーーーーー
から
最後もしくは、改行コードまでですかね?
こんにちは
やり方いろいろありそうですが
置換(Replace)アクティビティを用いるとできると思います。
(最後までが抽出したいCSVデータとして)
パターン
”^[\s\S]*ーーーーーー(\n|\r\n) データ処理用(\n|\r\n)ーーーーーー(\n|\r\n)”
置換
""
入力
メール本文を格納した変数
出力
CSV文字列変数
キーワードのようなものがないので、
ーーーーーー
データ処理用
ーーーーーー
から最後までになると思います。
これは本文の頭から
ーーーーーー
データ処理用
ーーーーーー
の最後までを””に置換するという意味ですか?
こんにちは
これは本文の頭から
ーーーーーー
データ処理用
ーーーーーー
の最後までを””に置換するという意味ですか?
はいそうです。先頭から-----の部分までを、空文字列にしますので、結果としてデータ部分が残り、取得できることになります。
ありがとうございます。
置換しようとすると、System.Net.Mai.MailMessageの値をStringに変換できませんと警告が出るのですが、どのように対処すればよいですか?
こちらの設定ミスでした。
仰った通りに動かしたところうまくいきました。
ありがとうございました。
This topic was automatically closed 3 days after the last reply. New replies are no longer allowed.