View Single Post
  #4   Report Post  
Posted to microsoft.public.word.docmanagement
[email protected] dworst@gaic.com is offline
external usenet poster
 
Posts: 7
Default 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