- ベストアンサー
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を開いて処理することになるのだろうと思います。 (期日なんかは、エクセルで入力する) よろしくお願い致します。
- みんなの回答 (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)
その他の回答 (3)
- Wendy02
- ベストアンサー率57% (3570/6232)
#2 のWendy02 です。 文章の訂正です。 × CreateObjectと参照設定で ↓ ○ CreateObject または参照設定で
- Wendy02
- ベストアンサー率57% (3570/6232)
こんばんは。 どのぐらいおわかりになるのでしょうか? 今、覚えている範疇だけで申し訳ないのですが、簡単に言うと、CreateObjectと参照設定で、Outlook.Application のオートメーション・オブジェクトを作ってやって、OutlookオブジェクトのNamespace でフォルダを取ってやります。(GetDefaultFolderを使います) 後は、配列に入れてあげてあげるか、一件ずつ吸い上げるかして、処理すれば出来るように思います。(ここは、私自身やってみないと分りません。) Excelから行うと、Outlookのセキュリティが働くので、途中で、アクセスを許可する時間を聞いてきますので、手動で処理します。(私は、この解除の仕方は知りません)
補足
案の定ですが、参照設定はわかりますが、CreateObject、オートメーション・オブジェクト、GetDefaultFolder、まだ、わかっていません。 大変,申し訳ないのですが、VBAのたたき台みたいなものを教えていただけますか? 後は、試行錯誤で、調べてやっていきたいと考えます。 よろしくお願い致します。
- prairie-gentian
- ベストアンサー率30% (39/128)
先日、VBAのサイトをいろいろ探しているうちに、下記のようなページを見つけました。参考にならないでしょうか? 「Outlookメールフォルダの本文を取得する」
お礼
ありがとうございます。参考になります。トライしてみます。
お礼
本当にありがとうございました。参考にしてやってみます。