徹底活用する方法を研究するサイトです。マクロコメントで以下のようなご要望を頂きました。メールの受信時に、決まった件名であれば、ある文字列以降の文字列を抽出し、CSVファイルの最後に追加したいのです。21234,ぽーしょん,2このようなことができれば、メールから受注データを作成できるので、とても助かります。メッセージの件名を確認し、決められた件名であれば本文からデータを取得するというマクロで対応できるでしょう。サンプルは以下の通りです。ここをトリプルクリックでマクロ全体を選択できます。AM受注データを日付別で保存したいのですが、CSVファイル名もしくは、保存先フォルダ名にタイムスタンプを付けることは出来ますか?また、現在受け取っているメールの本文には、数量のみしか記述されておらず、どこからの発注か見分けるには、送信元アドレスしかありません。そのアドレスも携帯からのため、別CSVファイルで用意されている携帯アドレスと送信者の表とこのマクロ出力のCSVで突合せをしたいのですが、出来ないでしょうか?よろしくお願いいたします。さんファイル名やフォルダにタイムスタンプをつけることは可能です。ファイルのレコードに送信元アドレスを追加するには、以下のようにします。読み込めば突き合わせ処理も可能でしょう。PMありがとうございます。無事にタイムスタンプをつけたCSVファイルに、送信元アドレスを追加して、保存できました。保存したCSVファイルとアドレス一覧のファイルをVLOOKUPで検索することで目的は達成できました。問題が若干残っていますので、ご教授願います。受注データは、携帯電話から送られてくるため、極力、メール本文には数量のみ記入することで事足りるようにしたいと思っています。言っても、あやまって、数量以外の文字が入力されてしまうときもあると思います。このときに、数字だけ(出来れば、全角、半角含めて)を抽出するか、数字以外の文字列があった場合、保存しないといったようなことは、出来ないでしょうか。質問ばかりで申し訳ありませんが、よろしくお願いいたします。プログラミングに関する話になってしまってますね。携帯電話からデータが送られてくるというのは、具体的にどのようなフォーマットなのでしょう?プログラミングで対処可能なものならよいのですが、送信者が本文に好きなようにデータを入力できる状態であれば、プログラムで対応するのは限界があるかもしれません。それでは「融通が利かない」とクレームにならないでしょうか?ユーザーが自由に入力可能な状態としているのであれば、面倒かもしれませんがプログラムで対処するのではなく、人間が判断すべきだと思います。AM具体的には、決まった件名+本文に数量のみというフォーマットにする予定です。今までの運用では、Millefeuilleさんが例で出されている通りのようなお願いだったため、フォーマットを突然きちっとしてしまうと、クレームが来そうです。言っても、受注側の処理として、店舗数が多くなりすぎてしまったため、現在の運用が耐えられなくなってきています。(ちなみに現在の運用は、送られてきたメールをすべて印刷してから、送信元を確認し、集計しています。)本来論であれば、Webからの発注が出来るようにしたいのですが、今はシステム移行の過渡期で、あと1年ぐらいは現運用を続けなければなりません。その間だけ、少しでも楽に出来ないかと色々と苦慮している状態です。PM疑問・質問・マクロの要望から質問させていただいたNo.59の者です。うまく動いた...気がしたのですが、どうも違ったようでした。複数のメールを同時に受信した場合、最後の1件のみデータが抽出され、他はなぜかスルーされてしまいます。ともに0を返していました。返す配列の要素数は1つなのでしょうか。web上で調べてみると、Outlook2007においてはEntryIDCollectionは「,」区切りの配列を返す、ということだったので大丈夫だと思ったのですが...この状態からどうも理解が進まず、お手上げ状態です。(※ちなみにこのページを参照しました→http://msdn.microsoft.com/ja-jp/library/microsoft.office.interop.outlook.applicationevents_11_event.newmailex%28v=office.12%29.aspx備考のところでEntryIDsCollectionと複数形になっているのが気になり、一度置き換えてみましたがやはり何も変わりませんでした)もしご存知でしたらご教授いただけませんでしょうか。格納されなくなりました。呼び出されるはずです。それが呼び出されないとなると、何かトラブルが発生しているのかもしれません。PMお礼が遅くなってしまい本当に申し訳ありません!【最近のコメント】でお返事があるかどうかをチェックしていたつもりでしたが、今まで気付かずにおりました。非礼をどうかお許しください。前回の質問後すぐ、わたしも結局同じ結論に達しました。テストではうまく作動しますが、本番ではだめです。送信側はいわゆるショッピングモールなのですが、そのメールの送り方が、特に複数メールの場合、もしかするとNewMailExで対応できないものになっているのかもしれません。原因は特定できませんが・・・。現在は、まず仕分けルールで特定フォルダに処理するメールを振り分け、そのフォルダに対して処理を実行できる方法を考えております。非常に参考になりました。記事を参考にさせていただこうと思います。ありがとうございました。「決まった件名」ではなく「特定の文字列が含まれる件名」という条件は可能なのでしょうか。-Cさんより-件名に「受注メール」が含まれるものをCSV書き出し宜しくお願い致します。PMこんにちは7の質問、自己解決しました。コメント欄を汚して済みませんでした。貴重なサイトをご提供ありがとう御座います。初心者でございましてVBAについての知識ほあまりございませんその中でこちらの情報を元にデータを作らせていただいています。CSVにデータを取りたいのですが蓄積される結果は,,,,,になってしまいます。改善策などをご教授いただければと思いかきこませていただきました。7OutLook:2010共通するメールの件名だけを引っ張っています。8:30*******************************でーたがうまく取れていないのはどのあたりに原因があるのかご教授いただけませんでしょうか。PM私の手元で確認したところ、このコードで問題なくデータが取れるようです。環境に依存する問題のようですね。PMどうも!ご検証頂きありがとうございます。本文が正しく取得されているかどうかを確認するための記述なので、単独の行で記述します。myMsg.Body)というようにしてみてください。PM横から失礼します。本件に近い操作をしたいと考えています。具体的には1.件名:「~を入力しました。→この「予約済」を対象として、その1行を抜き出してCSV化で一覧にしたいと思っています。このような操作は可能でしょうか?また、どのように設定すれば良いでしょうか?ご教示、お願い致します。AM12で質問させていただいた内容に追記させてください。受信時間と件名もCSVに記載したいです。←「予約済」をKyeに1行を抜き出す)をCSV化したいです。ご教示、よろしくお願いします。PM以下のURLでマクロを公開しました。VBAについて詳しく書かれていて非常に助かっております。検証したところBodyが取得できていない様なので取得方法をご教授ください。環境はWindows10でOutlook2010を利用しています。myMsg.Subjectと記述した時にSubjectしかcsvファイルに書き込まれない事から上記の様に考えました。私としてはお手上げに近い状態で非常に困っております...。PMそのほかにもmyMsg.ReceivedTimeをcsvに吐き出すように記述しても問題なく動作することを確認しました。PMコメント欄を汚してしまい、申し訳ございません。IMAP4による問題のようでした。』の記事を参考に、上記プログラムと組み合わせることで目的の動作を実現できました。PM度々申し訳ございません。メールの本文を1行毎に処理するというのは可能でしょうか。無ければ任意の文字列1を全てCSVに書き出すという処理を、メール本文終わりまで行いたいです。PM以下のURLでマクロを公開しました。上記内容含めて、大変参考にさせていただいております。公開されているコードに加えて、以下の内容をCSVに抽出したいと考えております。等を組み合わせれば可能なような気がしますが、何分初心者故、アドバイスをいただけると大変助かります。メールの件名は全て同じです。“”で抽出可能なのを確認済みですが、Windowsのみ()がキーワードに入ってしまい、エラーではじかれてしまうのです。(アンダーバー以外の記号NGである旨は承知しております。)お手数をおかけしますが、このような複数条件がある際の抽出の可否含めて、ご教示いただけますと幸いです。iPhone可能であれば、現在どのようなコードでうまくいかない状況なのかご教授ください。コメントをキャンセルコメントを入力してください。以下に詳細を記入するか、アイコンをクリックしてログインしてください。アカウントを使ってコメントしています。アカウントを使ってコメントしています。アカウントを使ってコメントしています。アカウントを使ってコメントしています。新しいコメントがついたらメールで通知。メールアドレスキャンセル投稿を送信できませんでした。メールアドレスを確認してください。メール送信チェックに失敗しました。このブログではメールでの投稿共有はできません。使用に同意したとみなされます。ポリシー%d人のブロガーが「いいね」をつけました。