ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   using a filedialog box from a dll (https://www.excelbanter.com/excel-programming/359835-using-filedialog-box-dll.html)

Paul

using a filedialog box from a dll
 
I compiled a working dll with office XP developer (code below). It does the
following:
1) loads a folder picker dialog box.
2) I choose a folder and save it to a variable
3) when "OPEN" is clicked msgbox is generated
I am call this function via a custom menu item
Problem/Issue occurs when the if statement is being executed, Excel
hangs/stops responding. I think it has to do with the dialog being/not being
modal but there does not seem to be any way to change that. Also when the
diabox is ls loaded it does not get the focus. What is up with that?
Thanks in advance

Private Sub message()
MsgBox "Can you read this"
Dim DefaultDir As String
Set folder = Application.FileDialog(msoFileDialogFolderPicker)
If folder.Show < 0 Then
DefaultDir = folder.SelectedItems.Item(1) & "\"
MsgBox "Default Dir is " & DefaultDir
ElseIf folder.Show = 0 Then
MsgBox "cancel button selected."
End If
End Sub


Tom Ogilvy

using a filedialog box from a dll
 
I can't answer your questions, but I know you don't want to use folder.show
twice:

Private Sub message()
MsgBox "Can you read this"
Dim DefaultDir As String
Set folder = Application.FileDialog(msoFileDialogFolderPicker)
If folder.Show < 0 Then
DefaultDir = folder.SelectedItems.Item(1) & "\"
MsgBox "Default Dir is " & DefaultDir
Else
MsgBox "cancel button selected."
End If
End Sub

If it wasn't "Not zero", then it must be zero, so no need to show the dialog
a second time to ask the user again.

--
Regards,
Tom Ogilvy


"Paul" wrote:

I compiled a working dll with office XP developer (code below). It does the
following:
1) loads a folder picker dialog box.
2) I choose a folder and save it to a variable
3) when "OPEN" is clicked msgbox is generated
I am call this function via a custom menu item
Problem/Issue occurs when the if statement is being executed, Excel
hangs/stops responding. I think it has to do with the dialog being/not being
modal but there does not seem to be any way to change that. Also when the
diabox is ls loaded it does not get the focus. What is up with that?
Thanks in advance

Private Sub message()
MsgBox "Can you read this"
Dim DefaultDir As String
Set folder = Application.FileDialog(msoFileDialogFolderPicker)
If folder.Show < 0 Then
DefaultDir = folder.SelectedItems.Item(1) & "\"
MsgBox "Default Dir is " & DefaultDir
ElseIf folder.Show = 0 Then
MsgBox "cancel button selected."
End If
End Sub


Paul

using a filedialog box from a dll
 
Thanks tom, a slight typo. after further review testing and pulling hair. I
have found out a think or two that I would like to add.
1) when I select my folder and select the "OPEN" button the msgbox opens a
new excel window. I have to ALT+TAB to find it and select the "OK" button on
the msgbox but the second generated excel window is still there. I have been
reading in the help and it says that when the filedialog box starts it waits
for user input and after the user selects "OPEN" or "CANCEL" VBA continues on
its mary way with the next line of code.
Hope this help
Thanks again for your help.

"Tom Ogilvy" wrote:

I can't answer your questions, but I know you don't want to use folder.show
twice:

Private Sub message()
MsgBox "Can you read this"
Dim DefaultDir As String
Set folder = Application.FileDialog(msoFileDialogFolderPicker)
If folder.Show < 0 Then
DefaultDir = folder.SelectedItems.Item(1) & "\"
MsgBox "Default Dir is " & DefaultDir
Else
MsgBox "cancel button selected."
End If
End Sub

If it wasn't "Not zero", then it must be zero, so no need to show the dialog
a second time to ask the user again.

--
Regards,
Tom Ogilvy


"Paul" wrote:

I compiled a working dll with office XP developer (code below). It does the
following:
1) loads a folder picker dialog box.
2) I choose a folder and save it to a variable
3) when "OPEN" is clicked msgbox is generated
I am call this function via a custom menu item
Problem/Issue occurs when the if statement is being executed, Excel
hangs/stops responding. I think it has to do with the dialog being/not being
modal but there does not seem to be any way to change that. Also when the
diabox is ls loaded it does not get the focus. What is up with that?
Thanks in advance

Private Sub message()
MsgBox "Can you read this"
Dim DefaultDir As String
Set folder = Application.FileDialog(msoFileDialogFolderPicker)
If folder.Show < 0 Then
DefaultDir = folder.SelectedItems.Item(1) & "\"
MsgBox "Default Dir is " & DefaultDir
ElseIf folder.Show = 0 Then
MsgBox "cancel button selected."
End If
End Sub



All times are GMT +1. The time now is 12:06 AM.

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