![]() |
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 |
GAL reading and updation of data
It sure sounds like a permission issue...
Dmitry Streblechenko (MVP) http://www.dimastr.com/ OutlookSpy - Outlook, CDO and MAPI Developer Tool "Safal" wrote in message ... 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 |
GAL reading and updation of data
Hi,
Havent really managed to get rid of this permissioin issue. Does my NT logon or Username have to be given some specific permission using Active Directory ? Can you please specify what needs to be done to gain permissions on the GAL ? Also tried with an "Administrative" account but failed to work -Safal "Dmitry Streblechenko" wrote: It sure sounds like a permission issue... Dmitry Streblechenko (MVP) http://www.dimastr.com/ OutlookSpy - Outlook, CDO and MAPI Developer Tool "Safal" wrote in message ... 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 |
GAL reading and updation of data
See http://support.microsoft.com/kb/272198
Dmitry Streblechenko (MVP) http://www.dimastr.com/ OutlookSpy - Outlook, CDO and MAPI Developer Tool "Safal" wrote in message ... Hi, Havent really managed to get rid of this permissioin issue. Does my NT logon or Username have to be given some specific permission using Active Directory ? Can you please specify what needs to be done to gain permissions on the GAL ? Also tried with an "Administrative" account but failed to work -Safal "Dmitry Streblechenko" wrote: It sure sounds like a permission issue... Dmitry Streblechenko (MVP) http://www.dimastr.com/ OutlookSpy - Outlook, CDO and MAPI Developer Tool "Safal" wrote in message ... 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 03:45 PM. |
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