View Single Post
  #7   Report Post  
Posted to microsoft.public.excel.misc
Ayo Ayo is offline
external usenet poster
 
Posts: 489
Default Is Multi click Event possible?

Thanks for everything so far Bob, but I am going to ask for your help once
more if you don't mind. It seems I take 5 steps forward and three steps back.
It looked like I got it to work the way it should then all of a sudden, it's
not working any more. I guess I need someone else to look the code over for
me and maybe see what I don't see. I would reaally appreciate it if you can
look at this and maybe tell me what I am doing wrong.

Thanks
Ayo

Option Explicit

Public WithEvents mButtonGroup As msforms.CommandButton

Private Sub mButtonGroup_Click()
Dim btn_num As String
'MsgBox mButtonGroup.Caption & " has been pressed"
btn_num = Right(mButtonGroup.Name, Len(mButtonGroup.Name) - 6)
assignFiles btn_num
End Sub

Sub assignFiles(btn_num As String)
Dim getFolder As String
Dim fl As FileDialog
Dim ctl As Control
Dim vrtSelectedItem As Variant

Set fl = Application.FileDialog(msoFileDialogFilePicker) '.InitialFileName

With fl
For Each ctl In frmOpenFiles.Controls
If TypeName(ctl) = "TextBox" Then
If Len(ctl.Name) = 6 Then
If Right(ctl.Name, 1) = btn_num Then GoTo Get_File

ElseIf Len(ctl.Name) = 7 Then
If Right(ctl.Name, 2) = btn_num Then GoTo Get_File

End If
End If
Exit Sub
Next ctl
Get_File:
.InitialFileName = ctl.Value
If .Show = -1 Then
For Each vrtSelectedItem In .SelectedItems
getFolder = vrtSelectedItem
Next vrtSelectedItem
End If
If getFolder = Empty Then
MsgBox "You Must select a file to continue. Please Try Again."
Exit Sub
ElseIf getFolder < Empty Then
ctl.Text = getFolder
End If
End With

End Sub

"Bob Phillips" wrote:

No, just change my throw-away example code, the MsgBox, with your real code,
the FileDialog.

--
---
HTH

Bob

(there's no email, no snail mail, but somewhere should be gmail in my addy)



"Ayo" wrote in message
...
Hey Bob,
Thanks again. I got that to work with the form that I have but I don't
know how to get to the next stage. Instead of showing a message box I want
it
to open the Open File Dialog to a specific folder. Do I have to creat
another
class for that? I am lost again. Help, please.

Ayo

"Bob Phillips" wrote:

In the userform, add this code

Option Explicit

Dim mcolEvents As Collection

Private Sub UserForm_Initialize()
Dim cBtnEvents As clsUserFormEvents
Dim ctl As msforms.Control

Set mcolEvents = New Collection

For Each ctl In Me.Controls
If TypeName(ctl) = "CommandButton" Then
Set cBtnEvents = New clsUserFormEvents
Set cBtnEvents.mButtonGroup = ctl
mcolEvents.Add cBtnEvents
End If
Next

End Sub


And create a Class module (call it clsUserFormEvents) module, with this
code

Option Explicit

Public WithEvents mButtonGroup As msforms.CommandButton

Private Sub mButtonGroup_Click()
MsgBox mButtonGroup.Caption & " has been pressed"
End Sub


--
---
HTH

Bob

(there's no email, no snail mail, but somewhere should be gmail in my
addy)



"Ayo" wrote in message
...
I have 17 CommandButtons, "Browse..." on a form.
Each one of them is suppose to open the FileOpen Dialog at a specific
folder
After selecting a file, the file is to be assign to the TextBox
corresponding to each button
A few of them open to the same folder location

My question is, is it possible to write a code that doesn't require me
writing a click event for each Browse button?
And if there is such a code I would appreciate any help to point me in
the
right direction.

Thanks