ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   populating the recipient address in outlook (https://www.excelbanter.com/excel-programming/432695-populating-recipient-address-outlook.html)

thomas donino

populating the recipient address in outlook
 
Hello,
I have a form with 4 checkboxes (night add more) that have email addresses.
I cant sort out how to determine which ones are checked to write them into
the recipient area. My thought was to set a variable, the say if #1 is
checked write it to the variable and if the second is checked add it to the
variable or if nothing check # 3 etc etc etc. Am I on the right course? Is
there a more efficient way to code this?

Thank you

Jacob Skaria

populating the recipient address in outlook
 
Hi Thomas

Try this code. No matter how many checkboxes are there the loop collects all
receipients which are checked to a string variable

Dim Ctrl As MSForms.Control
Dim strReceipients as String
For Each Ctrl In Me.Controls
If TypeOf Ctrl Is MSForms.CheckBox Then
If Ctrl.Object.Value = True Then
strReceipients = strReceipients & ";" & Ctrl.Caption
End If
End If
Next
MsgBox Mid(strReceipients, 2)

If this post helps click Yes
---------------
Jacob Skaria


"thomas donino" wrote:

Hello,
I have a form with 4 checkboxes (night add more) that have email addresses.
I cant sort out how to determine which ones are checked to write them into
the recipient area. My thought was to set a variable, the say if #1 is
checked write it to the variable and if the second is checked add it to the
variable or if nothing check # 3 etc etc etc. Am I on the right course? Is
there a more efficient way to code this?

Thank you


thomas donino

populating the recipient address in outlook
 
The code is breaking on the Me.Controls line
Do I need to reference the actual form name in the code?

"Jacob Skaria" wrote:

Hi Thomas

Try this code. No matter how many checkboxes are there the loop collects all
receipients which are checked to a string variable

Dim Ctrl As MSForms.Control
Dim strReceipients as String
For Each Ctrl In Me.Controls
If TypeOf Ctrl Is MSForms.CheckBox Then
If Ctrl.Object.Value = True Then
strReceipients = strReceipients & ";" & Ctrl.Caption
End If
End If
Next
MsgBox Mid(strReceipients, 2)

If this post helps click Yes
---------------
Jacob Skaria


"thomas donino" wrote:

Hello,
I have a form with 4 checkboxes (night add more) that have email addresses.
I cant sort out how to determine which ones are checked to write them into
the recipient area. My thought was to set a variable, the say if #1 is
checked write it to the variable and if the second is checked add it to the
variable or if nothing check # 3 etc etc etc. Am I on the right course? Is
there a more efficient way to code this?

Thank you


Jacob Skaria

populating the recipient address in outlook
 
I tried this from a commandbutton click and hence used Me.Controls . You can
refer the form name instead like UserForm1.Controls

If this post helps click Yes
---------------
Jacob Skaria


"thomas donino" wrote:

The code is breaking on the Me.Controls line
Do I need to reference the actual form name in the code?

"Jacob Skaria" wrote:

Hi Thomas

Try this code. No matter how many checkboxes are there the loop collects all
receipients which are checked to a string variable

Dim Ctrl As MSForms.Control
Dim strReceipients as String
For Each Ctrl In Me.Controls
If TypeOf Ctrl Is MSForms.CheckBox Then
If Ctrl.Object.Value = True Then
strReceipients = strReceipients & ";" & Ctrl.Caption
End If
End If
Next
MsgBox Mid(strReceipients, 2)

If this post helps click Yes
---------------
Jacob Skaria


"thomas donino" wrote:

Hello,
I have a form with 4 checkboxes (night add more) that have email addresses.
I cant sort out how to determine which ones are checked to write them into
the recipient area. My thought was to set a variable, the say if #1 is
checked write it to the variable and if the second is checked add it to the
variable or if nothing check # 3 etc etc etc. Am I on the right course? Is
there a more efficient way to code this?

Thank you


thomas donino

populating the recipient address in outlook
 
Jacob,

Thank you, its working great now

Tom

"Jacob Skaria" wrote:

I tried this from a commandbutton click and hence used Me.Controls . You can
refer the form name instead like UserForm1.Controls

If this post helps click Yes
---------------
Jacob Skaria


"thomas donino" wrote:

The code is breaking on the Me.Controls line
Do I need to reference the actual form name in the code?

"Jacob Skaria" wrote:

Hi Thomas

Try this code. No matter how many checkboxes are there the loop collects all
receipients which are checked to a string variable

Dim Ctrl As MSForms.Control
Dim strReceipients as String
For Each Ctrl In Me.Controls
If TypeOf Ctrl Is MSForms.CheckBox Then
If Ctrl.Object.Value = True Then
strReceipients = strReceipients & ";" & Ctrl.Caption
End If
End If
Next
MsgBox Mid(strReceipients, 2)

If this post helps click Yes
---------------
Jacob Skaria


"thomas donino" wrote:

Hello,
I have a form with 4 checkboxes (night add more) that have email addresses.
I cant sort out how to determine which ones are checked to write them into
the recipient area. My thought was to set a variable, the say if #1 is
checked write it to the variable and if the second is checked add it to the
variable or if nothing check # 3 etc etc etc. Am I on the right course? Is
there a more efficient way to code this?

Thank you


thomas donino

populating the recipient address in outlook
 
I have other checkboxes on the form that are not email addresses. How do i
differentiate them? Should I change those to radio buttons?

"Jacob Skaria" wrote:

I tried this from a commandbutton click and hence used Me.Controls . You can
refer the form name instead like UserForm1.Controls

If this post helps click Yes
---------------
Jacob Skaria


"thomas donino" wrote:

The code is breaking on the Me.Controls line
Do I need to reference the actual form name in the code?

"Jacob Skaria" wrote:

Hi Thomas

Try this code. No matter how many checkboxes are there the loop collects all
receipients which are checked to a string variable

Dim Ctrl As MSForms.Control
Dim strReceipients as String
For Each Ctrl In Me.Controls
If TypeOf Ctrl Is MSForms.CheckBox Then
If Ctrl.Object.Value = True Then
strReceipients = strReceipients & ";" & Ctrl.Caption
End If
End If
Next
MsgBox Mid(strReceipients, 2)

If this post helps click Yes
---------------
Jacob Skaria


"thomas donino" wrote:

Hello,
I have a form with 4 checkboxes (night add more) that have email addresses.
I cant sort out how to determine which ones are checked to write them into
the recipient area. My thought was to set a variable, the say if #1 is
checked write it to the variable and if the second is checked add it to the
variable or if nothing check # 3 etc etc etc. Am I on the right course? Is
there a more efficient way to code this?

Thank you


Jacob Skaria

populating the recipient address in outlook
 
Added one more check to check whether the caption is a mail id

Dim Ctrl As MSForms.Control
Dim strReceipients as String
For Each Ctrl In Me.Controls
If TypeOf Ctrl Is MSForms.CheckBox Then
If Ctrl.Object.Value = True Then
If Instr(Ctrl.Caption,"@") 0 Then
strReceipients = strReceipients & ";" & Ctrl.Caption
End If
End If
End If
Next
MsgBox Mid(strReceipients, 2)

If this post helps click Yes
---------------
Jacob Skaria


"thomas donino" wrote:

I have other checkboxes on the form that are not email addresses. How do i
differentiate them? Should I change those to radio buttons?

"Jacob Skaria" wrote:

I tried this from a commandbutton click and hence used Me.Controls . You can
refer the form name instead like UserForm1.Controls

If this post helps click Yes
---------------
Jacob Skaria


"thomas donino" wrote:

The code is breaking on the Me.Controls line
Do I need to reference the actual form name in the code?

"Jacob Skaria" wrote:

Hi Thomas

Try this code. No matter how many checkboxes are there the loop collects all
receipients which are checked to a string variable

Dim Ctrl As MSForms.Control
Dim strReceipients as String
For Each Ctrl In Me.Controls
If TypeOf Ctrl Is MSForms.CheckBox Then
If Ctrl.Object.Value = True Then
strReceipients = strReceipients & ";" & Ctrl.Caption
End If
End If
Next
MsgBox Mid(strReceipients, 2)

If this post helps click Yes
---------------
Jacob Skaria


"thomas donino" wrote:

Hello,
I have a form with 4 checkboxes (night add more) that have email addresses.
I cant sort out how to determine which ones are checked to write them into
the recipient area. My thought was to set a variable, the say if #1 is
checked write it to the variable and if the second is checked add it to the
variable or if nothing check # 3 etc etc etc. Am I on the right course? Is
there a more efficient way to code this?

Thank you



All times are GMT +1. The time now is 10:45 PM.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
ExcelBanter.com