2011年11月13日日曜日

step1.5 受信トレイ以外のフォルダを指定

step1では、デフォルトで指定されているフォルダ(受信トレイ)を指定先としてオブジェクトを作りました。
当たり前ですが、このままコードを書きすすめていくと、受信トレイにあるメールしかマクロで動かせません。
他のフォルダのメールも操作したいですよね?
という要望があるはずなので、ここでは番外編として好きなフォルダを指定する方法をまとめておきます。


ここでは試しに、受信トレイ直下にある「TEST」というフォルダを指定してみましょう。
Outlook上ではこんな感じの表示なっている状態です。



















コードは以下のようになります。

Set objOL = CreateObject("Outlook.Application")
Set objNAMESPC = objOL.GetNamespace("MAPI")
Set myfolder = objNAMESPC.Folders(olFolderInbox).Folders("TEST")
Debug.Print myfolder



イミディエイト・ウィンドウにTESTって表示されましたか?
objNAMESPC.Folders(olFolderInbox)で受信トレイまでたどり着いているので、その傘下にあるFolderを名前で指定してあげいるわけですね。



では、TESTフォルダーの下にある子TESTを指定したいときはどうするのでしょう?
こういう状態ですね。




















答えはこうですよね
Set objOL = CreateObject("Outlook.Application")
Set objNAMESPC = objOL.GetNamespace("MAPI")
Set myfolder = objNAMESPC.Folders(olFolderInbox).Folders("TEST").Folders("子TEST")
Debug.Print myfolder


ここまでやるとどれだけ下層のフォルダーでも指定できますね! ってそんな深くフォルダを作る人はいない気がしてきたが↓


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

0 件のコメント:

コメントを投稿