Solved

Common Dialog Box won't observe INITDIR value

Posted on 2009-07-02
5
914 Views
Last Modified: 2013-11-25
I have a form with a lot of command buttons all launching the COMMON DIALOG BOX ( names CD1 in my app)
Under each command button there is a different CD1.INITDIR value (for different folders on the drive)
The problem is that the COMMON DIALOG control is not changing to each individual directory. Whatever one I choose first, is the one that each COMMAND BUTTON opens up, regardless of what the CD1.INITDIR value is set to. I even DEBUGd it and watched the value of INITDIR and it IS CHANGING to the right folder, but the DIALOG box keeps opening up to the same folder as the first one I pick.
Help...

On Error GoTo ExitMe

seld = 2

Command2.Value = 0

DoEvents

 

CD1.InitDir = Text37.Text

CD1.Filter = "MP3 Audio File (*.mp3)|*.mp3"

CD1.DefaultExt = "mp3"

CD1.DialogTitle = "Select Audio File"

CD1.CancelError = False

CD1.ShowOpen

 

 

Text2.Text = CD1.FileName

DoEvents

CD1.FileName = ""

 

Exit Sub

ExitMe:

MsgBox "Error " & Err.Number & ": " & Err.Description & vbCrLf & "in Save" & vbCrLf & "The error occured at line: " & Erl, vbAbortRetryIgnore + vbCritical, "Error"

Open in new window

0
Comment
Question by:rbend
  • 2
  • 2
5 Comments
 
LVL 5

Expert Comment

by:jgbreeden
ID: 24769055
where is CD1 declared? If it is outside of this sub, maybe if you move it into this sub it will reload properly since it will go out of scope at the end of the sub.
0
 

Author Comment

by:rbend
ID: 24769174
The same code as above is in each COMMAND button, with only 2 things changed.. one being the initial directory of CD1
So I would say it is declared in every button
0
 

Accepted Solution

by:
rbend earned 0 total points
ID: 24771582
Found my own solution:
This works everytime:

--------------------------------------------------

Function fBrowseForFile(pathto)

' This function opens a common file browsing dialog box

' pointed at the local C:\ drive.  When a file is selected

' this function will return the path and filename in a string.

' If cancel is clicked or the browse window is closed without

' a file being selected, the function returns an empty string.

sBrowsePath = pathto

sBrowseFilter = "All Files|*.mp3"

Set oBrowseDialog = CreateObject("UserAccounts.CommonDialog")

oBrowseDialog.Filter = sBrowseFilter

oBrowseDialog.InitialDir = sBrowsePath

oBrowseDialog.Flags = &H80000 + &H4 + &H8

oBrowseDialog.ShowOpen

fBrowseForFile = oBrowseDialog.FileName

End Function

-----------------------------------------------

Open in new window

0
 
LVL 5

Expert Comment

by:jgbreeden
ID: 24772984
That should do it, the main point being that you are creating it inside the function.  There is probably a
Dim CD1 statement at the form level, moving that inside the function would have the same effect.
0

Featured Post

Do You Know the 4 Main Threat Actor Types?

Do you know the main threat actor types? Most attackers fall into one of four categories, each with their own favored tactics, techniques, and procedures.

Join & Write a Comment

Local Continuous Replication is a cost effective and quick way of backing up Exchange server data. The following article describes the steps required to configure Local Continuous Replication. Also, the article tells you how to restore from a backup…
Marketers need statistics and metrics like everybody else needs oxygen. In this article we explain how to enable marketing campaign statistics for Microsoft Exchange mail.
Get people started with the utilization of class modules. Class modules can be a powerful tool in Microsoft Access. They allow you to create self-contained objects that encapsulate functionality. They can easily hide the complexity of a process from…
To show how to generate a certificate request in Exchange 2013. We show this process by using the Exchange Admin Center. Log into Exchange Admin Center.:  First we need to log into the Exchange Admin Center. Navigate to the Servers >> Certificates…

707 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

13 Experts available now in Live!

Get 1:1 Help Now