Command Button

J

jsirilla

Hi, I want to write some code for a custom form. I want the user to
click a button and an address book pops up -- the same way an address
book pops up when the user clicks "To...", but I want it to display a
particular set of users/emails, for example "clients."

Is this possible to do with Outlook forms? Any help would be much
appreciated!

Jake
 
J

jsirilla

Hi Sue, I am getting an error that says "Property is read only" when I
try to execute the code. (It must be obvious I'm not a VB programmer
yet...trying to learn though...sorry if the code is completely off!)

Here is the code:

Sub CommandButton2_Click()

set Session = CreateObject("Redemption.RDOSession")
Session.Logon
set Inbox = Session.GetDefaultFolder(olFolderInbox)
set Msg = Inbox.Items.Add
Msg.CC = "test1"
Msg.Recipients.ResolveAll
Msg.Subject = "test"
set AB = Session.AddressBook
set Recips = AB.ShowAddressBook(Msg.Recipients)
Msg.Recipients = Recips
Msg.Save

End Sub
 
J

jsirilla

When I publish and then run the form, and click on the button, a popup
appears that says "Property is read-only".

I don't know how to debug the code to find out what statement is doing
it :(
 
S

Sue Mosher [MVP-Outlook]

What version of Outlook, on what operating system?

In the meantime, you can add MsgBox statements between each pair of statements to get a sense for which execute before and after the error.

--
Sue Mosher, Outlook MVP
Author of Microsoft Outlook 2007 Programming:
Jumpstart for Power Users and Administrators
http://www.outlookcode.com/article.aspx?id=54
 
J

jsirilla

Outlook 2003, Windows XP.

Based on msgBox testing that you suggested, the problem occurs on the
first line:

set Session = CreateObject("Redemption.RDOSession")
 
S

Sue Mosher [MVP-Outlook]

Did you download and install the Redemption library?

The error message doesn't match the code statement. That statement is not setting any properties, read-only or otherwise.

This is a more likely problem statement:

Msg.Recipients = Recips

You cannot set a Recipients collection like that. Instead, you would need to loop through the Recips collection and, for each Recip.Address, call Msg.Recipients.Add to add that recipient to Msg.

To invoke the script debugger from Outlook 2003, open the item and choose Tools | Forms | Script Debugger. Choose New Instance of Microsoft Script Editor. Find your procedure and use the F9 key to place a breakpoint on the first line. When you click the button, code execution should stop at the breakpoint. You can then step through each statement by pressing the F11 key.

--
Sue Mosher, Outlook MVP
Author of Microsoft Outlook 2007 Programming:
Jumpstart for Power Users and Administrators
http://www.outlookcode.com/article.aspx?id=54


Outlook 2003, Windows XP.

Based on msgBox testing that you suggested, the problem occurs on the
first line:

set Session = CreateObject("Redemption.RDOSession")
 
J

jsirilla

Hi Sue, thanks for the info. However, I noticed even if I delete all
the other lines of code except for the first line, I still get the
read only error. Could it have something to do with my write
privileges on my computer?

I installed redemption using the registry and everything installed
properly, so I don't think that is the issue.


Jake
 
S

Sue Mosher [MVP-Outlook]

Since you didn't include the text of the earlier posts, I don't know what statement is the first line.
 
J

jsirilla

Sorry, the line is:

set Session = CreateObject("Redemption.RDOSession")

But you also earlier wrote "The error message doesn't match the code
statement. That statement is not setting any properties, read-only or
otherwise," which leads me to believe the problem is with the way the
Redemption libraries are being accessed by my computer rather than the
line of code itself.

-Jake
 
S

Sue Mosher [MVP-Outlook]

I've never heard of that warning message being associated with that statement. I have no further ideas. You could reinstall Redemption or drop a line to Redemption's developer.

--
Sue Mosher, Outlook MVP
Author of Microsoft Outlook 2007 Programming:
Jumpstart for Power Users and Administrators
http://www.outlookcode.com/article.aspx?id=54


Sorry, the line is:

set Session = CreateObject("Redemption.RDOSession")

But you also earlier wrote "The error message doesn't match the code
statement. That statement is not setting any properties, read-only or
otherwise," which leads me to believe the problem is with the way the
Redemption libraries are being accessed by my computer rather than the
line of code itself.

-Jake

Since you didn't include the text of the earlier posts, I don't know what statement is the first line.

Hi Sue, thanks for the info. However, I noticed even if I delete all
the other lines of code except for the first line, I still get the
read only error. Could it have something to do with my write
privileges on my computer?
I installed redemption using the registry and everything installed
properly, so I don't think that is the issue.

On Jan 17, 2:44 pm, "Sue Mosher [MVP-Outlook]"
Did you download and install the Redemption library?
The error message doesn't match the code statement. That statement is not setting any properties, read-only or otherwise.
This is a more likely problem statement:
Msg.Recipients = Recips
You cannot set a Recipients collection like that. Instead, you would need to loop through the Recips collection and, for each Recip.Address, call Msg.Recipients.Add to add that recipient to Msg.
To invoke the script debugger from Outlook 2003, open the item and choose Tools | Forms | Script Debugger. Choose New Instance of Microsoft Script Editor. Find your procedure and use the F9 key to place a breakpoint on the first line. When you click the button, code execution should stop at the breakpoint. You can then step through each statement by pressing the F11 key.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top