ちょっと自信がないので、回答下書きして、質問内容とマッチしているかチェックしてから回答欄に書く予定。
(予定は未定?)
'VBSからOutlook 連絡先を探す 'Outlook.Applicationの起動 Dim oApp 'As Outlook.Application OutlookのApplication オブジェクトを入れる Dim oNameSpace 'As Outlook.NameSpace 名前のスペースと言われても、、 Dim oFolder 'As Outlook.Folder フォルダー指定 'outlook 起動をCreateObjectで ※これだと複数起動してしまうがご勘弁を Set oApp = CreateObject("Outlook.Application") '呪文1 名前空間 の 指定 と言っても、.GetNamespace("MAPI")しただけ Set oNameSpace = oApp.GetNamespace("MAPI") 'olFolderContacts 10 連絡先フォルダ '次は作業フォルダーの指定(.GetDefaultFolder) と 表示(.Display) Set oFolder = oNameSpace.GetDefaultFolder(10) '規定のフォルダー olFolderContacts=10 指定 oFolder.Display '表示 いつものクセで .Visible = True とやりがちだけど '通常サイズ olNormalWindow=2 で表示(ほかに olMaximized=0,olMinimized=1) oApp.ActiveWindow.WindowState = 2 'olNormalWindow=2 を セット 'ここから連絡先を探す '.Find で Email1Address を 探し、無ければメッセージを表示する Dim cITEM 'As Outlook.ContactItem '連絡先アイテム Dim n Dim EMailBox(50) EmailBox(1) = "abc@ken3.org" EmailBox(2) = "test4@ken3.org" EmailBox(3) = "test2@ken3.org" For n = 1 To 30 If Len("" & EmailBox(n)) = 0 Then Exit For Set cITEM = oFolder.Items.Find("[Email1Address] = '" & EmailBox(n) & "'") '見つけたか? If cITEM Is Nothing Then 'オブジェクトの中身がなければエラー Msgbox EmailBox(n) & "が、見つかりません、登録を確認してください" End If Next '使用したオブジェクトの解放 = Nothing Set cITEM = Nothing Set oFolder = Nothing Set oNamespace = Nothing
だめだ、これだと、メールアドレスの有無しかチェックできないや。
アドレスを違う名前で登録したり、あっちゃいけない ライバル会社の担当者のアドレスを入れてても メールアドレスの有無しかみないからダメだなぁ・・・
まぁ、.Findで探す・・そんなサンプルとして 残しておくかなぁ。。。。