Opening at current file's path

Environment: -->

I have needed many times to open the file dialog at the current file's path so that I can select other files related to current file. For example, we will often be doing 'Find in Files' in MSDEV's Samples Directories or MFC Source Directories. Once some of those files are opened, we would also like to open the related H files or other View files etc. To do that, mostly we open the directory and files explicitly by file dialog. And we can face similar scenario in many other cases.

Instead of opening explicitly, the following simple macro helps to change the DevStudio's current directory to the active file's path and opens the file dialog. Maybe somebody has done this sort of thing before but I thought I could share this with others here.

Sub OpenAtActiveFilePath()
'DESCRIPTION: Sets the application's working directory to the active file's directory

Dim PathString
PathString = ActiveDocument.Path
PrintToOutputWindow "Before: " + Application.CurrentDirectory
Application.CurrentDirectory = PathString
ExecuteCommand "FileOpen"
PrintToOutputWindow "After: " + Application.CurrentDirectory
End Sub

Date Last Updated: February 3, 1999


  • file transfer help from u GurU's

    Posted by martin08ph on 02/15/2006 03:59am

    am new as VB .NET developer guys,need a syntax or code for me to copy files to other path.

  • Win2k problem???

    Posted by Legacy on 10/02/2000 12:00am

    Originally posted by: Tom Saul

    Does this macro work for anyone under Win2K? I added some debugging code and it seems to do the correct dir changes, but the open dialog ignores the current dir and always uses the last load location.

  • You can do this without a macro

    Posted by Legacy on 02/09/1999 12:00am

    Originally posted by: Kenneth Kasajian

    You can do this without a macro. Make the desired document current. To make MSDEV's current directory be where the currently opened document is, simply do a File / Save As but don't save -- just cancel. In other words, Hit Alt-F, A then Esc.
    Now you can do a file open (Alt-F, O) and you'll be in the right place.

  • Modification so that macro still works even if no documents are open

    Posted by Legacy on 02/08/1999 12:00am

    Originally posted by: Tom Archer

    Mr. Raju's macro is very useful. Therefore, I added it to my "macro" toolbar and use it instead of
    the typical File Open button on the Standard toolbar. However, like anything else, when you get accustomed to
    something, you want to use it all the time. 

    Unfortunately, in its current incarnation, the macro will fail if you don't have an open document. Therefore, I made a very slight modification to have the macro display the File Open dialog using the application's current directory if no documents are open in Visual Studio. If there are any documents that are open, the original code is executed and the File Open dialog is displayed using the directory of the currently active document.

    Sub OpenCurrFolder()

    'DESCRIPTION: Sets the application's working directory
    ' to the active file's directory

    PrintToOutputWindow "Before: " + Application.CurrentDirectory

    Dim PathString

    if Application.Documents.Count > 0 then
    PathString = ActiveDocument.Path
    PathString = ApplicationCurrentDirectory
    end if
    Application.CurrentDirectory = PathString

    PrintToOutputWindow "After: " + Application.CurrentDirectory

    ExecuteCommand "FileOpen"
    End Sub

Leave a Comment
  • Your email address will not be published. All fields are required.

Top White Papers and Webcasts

  • U.S. companies are desperately trying to recruit and hire skilled software engineers and developers, but there's simply not enough quality talent to go around. In response, companies often resort to inferior solutions -- hiring substandard developers and engineers, recruiting talent on a part-time or temporary basis, poaching people from competitors, or burdening an already stressed IT staff for more of their labor. Fortunately, there's a better solution. Read this white paper to learn the business value of …

  • Lenovo recommends Windows 8 Pro. "I dropped my laptop getting out of the taxi." This probably sounds familiar to most IT professionals. If your employees are traveling, you know their devices are in for a rough go. Whether it's a trip to the conference room or a convention out of town, any time equipment leaves a user's desk it is at risk of being put into harm's way. Stay connected at all times, whether at the office or on the go, with agile, durable, and flexible devices like the Lenovo® …

Most Popular Programming Stories

More for Developers

RSS Feeds

Thanks for your registration, follow us on our social networks to keep up-to-date