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

 

◆ Itemsコレクション.Addメソッド

 

 

 

Itemsコレクションに新しいアイテムを作成します。

アイテムの種類を指定しない場合、Itemsコレクションが属するフォルダの既定のアイテム(プロパティで既定フォームとして関連付られているもの。例えば予定表フォルダなら予定アイテム、ユーザー設定フォームであればそれらのアイテム)が作成されます。

 

オブジェクト

メソッド

Itemsコレクション

Add (アイテムの種類 、又はメッセージクラス)※省略可

記述例:

Set NewItem =MyFolder.Items.Add
→ MyFolder(フォルダ)に関連付られているフォームから新規アイテムが作成されます。


Set NewItem =MyFolder.Items.Add(0)
→ 新規メールメッセージが作成されます。


Set NewItem = MyFolder.Items.Add("IPM.Contact.private")

→ MyFolder(フォルダ)に関連付られているフォームのうち、指定されたメッセージクラスのフォームから新規アイテムが作成されます。

 

補足:

  • 通常、アイテムの作成はApplication.CreateItemメソッドを使うことが多いですが、Application.CreateItemメソッドではOutlook既定のアイテムしか作成できません。Items.Addメソッドではユーザー設定フォームを使った新しいアイテムを作成することも可能です。

  • Itemsコレクションが属するフォルダに複数のユーザー設定フォームが関連付けられている場合はメッセージクラスを指定して新規アイテムを作成します。指定できるメッセージクラスはフォルダに関連付けられているもので あり、他フォルダに関連付られているフォームを元に作成はできません。

  • Itemsコレクションは特定のフォルダのアイテムの集合であるため、Addメソッドで追加されたアイテムはそのフォルダが「現在のフォルダ」となります。(既定で保存されるフォルダ)ただし、そのフォルダが追加されたアイテムを格納する種類のフォルダではない場合はOutlook既定のフォルダに保存されます。例えば「友達連絡先」という連絡先フォルダのItemsコレクションにAdd(1)メソッドで予定アイテムを作成した場合、予定アイテムは連絡先フォルダには保存できないので、Outlook既定の予定表フォルダに保存されます。

 

記述例:


記号

友達連絡先フォルダに新規アイテムを作成する

Set MyNameSpace = Application.GetNameSpace("mapi")

Set MyContactBox = MyNameSpace.GetDefaultFolder(10)

Set FriendBox = MyContactBox.Folders("友達連絡先")

Set NewItem = FriendBox.Items.Add

NewItem.FirstName = "Taro"

NewItem.Close(0)

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

★連絡先フォルダを取得

★連絡先配下の友達連絡先フォルダを取得

★友達連絡先フォルダのItemsコレクションにアイテム追加

★作成したアイテムの「名」に「Taro」を格納

★アイテムを保存して閉じる

 

※属する上記例では「友達連絡先」にアイテムが保存されます。

※Folder.Items.Addのみでアイテムの種類やメッセージクラスを指定していない場合、そのフォルダに関連付られているフォームを元にアイテムが作成されます。


記号

ユーザー設定フォームを元にした新規アイテムを作成する

Set MyNameSpace = Application.GetNameSpace("mapi")
Set MyContactBox = MyNameSpace.GetDefaultFolder(10)
Set FriendBox = MyContactBox.Folders("友達連絡先")

Set NewItem = FriendBox.Items.Add("IPM.Contact.Toroku")
 

NewItem.Display

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

★連絡先フォルダを取得

★連絡先配下の友達連絡先フォルダを取得

★友達連絡先フォルダのItemsコレクションにアイテム追加

(メッセージクラスでフォームを指定)

★新規作成したアイテムを表示する


記号

予定表に予定アイテムを作成して保存する

Set MyNameSpace = Application.GetNameSpace("mapi")
Set MyCalendar = MyNameSpace.GetDefaultFolder(9)

Set NewItem = MyCalendar.Items.Add
 

NewItem.Subject = "会議"

NewItem.Close(0)

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

★予定表フォルダを取得

★予定表フォルダのItemsコレクションにアイテム追加

(既定の予定アイテムが作成)

★予定アイテムの件名を「会議」とする

★予定アイテムを予定表フォルダに保存する

 

≫≫  Outlookフォーム作成/開発/VBSプログラミング  ≫≫ Outlookオブジェクトモデルから学ぶ