VB Script to Delete all contacts under local contacts folder

Status
Not open for further replies.

fourthgen

Member
Outlook version
Outlook 2010 32 bit
Email Account
Exchange Server
Hi,

I am trying to create a VBScript to delete all the contacts under the local conatcts folder.

I currently have:

Sub DeleteContacts()

Dim myOutlook As Outlook.Application

Dim myInformation As NameSpace

Dim myContacts As Items

Dim myItems As ContactItem

Set myOutlook = CreateObject("Outlook.Apllication")

Set myInformation = myOutlook.GetNameSpace("MAPI")

Set myContacts = myInformation.GetDefaultFolder(olFolderContacts).Items

For Each myItems In myContacts

myItems.Delete

Next

End Sub

This however only deleted everyother contact, so only deletes half at a time. Is there something that I have done wrong and need to change? or is there an easier way to do this using VBScript?

Thank you in advance
 

Diane Poremsky

Senior Member
Outlook version
Outlook 2016 32 bit
Email Account
Office 365 Exchange
You need to step backwards -

for example, you use your method when you have 3 contacts. When you delete #1, the contact that was #2 becomes #1 but Outlook deletes the current #2, leaving the old #2 (now #1) behind. If you go backwards, the index doesn't change as you delete.

something like this should work -

Dim i As Long

Dim lngCount As Long

lngCount = myItems.count

For i = lngCount To 1 Step -1
myItems(i).Delete
Next
 

fourthgen

Member
Outlook version
Outlook 2010 32 bit
Email Account
Exchange Server
Thank you for your response,

I have tried the script that you kindly supplied, however, I am getting an error on the

IngCount = myItems.count

Line. It sems to not recognise the .count command? Do you have any further ideas?

Regards

You need to step backwards -

for example, you use your method when you have 3 contacts. When you delete #1, the contact that was #2 becomes #1 but Outlook deletes the current #2, leaving the old #2 (now #1) behind. If you go backwards, the index doesn't change as you delete.

something like this should work -

Dim i As Long

Dim lngCount As Long

lngCount = myItems.count

For i = lngCount To 1 Step -1
myItems(i).Delete
Next
 

Diane Poremsky

Senior Member
Outlook version
Outlook 2016 32 bit
Email Account
Office 365 Exchange
You don't need myitems in this because mycontacts is the items in the folder.

Code:
Sub DeleteContacts()
Dim myOutlook As Outlook.Application
Dim myInformation As NameSpace
Dim myContacts As Items
Dim i As Long
Dim lngCount As Long
Set myOutlook = CreateObject("Outlook.Application")
Set myInformation = myOutlook.GetNamespace("MAPI")
Set myContacts = myInformation.GetDefaultFolder(olFolderContacts).Items
lngCount = myContacts.Count
For i = lngCount To 1 Step -1
myContacts(i).Delete
Next
End Sub
 
Status
Not open for further replies.
Similar threads
Thread starter Title Forum Replies Date
N Outlook 2021 'Run Script" Rules? Outlook VBA and Custom Forms 4
K Run a script rule to auto 'send again' on undeliverable emails? Outlook VBA and Custom Forms 1
W Designer Form 2013 and Script ? how ? Outlook VBA and Custom Forms 1
G print attachment straight away; working script edit not working Outlook VBA and Custom Forms 0
G Save attachment run a script rule Outlook VBA and Custom Forms 0
FryW Need help modifying a VBA script for in coming emails to auto set custom reminder time Outlook VBA and Custom Forms 0
G Script does not exist Outlook VBA and Custom Forms 0
G Trigger script without restaring outlook Outlook VBA and Custom Forms 7
A VBA Script - Print Date between first email in Category X and last email in Category Y Outlook VBA and Custom Forms 3
L Modifying VBA script to delay running macro Outlook VBA and Custom Forms 3
L Need help modifying a VBA script for emails stuck in Outbox Outlook VBA and Custom Forms 6
L VB script only runs manually Outlook VBA and Custom Forms 5
E Having some trouble with a run-a-script rule (moving mail based on file type) Outlook VBA and Custom Forms 5
D.Moore VB script to Digitaly Sign newly created outlook message Outlook VBA and Custom Forms 2
Aussie Rules Run a Script on an Incoming Email OK and then the Email reverts Outlook VBA and Custom Forms 0
D.Moore VBA script fail after Office 365 update Using Outlook 8
M Outlook 2013 Script Assistance - Save Opened Link with Subject Added Outlook VBA and Custom Forms 1
F Script for zip file attachment Outlook VBA and Custom Forms 1
S Change VBA script to send HTML email instead of text Outlook VBA and Custom Forms 3
Y Outlook 2013 Run A Script Outlook VBA and Custom Forms 4
Z Script to set account? Using Outlook 0
dweller Outlook 2010 Rule Ignores VBA Script Outlook VBA and Custom Forms 2
N VBA Script to Open highlighted e-mail and Edit Message Outlook VBA and Custom Forms 5
B Outlook rule run a Script doesn't work Outlook VBA and Custom Forms 1
J Calling a Public sub-routine from the script editor via VB script Outlook VBA and Custom Forms 4
K Outlook Archive to PST Files by Date Range VBA Script? Outlook VBA and Custom Forms 1
Peter H Williams Enable script containing VBA Outlook VBA and Custom Forms 12
H VB script in outlook form doesn't work anymore Outlook VBA and Custom Forms 2
A Script to fetch data from mails in restricted collection and sending them to excel Using Outlook 1
B Wanting to run a script that will filter any body that has a russian link in it. Outlook VBA and Custom Forms 5
Bri the Tech Guy Registry Tweak to make "Run a Script" Action Available Outlook VBA and Custom Forms 2
V VB script code to save a specific email attachment from a given email Outlook VBA and Custom Forms 14
Bri the Tech Guy Run Script rule not running for newly arriving messages Outlook VBA and Custom Forms 25
M Subject Line Automation - Trigger Script Delayed Outlook VBA and Custom Forms 2
Q Script to create a pst file for Archiving Using Outlook 1
Vijay Error in rule- Run a script Using Outlook 1
R VBA Script Quick Parts Using Outlook 1
Vijay Run script doesn't work in outlook Using Outlook 1
Q VBA Script to move item in secondary mailbox Outlook VBA and Custom Forms 2
Diane Poremsky Run a Script Rule: Send a New Message when a Message Arrives Using Outlook 2
F Avoid sending duplicate using Outlook script Outlook VBA and Custom Forms 2
oliv- How to Run a Script IN AN ADDIN with Outlook's Rules and Alerts Outlook VBA and Custom Forms 2
L Run a Script Rule doesn't work Using Outlook 5
N Outlook script to forward emails based on senders' address Outlook VBA and Custom Forms 2
S using script rule to save attachments on arrival Outlook 2010 Outlook VBA and Custom Forms 9
X Outlook script to run excel data Outlook VBA and Custom Forms 1
N VBA Script to Send Automatic Emails from Outlook 2010 Outlook VBA and Custom Forms 1
Davzell Change default pop3 account with script, prf or registery ? Outlook VBA and Custom Forms 0
D RUN SCRIPT WHEN OUTLOOK IS CLOSE Outlook VBA and Custom Forms 1
L Cannot run script from rule Outlook VBA and Custom Forms 7

Similar threads

Top