How to save contact photos in Outlook?
Let’s say you have added photos for many contacts in Outlook before, and now you want to save these contact photos as separate images, how could you deal with it? There are two solutions for you:
To save a certain contact’s photo in Outlook, please do as follows:
1. Open the contact folder containing the specified contact, and change the folder view by clicking View > Change View > List. See screenshot:
2. Double click to open the specified contact whose photo you will save.
3. In the contact window, please right click the contact photo, and select Copy from the right-clicking menu. See screenshot:
4. Put the cursor in the Notes box, and press Ctrl + V keys to paste the photo into the Notes box.
5. Right click the pasted photo in the Notes box, and select Save as Picture from the right-clicking menu. See screenshot:
6. In the popping out File Save dialog box, please (1) open the destination folder you will save the photo in, (2) type a name for the new photo in the File name box, (3) specify an image type from the Save as type drop down list, and finally (4) click the Save button. See screenshot:
7. Close the Contact window without saving changes.
So far, the photo of specified contact has been saved as an individual image already.
If you need to save the photos of all contacts in a contact folder in Outlook, please try below VBA.
1. Open the specified contact folder where you will save all contact photos, and press Alt + F11 keys to open the Microsoft Visual Basic for Applications window.
2. Click Insert > Module, and then paste below VBA code into the new module window.
VBA: Batch save photos of all contacts in Outlook
Sub SaveAllContactsPhotos() Dim xNameSpace As NameSpace Dim xFdrContacts As MAPIFolder Dim xItemContact As ContactItem Dim xAttachments As Outlook.Attachments Dim xAttach As Attachment Dim xItems As Outlook.Items Dim xName As String Dim xPath, xFileName As String Set xFdrContacts = Application.ActiveExplorer.CurrentFolder On Error Resume Next Set xShell = CreateObject("Shell.Application") Set xFolder = xShell.BrowseForFolder(0, "Select a folder:", 0, strStartingFolder) If Not TypeName(xFolder) = "Nothing" Then Set xFolderItem = xFolder.self xFileName = xFolderItem.Path & "\" Else xFileName = "" Exit Sub End If For I = 1 To xFdrContacts.Items.Count Set xItemContact = xFdrContacts.Items(I) Set xAttachments = xItemContact.Attachments For Each xAttach In xAttachments If xAttach.FileName = "ContactPicture.jpg" Then xName = xItemContact.FirstName & xItemContact.LastName xPath = xFileName & xName & ".jpg" xAttach.SaveAsFile (xPath) End If Next Next Set xShell = Nothing End Sub
Note: This VBA will save all contact photos as JPG images. For saving as other image type, please change the .jpg in the code xPath = xFileName & xName & ".jpg" to other extension names, such as .png, .gif, etc.
3. Press the F5 key or the Run button to run this VBA.
4. In the popping out Browse For Folder dialog box, please select the destination folder you will save the photos into, and click the OK button. See screenshot:
Now all contact photos in the selected contact folder are saved as individual .jpg (or another image type as you specified) images in bulk.
Recommended Productivity Tools
- Complicated and repeated operations can be done a one-time processing in seconds.
- Forward multiple emails individually with one-click, and auto forward by rules.
- Auto CC/BCC every sending email and easy for customizing rules, and auto reply without requiring exchange server.
- Powerful junk emails filter, remove duplicate emails, reply with attachment, bunch of one-click operations, and so on...
- 60-day unlimited free trial. 60-day money back guarantee. 2 years free upgrade and support. Buy once, use forever.