Sign in to follow this  
Followers 0
water

Test if property of an Outlook item exists

5 posts in this topic

Hi,

I try to acces the properties of an Outlook item (contact, address ...) by name.

$Result = $oItem.ItemProperties.Item("FirstName").value

If the property doesn't exist I get

H:\tools\AutoIt3\Outlook\OutlookGetItems.au3 (197) : ==> Object referenced outside a "With" statement.:
$Result = $oItem.ItemProperties.Item("xy").value
$Result = $oItem.ItemProperties.Item("xy").^ EROR

How can I check if a property exists?

Thanks in advance!


My UDFs and Tutorials:

Spoiler

UDFs:
Active Directory (NEW 2017-04-18 - Version 1.4.8.0) - Download - General Help & Support - Example Scripts - Wiki
OutlookEX (NEW 2017-02-27 - Version 1.3.1.0) - Download - General Help & Support - Example Scripts - Wiki
ExcelChart (2015-04-01 - Version 0.4.0.0) - Download - General Help & Support - Example Scripts
Excel - Example Scripts - Wiki
Word - Wiki
PowerPoint (2015-06-06 - Version 0.0.5.0) - Download - General Help & Support

Tutorials:
ADO - Wiki

 

Share this post


Link to post
Share on other sites



Maybe get the collection of .ItemProperties then walk the collection checking for $oProperty.name:

$oItemProperties = $oItem.ItemProperties
$f_Found = False
For $oProperty In $oItemProperties
    If $oProperty.name & "" = "firstName" Then
        $f_Found = True
        ExitLoop
    EndIf
Next

If $f_Found Then
    MsgBox(64, "Found", "Item property 'FirstName' = " & $oItem.ItemProperties.Item("FirstName" ).value)
Else
    MsgBox(16, "Not Found", "Item does not have 'FirstName' property.")
EndIf

(Not tested.)

:x


Valuater's AutoIt 1-2-3, Class... Is now in Session!For those who want somebody to write the script for them: RentACoder"Any technology distinguishable from magic is insufficiently advanced." -- Geek's corollary to Clarke's law

Share this post


Link to post
Share on other sites

Hi PsaltyDS,

thanks for the fast reply!

I had something similar in mind (and have already implemented it). But I was dreaming of a "one-liner" to test for existance or at least a way to catch the error if a property that doesn't exist is accessed.

Thanks and greetings from snowy Austria!


My UDFs and Tutorials:

Spoiler

UDFs:
Active Directory (NEW 2017-04-18 - Version 1.4.8.0) - Download - General Help & Support - Example Scripts - Wiki
OutlookEX (NEW 2017-02-27 - Version 1.3.1.0) - Download - General Help & Support - Example Scripts - Wiki
ExcelChart (2015-04-01 - Version 0.4.0.0) - Download - General Help & Support - Example Scripts
Excel - Example Scripts - Wiki
Word - Wiki
PowerPoint (2015-06-06 - Version 0.0.5.0) - Download - General Help & Support

Tutorials:
ADO - Wiki

 

Share this post


Link to post
Share on other sites

Well, if you have a COM error handler implemented (and I KNOW you do) this should work in two lines without crashing the script on error:

$oTarget = $oItem.ItemProperties.Item("xy")
If IsObj($oTarget) Then $Result = $oTarget.value

:x


Valuater's AutoIt 1-2-3, Class... Is now in Session!For those who want somebody to write the script for them: RentACoder"Any technology distinguishable from magic is insufficiently advanced." -- Geek's corollary to Clarke's law

Share this post


Link to post
Share on other sites

Hi PsaltyDS,

thanks for your suggestion. I will give it a try.


My UDFs and Tutorials:

Spoiler

UDFs:
Active Directory (NEW 2017-04-18 - Version 1.4.8.0) - Download - General Help & Support - Example Scripts - Wiki
OutlookEX (NEW 2017-02-27 - Version 1.3.1.0) - Download - General Help & Support - Example Scripts - Wiki
ExcelChart (2015-04-01 - Version 0.4.0.0) - Download - General Help & Support - Example Scripts
Excel - Example Scripts - Wiki
Word - Wiki
PowerPoint (2015-06-06 - Version 0.0.5.0) - Download - General Help & Support

Tutorials:
ADO - Wiki

 

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now
Sign in to follow this  
Followers 0