![]() |
|
GAL reading and updation of data
Hi,
I am using the redemption object to connect to the GAL and read each item with its attributes like Name,Department,telephone etc. Below is the script I tried - objAddressEntry.Fields seems to be failing (does not find the collection) - Any particular reason ? Where as objAddressEntry.Name seems to work fine and returns the name of the group or contact from the GAL. Also how can I update the GAL ? (as a next step) Const CdoPR_GIVEN_NAME = &H3A06001F Const CdoPR_TITLE = &H3A17001E set Session = CreateObject("Redemption.RDOSession") Session.Logon set AddrList = Session.AddressBook.AddressLists.Item("Global Address List") MsgBox "There are " & AddrList.AddressEntries.Count & " items in the GAL" Set objAddressEntries = AddrList.AddressEntries int i=0 For Each objAddressEntry In objAddressEntries on error resume next Set objAddressFields = objAddressEntry.Fields MsgBox objAddressEntry.Name If Not objAddressFields is Nothing Then MsgBox objAddressFields.Item(CdoPR_GIVEN_NAME).Value MsgBox objAddressFields.Item(CdoPR_TITLE).Value End If Next Regards, Safal |
GAL reading and updation of data
Hey,
Please let me know if any of you has any inputs ? -Safal "Safal" wrote: Hi, I am using the redemption object to connect to the GAL and read each item with its attributes like Name,Department,telephone etc. Below is the script I tried - objAddressEntry.Fields seems to be failing (does not find the collection) - Any particular reason ? Where as objAddressEntry.Name seems to work fine and returns the name of the group or contact from the GAL. Also how can I update the GAL ? (as a next step) Const CdoPR_GIVEN_NAME = &H3A06001F Const CdoPR_TITLE = &H3A17001E set Session = CreateObject("Redemption.RDOSession") Session.Logon set AddrList = Session.AddressBook.AddressLists.Item("Global Address List") MsgBox "There are " & AddrList.AddressEntries.Count & " items in the GAL" Set objAddressEntries = AddrList.AddressEntries int i=0 For Each objAddressEntry In objAddressEntries on error resume next Set objAddressFields = objAddressEntry.Fields MsgBox objAddressEntry.Name If Not objAddressFields is Nothing Then MsgBox objAddressFields.Item(CdoPR_GIVEN_NAME).Value MsgBox objAddressFields.Item(CdoPR_TITLE).Value End If Next Regards, Safal |
GAL reading and updation of data
As per the documentation I found that the below are accessible (from the code
sample shown further below) - MsgBox objAddressEntry.Manager (Manager's name returned) MsgBox objAddressEntry.SMTPAddress (email address returned) But if I need further details like Title,Company,Department etc I probably have to go for the GetContact method and then access its properties. But I could figure out how I could use it on the code below. Any suggestions would be helpful! -Safal "Safal" wrote: Hi, I am using the redemption object to connect to the GAL and read each item with its attributes like Name,Department,telephone etc. Below is the script I tried - objAddressEntry.Fields seems to be failing (does not find the collection) - Any particular reason ? Where as objAddressEntry.Name seems to work fine and returns the name of the group or contact from the GAL. Also how can I update the GAL ? (as a next step) Const CdoPR_GIVEN_NAME = &H3A06001F Const CdoPR_TITLE = &H3A17001E set Session = CreateObject("Redemption.RDOSession") Session.Logon set AddrList = Session.AddressBook.AddressLists.Item("Global Address List") MsgBox "There are " & AddrList.AddressEntries.Count & " items in the GAL" Set objAddressEntries = AddrList.AddressEntries int i=0 For Each objAddressEntry In objAddressEntries on error resume next Set objAddressFields = objAddressEntry.Fields MsgBox objAddressEntry.Name If Not objAddressFields is Nothing Then MsgBox objAddressFields.Item(CdoPR_GIVEN_NAME).Value MsgBox objAddressFields.Item(CdoPR_TITLE).Value End If Next Regards, Safal |
GAL reading and updation of data
There is no AddressEntryFields collection in Redemption. Use
AddressEntry.Fields. Redemption is different than CDO 1.21, which does have a Fields collection. -- Ken Slovak [MVP - Outlook] http://www.slovaktech.com Author: Professional Programming Outlook 2007 Reminder Manager, Extended Reminders, Attachment Options http://www.slovaktech.com/products.htm "Safal" wrote in message ... Hi, I am using the redemption object to connect to the GAL and read each item with its attributes like Name,Department,telephone etc. Below is the script I tried - objAddressEntry.Fields seems to be failing (does not find the collection) - Any particular reason ? Where as objAddressEntry.Name seems to work fine and returns the name of the group or contact from the GAL. Also how can I update the GAL ? (as a next step) Const CdoPR_GIVEN_NAME = &H3A06001F Const CdoPR_TITLE = &H3A17001E set Session = CreateObject("Redemption.RDOSession") Session.Logon set AddrList = Session.AddressBook.AddressLists.Item("Global Address List") MsgBox "There are " & AddrList.AddressEntries.Count & " items in the GAL" Set objAddressEntries = AddrList.AddressEntries int i=0 For Each objAddressEntry In objAddressEntries on error resume next Set objAddressFields = objAddressEntry.Fields MsgBox objAddressEntry.Name If Not objAddressFields is Nothing Then MsgBox objAddressFields.Item(CdoPR_GIVEN_NAME).Value MsgBox objAddressFields.Item(CdoPR_TITLE).Value End If Next Regards, Safal |
GAL reading and updation of data
You can access any property exposed by GAL through RDOAddressEntry.Fields -
see http://www.dimastr.com/redemption/rd...htm#properties You can see the exposed properties using OutlookSpy (click IAddrBook button, click "Open Root Container", go to the GetHierarchyTable tab, etc) Dmitry Streblechenko (MVP) http://www.dimastr.com/ OutlookSpy - Outlook, CDO and MAPI Developer Tool "Safal" wrote in message ... Hi, I am using the redemption object to connect to the GAL and read each item with its attributes like Name,Department,telephone etc. Below is the script I tried - objAddressEntry.Fields seems to be failing (does not find the collection) - Any particular reason ? Where as objAddressEntry.Name seems to work fine and returns the name of the group or contact from the GAL. Also how can I update the GAL ? (as a next step) Const CdoPR_GIVEN_NAME = &H3A06001F Const CdoPR_TITLE = &H3A17001E set Session = CreateObject("Redemption.RDOSession") Session.Logon set AddrList = Session.AddressBook.AddressLists.Item("Global Address List") MsgBox "There are " & AddrList.AddressEntries.Count & " items in the GAL" Set objAddressEntries = AddrList.AddressEntries int i=0 For Each objAddressEntry In objAddressEntries on error resume next Set objAddressFields = objAddressEntry.Fields MsgBox objAddressEntry.Name If Not objAddressFields is Nothing Then MsgBox objAddressFields.Item(CdoPR_GIVEN_NAME).Value MsgBox objAddressFields.Item(CdoPR_TITLE).Value End If Next Regards, Safal |
GAL reading and updation of data
Thanks veyr much Dmitry and Ken.
Is it possible to update the GAL entries using redemption ? Or do we have to switch back to CDO ? Please let me know of any samples available online. -Safal "Dmitry Streblechenko" wrote: You can access any property exposed by GAL through RDOAddressEntry.Fields - see http://www.dimastr.com/redemption/rd...htm#properties You can see the exposed properties using OutlookSpy (click IAddrBook button, click "Open Root Container", go to the GetHierarchyTable tab, etc) Dmitry Streblechenko (MVP) http://www.dimastr.com/ OutlookSpy - Outlook, CDO and MAPI Developer Tool "Safal" wrote in message ... Hi, I am using the redemption object to connect to the GAL and read each item with its attributes like Name,Department,telephone etc. Below is the script I tried - objAddressEntry.Fields seems to be failing (does not find the collection) - Any particular reason ? Where as objAddressEntry.Name seems to work fine and returns the name of the group or contact from the GAL. Also how can I update the GAL ? (as a next step) Const CdoPR_GIVEN_NAME = &H3A06001F Const CdoPR_TITLE = &H3A17001E set Session = CreateObject("Redemption.RDOSession") Session.Logon set AddrList = Session.AddressBook.AddressLists.Item("Global Address List") MsgBox "There are " & AddrList.AddressEntries.Count & " items in the GAL" Set objAddressEntries = AddrList.AddressEntries int i=0 For Each objAddressEntry In objAddressEntries on error resume next Set objAddressFields = objAddressEntry.Fields MsgBox objAddressEntry.Name If Not objAddressFields is Nothing Then MsgBox objAddressFields.Item(CdoPR_GIVEN_NAME).Value MsgBox objAddressFields.Item(CdoPR_TITLE).Value End If Next Regards, Safal |
GAL reading and updation of data
Of course, just set the the relevant properties using
RDOAddressEntry.Fields() and call RDOAddressEntry.Save Dmitry Streblechenko (MVP) http://www.dimastr.com/ OutlookSpy - Outlook, CDO and MAPI Developer Tool "Safal" wrote in message ... Thanks veyr much Dmitry and Ken. Is it possible to update the GAL entries using redemption ? Or do we have to switch back to CDO ? Please let me know of any samples available online. -Safal "Dmitry Streblechenko" wrote: You can access any property exposed by GAL through RDOAddressEntry.Fields - see http://www.dimastr.com/redemption/rd...htm#properties You can see the exposed properties using OutlookSpy (click IAddrBook button, click "Open Root Container", go to the GetHierarchyTable tab, etc) Dmitry Streblechenko (MVP) http://www.dimastr.com/ OutlookSpy - Outlook, CDO and MAPI Developer Tool "Safal" wrote in message ... Hi, I am using the redemption object to connect to the GAL and read each item with its attributes like Name,Department,telephone etc. Below is the script I tried - objAddressEntry.Fields seems to be failing (does not find the collection) - Any particular reason ? Where as objAddressEntry.Name seems to work fine and returns the name of the group or contact from the GAL. Also how can I update the GAL ? (as a next step) Const CdoPR_GIVEN_NAME = &H3A06001F Const CdoPR_TITLE = &H3A17001E set Session = CreateObject("Redemption.RDOSession") Session.Logon set AddrList = Session.AddressBook.AddressLists.Item("Global Address List") MsgBox "There are " & AddrList.AddressEntries.Count & " items in the GAL" Set objAddressEntries = AddrList.AddressEntries int i=0 For Each objAddressEntry In objAddressEntries on error resume next Set objAddressFields = objAddressEntry.Fields MsgBox objAddressEntry.Name If Not objAddressFields is Nothing Then MsgBox objAddressFields.Item(CdoPR_GIVEN_NAME).Value MsgBox objAddressFields.Item(CdoPR_TITLE).Value End If Next Regards, Safal |
GAL reading and updation of data
I tried a simple example as below but come across the mentioned error -
Redemption.RDOAddressEntry: Error calling IMAPIProp::SetProps For Each objAddressEntry In objAddressEntries If(objAddressEntry.Fields(CdoPR_DISPLAY_NAME)=Sess ion.CurrentUser)Then objAddressEntry.Fields(CdoPR_TITLE) = "Test" objAddressEntry.Save End If Next Does this have to do with access rights ? -Safal "Dmitry Streblechenko" wrote: Of course, just set the the relevant properties using RDOAddressEntry.Fields() and call RDOAddressEntry.Save Dmitry Streblechenko (MVP) http://www.dimastr.com/ OutlookSpy - Outlook, CDO and MAPI Developer Tool "Safal" wrote in message ... Thanks veyr much Dmitry and Ken. Is it possible to update the GAL entries using redemption ? Or do we have to switch back to CDO ? Please let me know of any samples available online. -Safal "Dmitry Streblechenko" wrote: You can access any property exposed by GAL through RDOAddressEntry.Fields - see http://www.dimastr.com/redemption/rd...htm#properties You can see the exposed properties using OutlookSpy (click IAddrBook button, click "Open Root Container", go to the GetHierarchyTable tab, etc) Dmitry Streblechenko (MVP) http://www.dimastr.com/ OutlookSpy - Outlook, CDO and MAPI Developer Tool "Safal" wrote in message ... Hi, I am using the redemption object to connect to the GAL and read each item with its attributes like Name,Department,telephone etc. Below is the script I tried - objAddressEntry.Fields seems to be failing (does not find the collection) - Any particular reason ? Where as objAddressEntry.Name seems to work fine and returns the name of the group or contact from the GAL. Also how can I update the GAL ? (as a next step) Const CdoPR_GIVEN_NAME = &H3A06001F Const CdoPR_TITLE = &H3A17001E set Session = CreateObject("Redemption.RDOSession") Session.Logon set AddrList = Session.AddressBook.AddressLists.Item("Global Address List") MsgBox "There are " & AddrList.AddressEntries.Count & " items in the GAL" Set objAddressEntries = AddrList.AddressEntries int i=0 For Each objAddressEntry In objAddressEntries on error resume next Set objAddressFields = objAddressEntry.Fields MsgBox objAddressEntry.Name If Not objAddressFields is Nothing Then MsgBox objAddressFields.Item(CdoPR_GIVEN_NAME).Value MsgBox objAddressFields.Item(CdoPR_TITLE).Value End If Next Regards, Safal |
GAL reading and updation of data
What is the *exact* error (both decsription and error code)?
Why do you need to loop through items in a list instead of just modifying the RDOSession.CurrentUser object? Dmitry Streblechenko (MVP) http://www.dimastr.com/ OutlookSpy - Outlook, CDO and MAPI Developer Tool "Safal" wrote in message ... I tried a simple example as below but come across the mentioned error - Redemption.RDOAddressEntry: Error calling IMAPIProp::SetProps For Each objAddressEntry In objAddressEntries If(objAddressEntry.Fields(CdoPR_DISPLAY_NAME)=Sess ion.CurrentUser)Then objAddressEntry.Fields(CdoPR_TITLE) = "Test" objAddressEntry.Save End If Next Does this have to do with access rights ? -Safal "Dmitry Streblechenko" wrote: Of course, just set the the relevant properties using RDOAddressEntry.Fields() and call RDOAddressEntry.Save Dmitry Streblechenko (MVP) http://www.dimastr.com/ OutlookSpy - Outlook, CDO and MAPI Developer Tool "Safal" wrote in message ... Thanks veyr much Dmitry and Ken. Is it possible to update the GAL entries using redemption ? Or do we have to switch back to CDO ? Please let me know of any samples available online. -Safal "Dmitry Streblechenko" wrote: You can access any property exposed by GAL through RDOAddressEntry.Fields - see http://www.dimastr.com/redemption/rd...htm#properties You can see the exposed properties using OutlookSpy (click IAddrBook button, click "Open Root Container", go to the GetHierarchyTable tab, etc) Dmitry Streblechenko (MVP) http://www.dimastr.com/ OutlookSpy - Outlook, CDO and MAPI Developer Tool "Safal" wrote in message ... Hi, I am using the redemption object to connect to the GAL and read each item with its attributes like Name,Department,telephone etc. Below is the script I tried - objAddressEntry.Fields seems to be failing (does not find the collection) - Any particular reason ? Where as objAddressEntry.Name seems to work fine and returns the name of the group or contact from the GAL. Also how can I update the GAL ? (as a next step) Const CdoPR_GIVEN_NAME = &H3A06001F Const CdoPR_TITLE = &H3A17001E set Session = CreateObject("Redemption.RDOSession") Session.Logon set AddrList = Session.AddressBook.AddressLists.Item("Global Address List") MsgBox "There are " & AddrList.AddressEntries.Count & " items in the GAL" Set objAddressEntries = AddrList.AddressEntries int i=0 For Each objAddressEntry In objAddressEntries on error resume next Set objAddressFields = objAddressEntry.Fields MsgBox objAddressEntry.Name If Not objAddressFields is Nothing Then MsgBox objAddressFields.Item(CdoPR_GIVEN_NAME).Value MsgBox objAddressFields.Item(CdoPR_TITLE).Value End If Next Regards, Safal |
GAL reading and updation of data
Here are the details -
Error Number= -2147024891 Description=Error in IMAPIProp::SaveChanges: MAPI_E_NO_ACCESS Source-Redemption.RDOAddressEntry The loop through was just a sample. I might have to modify details for more than 1 users in the GAL. Hence in the case below I was just experimenting with my username to check if the Save works. So this definately looks like an access issue. So if I want this to work I should be running the same script from the "Administrator" logon - Is that correct ? -Safal "Dmitry Streblechenko" wrote: What is the *exact* error (both decsription and error code)? Why do you need to loop through items in a list instead of just modifying the RDOSession.CurrentUser object? Dmitry Streblechenko (MVP) http://www.dimastr.com/ OutlookSpy - Outlook, CDO and MAPI Developer Tool "Safal" wrote in message ... I tried a simple example as below but come across the mentioned error - Redemption.RDOAddressEntry: Error calling IMAPIProp::SetProps For Each objAddressEntry In objAddressEntries If(objAddressEntry.Fields(CdoPR_DISPLAY_NAME)=Sess ion.CurrentUser)Then objAddressEntry.Fields(CdoPR_TITLE) = "Test" objAddressEntry.Save End If Next Does this have to do with access rights ? -Safal "Dmitry Streblechenko" wrote: Of course, just set the the relevant properties using RDOAddressEntry.Fields() and call RDOAddressEntry.Save Dmitry Streblechenko (MVP) http://www.dimastr.com/ OutlookSpy - Outlook, CDO and MAPI Developer Tool "Safal" wrote in message ... Thanks veyr much Dmitry and Ken. Is it possible to update the GAL entries using redemption ? Or do we have to switch back to CDO ? Please let me know of any samples available online. -Safal "Dmitry Streblechenko" wrote: You can access any property exposed by GAL through RDOAddressEntry.Fields - see http://www.dimastr.com/redemption/rd...htm#properties You can see the exposed properties using OutlookSpy (click IAddrBook button, click "Open Root Container", go to the GetHierarchyTable tab, etc) Dmitry Streblechenko (MVP) http://www.dimastr.com/ OutlookSpy - Outlook, CDO and MAPI Developer Tool "Safal" wrote in message ... Hi, I am using the redemption object to connect to the GAL and read each item with its attributes like Name,Department,telephone etc. Below is the script I tried - objAddressEntry.Fields seems to be failing (does not find the collection) - Any particular reason ? Where as objAddressEntry.Name seems to work fine and returns the name of the group or contact from the GAL. Also how can I update the GAL ? (as a next step) Const CdoPR_GIVEN_NAME = &H3A06001F Const CdoPR_TITLE = &H3A17001E set Session = CreateObject("Redemption.RDOSession") Session.Logon set AddrList = Session.AddressBook.AddressLists.Item("Global Address List") MsgBox "There are " & AddrList.AddressEntries.Count & " items in the GAL" Set objAddressEntries = AddrList.AddressEntries int i=0 For Each objAddressEntry In objAddressEntries on error resume next Set objAddressFields = objAddressEntry.Fields MsgBox objAddressEntry.Name If Not objAddressFields is Nothing Then MsgBox objAddressFields.Item(CdoPR_GIVEN_NAME).Value MsgBox objAddressFields.Item(CdoPR_TITLE).Value End If Next Regards, Safal |
All times are GMT +1. The time now is 09:20 AM. |
|
Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 2.4.0
Copyright ©2004-2006 OutlookBanter.com