A Microsoft Word Hack for Opening Documents

A buddy of mine didn't like the way Word decided which folder he needed when opening documents:

This one has always bothered me. Again, I'm writing along, and I need to open another Word file. I have a thousand folders within folders, because I have notes and papers going back years, organized by time and within that by the course I've taught, the research project, etc. At this level my organization is actually good, I can find things when I want them very quickly.

The folder I want, most frequently, is the same one within which I'm currently writing. For example, I'm working on lecture notes for tomorrow, and I need to check the syllabus in the current course.

But when I hit CTRL + O, of course, it takes me way back up to this high level, to "AlecDox," which is how I renamed whatever uber-macro folder the machine gave me initially. Then I have to open the current semester folder, the current course folder, then the doc I want. Wasted steps. Sometimes, it goes to whatever folder I Opened most recently. But *every time* it restarts, sleeps, or auto-logs me off, which of course it does all the time, it takes me back to the big high AlecDox folder.

Can I tell my computer to respond to every Open command by opening the folder within which I'm currently working -- that is, within which the currently-open document, if there is one, resides?

This is what I ended up having him do to make Word behave this way. Give it a go if you want the same behavior:

  1. Open a Word doc.
  2. Go to "Tools" ⇒ "Macro" ⇒ "Macros..."
  3. Under "Macro name", type:
    FileOpen
  4. Click Create.
  5. Some code representing the current FileOpen behavior will appear in a code editor. Select all of it and delete it. Replace it with this (largely stolen from a guy named Larry):
    Sub FileOpen()
    

    On Error GoTo ErrorHandler

    If ActiveDocument.Path &lt> "" Then ChangeTo = ActiveDocument.Path ChangeFileOpenDirectory (ChangeTo) SendKeys “+{TAB}” End If

    Application.Dialogs(wdDialogFileOpen).Show

    Exit Sub ' Exit to avoid handler. ErrorHandler: ' Error-handling routine.

    Application.Dialogs(wdDialogFileOpen).Show

    End Sub

  6. Close the code editor.

Seems to do the trick! And it turns out I prefer this behavior as well, so set up my own copy of Word to work this way.