Solved

Outlook folders export: how to pick the fields (properties) name with VBA.

Posted on 2009-04-08
7
394 Views
Last Modified: 2013-11-27
I am looking for a VBA code that allows me to list every field name of my Outlook messages.
In other words, I want to know the name of the mapped fields I usually can get with the Outlook export action to .xls file; I would then use them in MS Access functions like below.
Thank you.
Dim olkItems As Object, olkItem As Object
....
For Each olkItem In olkItems
...=olkItem.Field1 (es. Name)
...=olkItem.Field2 (es. Subject)
...=....
Next olkItem

Open in new window

0
Comment
Question by:Sar1973
  • 4
  • 3
7 Comments
 
LVL 28

Expert Comment

by:TextReport
ID: 24101351
Once you have your outlook message variable you can use the code below to loop through all the properties, either as a count or directly as objects
Cheers, Andrew
Dim cnt As Long
For cnt = 0 To outMessage.ItemProperties.Count - 1
    Debug.Print outMessage.ItemProperties(cnt).Name
Next cnt
 
Dim oip As Outlook.ItemProperty
Dim oips As Outlook.ItemProperties
Set oips = outMessage.ItemProperties
For Each oip In oips
    Debug.Print oip.Name
Next oip

Open in new window

0
 
LVL 9

Author Comment

by:Sar1973
ID: 24105779
If I launch this code, I get some errors: outMessage is not delcared, so I get "an object is necessary"
If I declare it as object, I get "With variabloe not set"
0
 
LVL 28

Expert Comment

by:TextReport
ID: 24105805
outMessage is my variable that is either an Object or Outlook.MailItem
I think with late binding, dimming the variable as Object, then you will need to use the For cnt looping
Cheers, Andrew
0
Comprehensive Backup Solutions for Microsoft

Acronis protects the complete Microsoft technology stack: Windows Server, Windows PC, laptop and Surface data; Microsoft business applications; Microsoft Hyper-V; Azure VMs; Microsoft Windows Server 2016; Microsoft Exchange 2016 and SQL Server 2016.

 
LVL 9

Author Comment

by:Sar1973
ID: 24107357
Then, could you please provide a code that works and gives me every field name?
0
 
LVL 28

Expert Comment

by:TextReport
ID: 24107385
Have you got the code that give you an Outlook message, either the message you have created or the message you have found. If so can you please provide what you have.
Cheers, Andrew
0
 
LVL 9

Author Comment

by:Sar1973
ID: 24107523
I got it: if you use this code you get a string with every property and field name.
I gues it would work also if you pick a single item of an Outlook folder instead of creating a new item/message and looking what it's made of.
Dim olkName As String
Dim oip As Outlook.ItemProperty
Dim oips As Outlook.ItemProperties
Dim olApp As Object
Dim oItem As Object
 
Set olApp = CreateObject("Outlook.application")
Set oItem = olApp.CreateItem(0)
Set oips = oItem.ItemProperties
 
For Each oip In oips
    olkName = olkName & ", " & oip.Name
Next
 
Me.Pinco = olkName

Open in new window

0
 
LVL 28

Accepted Solution

by:
TextReport earned 250 total points
ID: 24108419
Sounds right to me.
With message items you may want to investigate the FIND method to find the messages in your folderthat match certain criteria.
Cheers, Andrew
0

Featured Post

Migrating Your Company's PCs

To keep pace with competitors, businesses must keep employees productive, and that means providing them with the latest technology. This document provides the tips and tricks you need to help you migrate an outdated PC fleet to new desktops, laptops, and tablets.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Experts-Exchange is a great place to come for help with solutions for your database issues, and many problems are resolved within minutes of being posted.  Others take a little more time and effort and often providing a sample database is very helpf…
Preparing an email is something we should all take special care with – especially when the email is for somebody you may not know very well. The pressures of everyday working life stacked with a hectic office environment can make this a real challen…
Familiarize people with the process of utilizing SQL Server views from within Microsoft Access. Microsoft Access is a very powerful client/server development tool. One of the SQL Server objects that you can interact with from within Microsoft Access…
Polish reports in Access so they look terrific. Take yourself to another level. Equations, Back Color, Alternate Back Color. Write easy VBA Code. Tighten space to use less pages. Launch report from a menu, considering criteria only when it is filled…

828 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question