お世話になります。
VBAでOutlook2013のアドレス帳(既定の連絡先)を一括削除する方法をご教授頂けないでしょうか。
そもそもVBAだけではObject操作することが難しい場合は、何か良い手段は無いでしょうか。
アドレス帳(既定の連絡先)のエクスポート、インポートはVBAで出来ることは確認できましたが、
実施したいこととして、エクスポートしたアドレス帳のファイル(PSTファイル)をインポートすると
重複して登録されてしまうので、一旦アドレス帳(既定の連絡先)を削除してからインポートしたいと考えています。
尚、連絡先は階層構造にはなっていません。既定である連絡先にアドレスを登録している状態です。
下記のインポートするVBA内にアドレス帳(既定の連絡先)を一括削除(クリア)するコードを組み込みたいと考えています。
Const PST_FILE = "test.pst"
Const olFolderContacts = 10
On Error Resume Next
Dim olkApp 'As Outlook.Application
Dim objPST 'As Store
Dim fldRoot 'As Folder
Dim fldSrc 'As Folder
Dim fldDst 'As Folder
Dim conSrc 'As ContactItem
Dim conDst 'As ContactItem
'
Set olkApp = CreateObject("Outlook.Application")
With olkApp.Session
Set fldDst = .GetDefaultFolder(olFolderContacts)
.AddStore PST_FILE
For Each objPST In .Stores
If objPST.FilePath = PST_FILE Then
Exit For
End If
Next
Set fldRoot = objPST.GetRootFolder()
Set fldSrc = fldRoot.Folders.Item("連絡先")
For Each conSrc In fldSrc.Items
Set conDst = conSrc.Copy()
conDst.Move fldDst
Next
.RemoveStore fldRoot
End With

回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/06/19 10:23
2022/12/06 06:57