Outlookサポートナビ!  ≫≫≫ Outlookフォーム作成/VBSプログラミング

 

◆ 全てのサブフォルダを削除する

 

オブジェクト・プロパティ・メソッド

メソッド

Folder

Folders.Item(インデックス番号)

Delete

Folder

Folders(インデックス番号)

Delete

記述例:Folder.Folders.Item(#).Delete

記述例:Folder.Folders(#).Delete

 

★インデックス番号は自動的に順番に付けられます。削除されると順序は繰り上がる為、番号は変化します。

そのため、Foldersコレクションにいくつのフォルダが存在するかをCountプロパティで取得し(=インデックス最大値)降順に削除していきます。(降順であれば番号が繰り上がらない為、全てのサブフォルダを削除できます。)

 

★Folder.Foldersプロパティでは引数が数字の場合はインデックス番号” ”で囲んだ文字の場合はフォルダ名として認識されます。

数字名のフォルダを指定する場合はFolder.Folders("数字") とするか、For〜Nextステートメントなどの変数(=数字)を指定する場合はFolder.Folders("" & i)などとして数字を文字列として扱うように記述します。

 

 

記述例:


記号

受信トレイ配下の全てのサブフォルダを削除する

Set MyNameSpace = Application.GetNameSpace("mapi")

Set MyInbox = MyNameSpace.GetDefaultFolder(6)

intX = MyInbox.Folders.Count

 

For i = intX to 1 Step -1

MyInbox.Folders.Item(i).Delete

Next

★Outlookルートオブジェクトを取得

★受信トレイを取得

★受信トレイのFoldersコレクション内の数(サブフォルダ)を取得

 

★受信トレイのFoldersコレクション内のフォルダをインデックス番号(最大値→1まで)で指定し削除する (For~Nextステートメントでループ処理を行います。)

 

 

≫≫  Outlookフォーム作成/開発/VBSプログラミング  ≫≫ プログラミングサンプル編