• ベストアンサー

Excel, OutLookでのVBAの組み方を教えてください

仕事で、OutLook(Expressではない)のまとめをやることになりました。特定の文字をタイトルにもつメールを選択、その中の特定の文字をキーとして情報を収集し、Excelにまとめるというものです。 メールタイトル:「問題xxxx」(ホルダ「問題」) 期日:2005/09/01 - 2005/09/15 内容  1.問題番号:xxxx 2.担当者名:xxxx  3.地域:xxxxx  4.発生時刻:xx:xx  5.対応終了:xx:xx 情報吸い上げ後、該当メールを処理済みのフォルダへ移動させる。 エクセルでは、1行をメールの1件に対応させて記録します。 基本的には、エクセルからマクロを起動して、Outlookを開いて処理することになるのだろうと思います。 (期日なんかは、エクセルで入力する) よろしくお願い致します。

質問者が選んだベストアンサー

  • ベストアンサー
  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.4

こんにちは。 Wendy02です。 返事が遅くなりした。インターネット検索をされると思い込んでいましたので、そのまま放置してしまいました。 http://www.ken3.org/cgi-bin/group/vba_outlook.asp 三流君VBAでOutlookを操作する ここを参考にすると良いです。 簡単に説明すると、参照設定すれば、以下のようになり、 Dim myOL As Outlook.Application Set myOL = New Outlook.Application で、オートメーション・オブジェクトを作ります。 Dim myOL As Object Set myOL =CreateObject ("Outlook.Application") でも可能です。 それで、 MAPIを参照し、フォルダオブジェクトを作り、後は、ローカルウィンドウで必要な項目を探してみてください。 Set myNamespace = myOL.GetNamespace("MAPI") Set myFolder = myNamespace.GetDefaultFolder(olFolderInbox)

noname#95859
質問者

お礼

本当にありがとうございました。参考にしてやってみます。

その他の回答 (3)

  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.3

#2 のWendy02 です。 文章の訂正です。 × CreateObjectと参照設定で    ↓ ○ CreateObject または参照設定で

  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.2

こんばんは。 どのぐらいおわかりになるのでしょうか? 今、覚えている範疇だけで申し訳ないのですが、簡単に言うと、CreateObjectと参照設定で、Outlook.Application のオートメーション・オブジェクトを作ってやって、OutlookオブジェクトのNamespace でフォルダを取ってやります。(GetDefaultFolderを使います) 後は、配列に入れてあげてあげるか、一件ずつ吸い上げるかして、処理すれば出来るように思います。(ここは、私自身やってみないと分りません。) Excelから行うと、Outlookのセキュリティが働くので、途中で、アクセスを許可する時間を聞いてきますので、手動で処理します。(私は、この解除の仕方は知りません)

noname#95859
質問者

補足

案の定ですが、参照設定はわかりますが、CreateObject、オートメーション・オブジェクト、GetDefaultFolder、まだ、わかっていません。 大変,申し訳ないのですが、VBAのたたき台みたいなものを教えていただけますか? 後は、試行錯誤で、調べてやっていきたいと考えます。 よろしくお願い致します。

回答No.1

先日、VBAのサイトをいろいろ探しているうちに、下記のようなページを見つけました。参考にならないでしょうか? 「Outlookメールフォルダの本文を取得する」

参考URL:
http://homepage.mac.com/sunagoh/excel/ap000103.html
noname#95859
質問者

お礼

ありがとうございます。参考になります。トライしてみます。

関連するQ&A