views:

66

answers:

1

I have a reference to the Microsoft Scripting Runtime (scrrun.dll) in one of my Access projects. If I open the object browser in VBA (by pressing F2) and choose 'Scripting' from the library dropdown it shows me all of the properties, functions, etc. for the Scripting library. If I choose one of these functions and then click on the help button (with the yellow question mark) it opens a help window with the title of 'Microsoft Visual Basic Help.'

It acts like it is unable to find the help file for this library. I can manually find the help file on my computer at the following location: "C:\Program Files (x86)\Common Files\microsoft shared\VBA\VBA6\1033\VBLR6.CHM". (Note: I have 64-bit Win 7, thus the '(x86)' in the Program Files folder name.)

I tried copying the help file to the following locations with no luck: "C:\Windows\Help\VBLR6.CHM" "C:\Windows\SysWOW64\VBLR6.CHM" (I believe SysWOW64 folder is the Win7 64-bit equivalent of C:\Windows\System32)

I have had this same problem with other referenced libraries as well, so I'm looking for some kind of generic solution. I'm hoping there is some way to specify a location for the help file of a particular reference, or something else along those lines. I appreciate any ideas.

A: 

Copy VBLR6.CHM to "C:\Program Files (x86)\Microsoft Office\Office10\1033\VBENLR98.CHM"

That's the short answer for this specific case...here's how to get there which may be useful for getting other help files associated:

  1. Download Process Monitor (currently hosted here: http://technet.microsoft.com/en-us/sysinternals/bb896645.aspx or do a Google search for Process Monitor)
  2. Run Process Monitor with the following filter: 'Process Name' 'is' MSOHelp.exe 'include'
  3. Open object browser in VBA
  4. Choose the library (Scripting in this case)
  5. Choose any function, property, or event in the library and click on the yellow question mark (this should open an empty window with the title Microsoft Visual Basic Help)
  6. Go back to Process Monitor and scroll all the way to the bottom of the list; make sure the Path and Result columns are displayed
  7. There should be dozens of 'PATH NOT FOUND' and 'NAME NOT FOUND' Results in the list. For each one of these results, there should be a corresponding Path where MSOHelp was looking for the help file. Choose any one of these and create a file with that path name. I chose to create a copy of the help file from its original location to the new spot and rename it to match what MSOHelp was looking for.

My best guess is that the scrrun.dll contains the name of the help file and over the years the dll stayed the same but the help file was renamed, modified, etc.

mwolfe02
Fascinating! I wonder how MS let the file name/path get out of synch? On my system, VBLR6.CHM was stored in %common files%\Microsoft Shared\VBA\VBA6\1033, which seems a very logical place for it, but the scripting runtime seems to expect it to be in the locations for standard Windows help files (%system32%, Windows\Help, %OfficeVersion%\1033 and so forth).
David-W-Fenton