2011年11月12日土曜日

step1 オブジェクトの生成 Outlookをエクセルからいじるスタートポイント

前回のエントリー(最初にすること 参照設定 )では、参照設定をしました。
次は、OutlookをエクセルVBAでいじるために、Outlookのオブジェクトを作ります。

Sub Outlook_test()
Dim objOL As Object
Dim objNAMESPC As Object
Dim myfolder As Object

Set objOL = CreateObject("Outlook.Application")
Set objNAMESPC = objOL.GetNamespace("MAPI")
Set myfolder = objNAMESPC.GetDefaultFolder(olFolderInbox)
Debug.Print myfolder
End Sub

意味不明からもしれませんが、くじけずに。
これを実行すると、イミディエイト・ウィンドウにデフォルトで指定されているフォルダ名が表示されます。
多分、「受信トレイ」とかが出ると思います。(人によって違うけど普通いじってない)

上記でやっているのは、
・「Outlook Application」をオブジェクトにしてあげて
・NameSpace(名前空間)の取得して
・それをobjNAMESPCってオブジェクトにして
・その中にあるデフォルトのフォルダをmyfolderというオブジェクトにする
という作業。

あくまでイメージですが、↓な感じで具体的にいじりたい対象であるメールまでたどり着くための設定をやっています。
上のコードではメールまではたどり着いてませんが、直前のフォルダまではたどり着いてます。
次のエントリーで、もう一歩進みましょう!






NTTフレッツ光






PVランキング 人気ブログランキングへ

2 件のコメント:

  1. はじめまして。OUTLOOK VBA勉強なりました。
    会社のexchange追加アカウントの受信通知をどうにかしたかったのですが解決できませんでしたw
    仕方がないので1分毎に受信トレイを見に行って未読メールをチェックするようなマクロ作りました。
    その際にこちらのサイトを参考にさせてもらいました。助かりました。
    家での毎日の生活をつづる日記です。http://popikuma.xsrv.jp/wp
    毎日の出来事を日記につづったり、色々な話を書いていきたいと思います。
    あと、主にAV関係のヤフオク商品をオススメしたりしてますw
    よかったらコメントくださいww

    返信削除
  2. 大変易しく丁寧に記述していただき、初心者ですが取り組みの意欲が湧いてきました。サンプルマクロのままでは、エラーとなりましたので投稿いたします。
    当方の環境は、Word2013とOutlook2013です。
     GetDefaultFolder(olFolderInbox)のところGetDefaultFolder(6)
    としましたら、成功しました。
    最終章まで学んで、結果を出したいと思っています。
    今後ともよろしくお願いいたします。

    返信削除