This site will look better if you upgrade to a browser that supports web standards.
Word stores your ~/Library/Preferences/Microsoft/com.microsoft.Word.prefs.plist file, where ~ is your home folder. If this file ever gets corrupted or you have to run Remove Office, you'll lose your Work menu items. One way to preserve them is to store the items in a safe place. I choose to use an add-in to store the items in a text file store in the ~/Library/Application Support/Microsoft Office/Word folder. This folder isn't created by Word or Office (it should be, but that's a different story), so the add-in creates the folder if it doesn't already exist.
menu items in theNote that, once you create your text file, you can edit the file directly using any text editor, to add or delete
menu items.This macro stores the Work menu items in a text file and deletes them from the menu:
Public Sub UnloadWorkMenuToTextFile() Dim nFileNum As Long Dim i As Long Dim sPathSep As String Dim sTextFilePath As String Dim sTextFileFullName As String sPathSep = Application.PathSeparator sTextFilePath = PrepSupportFolder If Len(sTextFilePath) > 0 Then sTextFileFullName = sTextFilePath & sPathSep & "jemWdWorkMenu.txt" nFileNum = FreeFile If Dir(sTextFileFullName) <> "" Then Kill sTextFileFullName Open sTextFileFullName For Output As #nFileNum For i = WorkMenuItems.Count To 1 Step -1 With WorkMenuItems(i) Write #nFileNum, .Path & sPathSep & .Name .Delete End With Next i Close #nFileNum End If End Sub
This macro checks to see if the storage folder exists. As written it's designed only for MacWord v.X or 2004, but it could be modified for earlier versions of MacWord or WinWord:
Public Function PrepSupportFolder() As String Dim sPathSep As String Dim sPrepSupportPath As String sPathSep = Application.PathSeparator #If Mac Then If Application.Version >= 10 Then sPrepSupportPath = Options.DefaultFilePath(wdUserOptionsPath) If Len(Dir(sPrepSupportPath, vbDirectory)) = 0 Then _ sPrepSupportPath = UCase(Left(sPrepSupportPath, 1)) & _ Mid(sPrepSupportPath, 2) sPrepSupportPath = Left(sPrepSupportPath, _ InStr(sPrepSupportPath, "preferences") - 1) & "Application Support" If Len(Dir(sPrepSupportPath, vbDirectory)) = 0 Then _ MkDir sPrepSupportPath sPrepSupportPath = sPrepSupportPath & sPathSep & "Microsoft Office" If Len(Dir(sPrepSupportPath, vbDirectory)) = 0 Then _ MkDir sPrepSupportPath sPrepSupportPath = sPrepSupportPath & sPathSep & "Word" If Len(Dir(sPrepSupportPath, vbDirectory)) = 0 Then _ MkDir sPrepSupportPath End If #End If If Len(Dir(sPrepSupportPath, vbDirectory)) > 0 Then _ PrepSupportFolder = sPrepSupportPath End Function
Of course, you'll want to retrieve the items when the add-in is loaded:
Public Sub LoadWorkMenuFromTextFile() Dim nFileNum As Long Dim sInput As String Dim sTextFilePath As String Dim sTextFileFullName As String sTextFilePath = GetSupportFolder If Len(sTextFilePath) > 0 Then sTextFileFullName = sTextFilePath & _ Application.PathSeparator & "jemWdWorkMenu.txt" nFileNum = FreeFile If Len(Dir(sTextFileFullName)) > 0 Then Open sTextFileFullName For Input As #nFileNum Do While Not EOF(nFileNum) Input #nFileNum, sInput If Dir(sInput) <> "" Then WorkMenuItems.Add sInput Loop Close #nFileNum End If End If End Sub
Public Function GetSupportFolder() As String Dim sPathSep As String Dim sSupportPath As String sPathSep = Application.PathSeparator #If Mac Then If Application.Version >= 10 Then sSupportPath = Options.DefaultFilePath(wdUserOptionsPath) If Len(Dir(sSupportPath, vbDirectory)) = 0 Then _ sSupportPath = UCase(Left(sSupportPath, 1)) & _ Mid(sSupportPath, 2) sSupportPath = Left(sSupportPath, _ InStr(sSupportPath, "preferences") - 1) & "Application Support" _ & sPathSep & "Microsoft Office" & sPathSep & "Word" End If #End If If Len(Dir(sSupportPath, vbDirectory)) > 0 Then _ GetSupportFolder = sSupportPath End Function
To automate the above macros in an add-in, the following macros are called when the add-in is loaded and unloaded:
Public Sub AutoExec() LoadWorkMenuFromTextFile End Sub Public Sub AutoClose() UnloadWorkMenuToTextFile End Sub
Click to download an add-in that implements this technique, as well as adds an item to the Work menu that makes deleting items easier.
This page last updated
© Copyright 2001 - 2005 McGimpsey and Associates. Except where noted, all code on this site may be distributed under the Gnu GPL. Acknowledgement is appreciated.