MS Word 2003 Case statement code
Doug:
Sorry, I had an error in my code, but it still doesn't work.
Sub SendDocumentAsAttachment2()
Dim vmailbox
Dim bStarted As Boolean
Dim oOutlookApp As Outlook.Application
Dim oItem As Outlook.MailItem
On Error Resume Next
If Len(ActiveDocument.Path) = 0 Then
MsgBox "Document needs to be saved first"
Exit Sub
End If
Set oOutlookApp = New Outlook.Application
If Err 0 Then
Set oOutlookApp = New Outlook.Application
bStarted = True
End If
Set oItem = oOutlookApp.CreateItem(olMailItem)
vmailbox = " "
If Yes214.Value = True Then
vmailbox = "
ElseIf Yes215.Value = True Then
vmailbox = "DL-GAI.ITServices.Database.Services"
ElseIf Yes216.Value = True Then
vmailbox = "
ElseIf Yes2141.Value = True Then
vmailbox = "DL-GAI.ITServices.Info.Services.Informatica"
ElseIf text13.Value = True Then
vmailbox = text13
Else
vmailbox = ""
End If
With oItem
.To = vmailbox
.Subject = ActiveDocument.Name
'Add the document as an attachment, you can use the .displayname
property
'to set the description that's used in the message
.Attachments.Add Source:=ActiveDocument.FullName, Type:=olByValue,
DisplayName:="Document as attachment"
.Display
End With
If bStarted Then
oOutlookApp.Quit
End If
Set oItem = Nothing
Set oOutlookApp = Nothing
End Sub
wrote:
Doug:
Thanks for replying.
I have 4 Option Buttons and a text box so that is why it is evaluating
6 options. I didn't include that in my first email.
I put your code into my module, modifying it to fit the structure, but
even if the first condition Yes214.Value = True isn't true, it is
placing that email address in the To: field in my email. It doesn't go
past the first If statement.
What am I doing wrong???
Here is my code
Sub SendDocumentAsAttachment2()
Dim vmailbox
Dim bStarted As Boolean
Dim oOutlookApp As Outlook.Application
Dim oItem As Outlook.MailItem
On Error Resume Next
If Len(ActiveDocument.Path) = 0 Then
MsgBox "Document needs to be saved first"
Exit Sub
End If
Set oOutlookApp = New Outlook.Application
If Err 0 Then
Set oOutlookApp = New Outlook.Application
bStarted = True
End If
Set oItem = oOutlookApp.CreateItem(olMailItem)
vmailbox = " "
If Yes214.Value = True Then
vmailbox = "
If Yes215.Value = True Then
vmailbox = "DL-GAI.ITServices.Database.Services"
ElseIf Yes216.Value = True Then
vmailbox = "
ElseIf Yes2141.Value = True Then
vmailbox = "DL-GAI.ITServices.Info.Services.Informatica"
ElseIf text13.Value = True Then
vmailbox = text13
Else
vmailbox = ""
End If
With oItem
.To = vmailbox
.Subject = ActiveDocument.Name
'Add the document as an attachment, you can use the .displayname
property
'to set the description that's used in the message
.Attachments.Add Source:=ActiveDocument.FullName, Type:=olByValue,
DisplayName:="Document as attachment"
.Display
End With
If bStarted Then
oOutlookApp.Quit
End If
Set oItem = Nothing
Set oOutlookApp = Nothing
End Sub
Doug Robbins - Word MVP wrote:
You only have 4 Option Buttons, but your code is "evaluating" 6 conditions.
After you sort out that inconsistency, use an If...ElseIf...Else...End If
construction as follows
Use
If Yes214.Value = True Then
vmailbox = "
ElseIf Yes215.Value = True Then
vmailbox = "DL-GAI.ITServices.Database.Services"
ElseIf Yes216.Value = True Then
vmailbox = "
Else Yes2141.Value = True Then 'If there are only 4 buttons and the first 3
are False, then this one must be True
vmailbox = "DL-GAI.ITServices.Info.Services.Informatica"
End If
--
Hope this helps.
Please reply to the newsgroup unless you wish to avail yourself of my
services on a paid consulting basis.
Doug Robbins - Word MVP
wrote in message
oups.com...
I've created a word form with 4 radio buttons on it and a command
button. Inside of my code for the button I want the button upon click
to evaluate which radio button is true and then perform a function.
Below is what I have so far but it doesn work correctly. Could anyone
guide me as to what I'm doing incorrectly?
Thanks so much!.
Sub SendDocumentAsAttachment2()
Dim vmailbox
Dim bStarted As Boolean
Dim oOutlookApp As Outlook.Application
Dim oItem As Outlook.MailItem
On Error Resume Next
If Len(ActiveDocument.Path) = 0 Then
MsgBox "Document needs to be saved first"
Exit Sub
End If
Set oOutlookApp = New Outlook.Application
If Err 0 Then
Set oOutlookApp = New Outlook.Application
bStarted = True
End If
Set oItem = oOutlookApp.CreateItem(olMailItem)
vmailbox = " "
Select Case Yes214.Value
Case True
vmailbox = "
End Select
Select Case Yes215.Value
Case True
vmailbox = "DL-GAI.ITServices.Database.Services"
End Select
Select Case Yes216.Value
Case True
vmailbox = "
End Select
Select Case Yes2141.Value
Case True
vmailbox = "DL-GAI.ITServices.Info.Services.Informatica"
End Select
Select Case text13.Value
Case True
vmailbox = text13
Case Else
vmailbox = ""
End Select
With oItem
.To = vmailbox
.Subject = ActiveDocument.Name
'Add the document as an attachment, you can use the .displayname
property
'to set the description that's used in the message
.Attachments.Add Source:=ActiveDocument.FullName, Type:=olByValue,
DisplayName:="Document as attachment"
.Display
End With
If bStarted Then
oOutlookApp.Quit
End If
Set oItem = Nothing
Set oOutlookApp = Nothing
End Sub
|