Recently I’ve seen more Office 2010 at the work place and I noticed that the same technique for disabling the proofing tools I used in my last article for 2007 did not cut it. Microsoft put an even more impervious anti-corruption techniques in place, putting an end to my breakage of the proofing files hoping it wouldn’t complain. At last I found a solution:

ToggleProof Executable 1.0 (304Kb)
ToggleProof Executable 1.1 (297Kb 7.16.2012)

ToggleProof AutoIt Source Code 1.0 (16Kb)
ToggleProof AutoIt Source Code 1.1 (17Kb 7.16.2012)

Usage: ToggleProof.exe “path\to\ntuser.dat\file”

Example (Win7): ToggleProof1.exe “c:\users\mike\ntuser.dat”
Example (Win XP): ToggleProof1.exe “c:\documents and settings\mike\ntuser.dat”

Important Notes: Must be run from administrator account. Targeted account must have opened Word at least once (it will still work, but not fully as some auto-correct features must be initiated in the registry first). Targeted account can not be logged on while running this. This toggles proofing on/off and will not affect other accounts. This disables the options menu/auto-correct/thesaurus/grammar.

Tips: If using this and you need an easy way to toggle proofing, simply make a shortcut to ToggleProof.exe and right-click the shortcut and select properties. From there you can append the location of the ntuser.dat (in quotes) to the target field.  Then all you have to do from there on in is click that shortcut to toggle whether or not proofing is on.

Change Log

1.1:

  • Added extra restrictions where needed as reported by Craig/Tester and B.G. Arets

Additional Information / Making Of

My office 2007 article for disabling proofing was a simple hack. I renamed msproof6.dll (controls all proofing), then when I noticed Office install came up to repair that missing file, I simply also renamed that setup file. It never complained after that and proofing was gone.

Office 2010 employed a better technique. Using the same idea of renaming the dll and setup exe resulted in a third, much harder msi check/reinstall program. Only way to get around that would be to modify the C:\Windows\Installer directory which can easily break stuff making toggle difficult.

Proofing Folder Hack

My tool does not use a hack but this may be useful to others. I noticed that there was a Proof folder under Program Files\Microsoft Office\Office14. The proof file had LEX files (word dictionaries) named the following:

MSSP7EN (Spelling)
MSTH7EN (Thesaurus)
MSHY7EN (Hyphenation)

Also worth noting – EN is for the english locale. You will also see FR (french) and ES (spanish). Here’s a full listing.

Replacing those LEX files with an empty LEX would disable those functions without impacting the program or setting off an alarm. There is a French LEX file by default (for GR – Grammar) that is only 1KB which I replaced SP/HY/TH with to disable other features. Adjusting the Grammar LEX would crash the program however, as half the code is part of the DLL’s beneath the Proof folder.

To disable Grammar in my ‘hack’ version I simply put in a blank DLL (even just rename a text file to that DLL name). Disgusting, I know.  Only issue was, in some cases Office would believe Proofing was not installed, and would prompt the user to reinstall it (only once), and after a quick progress bar, it would go away (proofing still being disabled).

The Proper Way

There is a much better way, and that is by group policy. However there were snags there too… First off, Microsoft has the group policies available for download and integration with your desktop or AD here, which also contains a listing of everything in a handy excel file. I found the installation details for what to do with the ADML/ADMX files for this in this Microsoft Article. Once done, I had a group policy editor with (almost..) every setting available.

Only little snag I had, there is NOTHING which turns of Auto Capitalization ‘at the beginning of a table or cell’ under the auto formatting in Word Options. The only way around this is to modify HKCU\Software\Microsoft\Office\14.0\Word\Data manually. This is a nice big binary value. Fun stuff!.. Using comparison software, I checked the value on/off and compared two registry exports. My code writes six 0’s disabling this. This is the only reason why word must be started at least once if made on a new user account before running the proofing tool. If not run once, word will initialize new values over this. I also didn’t want to write an entire pre-saved value in the odd case that it sets other defaults to something else or breaks office for people with slightly different versions.

I have no idea why they didn’t include a policy for that.. I came across a lot of mad admins wondering why capitalization was still going on (they disabled ‘capitalize the beginning of sentences’, but for each new line, that’s not the same thing, thats the ‘capitalize beginning of table or cell’!).

For disabling the ribbon buttons I used a combination of the Group Policies and the documents from Microsoft Containing Control ID’s (Office 2007, Office 2010). This has a listing of all controls, EXCEPT for the options menu within File — a critical piece as any user would be able to re-enable proofing. Wondering if there was an option I developed an autoit to disable a wide range of values, then did a basic binary search method to find it (see below).

#RequireAdmin

RegDelete("HKCU\Software\Policies\Microsoft\office\14.0")

For $i = 11322 to 11325
RegWrite("HKCU\Software\Policies\Microsoft\office\14.0\word\disabledcmdbaritemslist", "TCID" & $i, "REG_SZ", $i)
Next

Turns out the value was 11323 (as you can see in the above code as I narrowed I stopped around 11322/11325.

Upon searching for that value I found an extremely helpful article by ‘acsheehy’ who already did this whole idea in 2007 (and I was able re-use the control ID’s and key ID’s which carried over to this program).

Additional Reading for Admins

Proofing Tools Deployment Microsoft Article

Comments 27

  • MANY Thanks for providing such a quick and simple way to disable this!

  • Anyway of undoing this or do we have to create a new profile to unfix this?

  • The program toggles the functionality, so just run it again.

  • Hi Mike…thanks….yup after i wrote this i tested and it toggled back again. We have also set to disable Options within Word so if we go to File – Options = greyed out.
    Interestingly if we go to the review tab, see that 3 options for spelling, research and thesaurus greyed out which is supposed to be but if we click on Languages – Languages Preferences, it magically opened up word options and best of all, we can go to Proofing – checked back “Check spelling as you type” and “Mark grammar errors as you type” and boom spelling is back again.
    Any ideas?

  • Mike – same as is as the previous Tetster – this works great for us in the classroom for test exam accounts – but using the the Language Preferences option enables the kids to still get to the Options sections…any ideas?

  • Thanks for the find! I’ve been far too busy lately but when things settle down a bit I will be sure to look into this and post the fix. Stay tuned.

  • Bloody clever, these Japanese (c:<

    Just a couple of questions, though, as I am trying to do this remotely on my home network – I'm in one country, the family is in another!

    Vis a vis the shortcut, would the following be correct for the properties/target:
    d:\downloads\ToggleProof.exe "C:\users\bloggs\ntuser.dat" where "bloggs" is the affected user?

    Is there anyway of knowing whether or not the Toggle is ON or OFF?!

    Dziękuję

  • Hi Dziękuję,
    when i ran this first time i got a proofing disabled message then checked and worked well

  • Great post. I was checking constantly this weblog and I’m impressed! Extremely helpful info specially the last part :) I take care of such information much. I was looking for this certain info for a long time. Thanks and good luck.

  • Thanks all. I have finally spared time to get around to a few additions in locking down the Office Proofing preferences better. Hope this helps. Version 1.1 can be downloaded from the link in the article.

  • I work in a private school with about 200 PCs. 95% of the users have their appdata folder redirected to the server. Using roaming/mandatory profiles
    the 7-8 graders especially love to edit the ACL files with scatalogical changes
    Would we run this and point instead to the ntuser.man on the server?
    We would LOVE to have so simple and elegant a solution. Thanks for all you have done so far

  • I’m not sure how your servers are set up there Bruce. Really all that the code boils down to is registry changes. If you are in an AD environment they should be somewhat easy to deploy as Microsoft has group policy templates for this. I would be careful with mass editing of ntuser.dat files, I don’t quite trust my program for that as I have not spent time testing this thoroughly (really my fixes come mostly from feedback on this website).

  • Thank you for this fix it has taken me ages to find a way of diabling proofing

  • This seems to have stopped working on our laptops, when we run the exe we are just getting the message Usage: ToggleProof.exe “c:\users\someuser\ntuser.dat

  • Hi Adam, double check the command you are using, does that same user account exist? Can you post up how you are calling the exe?

  • This is probably a stupid question, how do I run this app and how do you append the targeted user? I need to set up this for an exam tomorrow.

    Thanks

  • Hi Moses,

    Nothing wrong with that question! You can run this app by opening up the Windows start menu from a different account then click run, then click Browse… -> Find the EXE that you downloaded. It should fill out the text with the location of the exe.

    Put a space after that value, and then type the location of the user ntuser.dat in quotes. Typically this file is under c:\documents and settings\USERNAME\ntuser.dat or c:\users\USERNAME\ntuser.dat (First being XP latter being Vista/7/etc)

    Hit OK.

  • Great!!!!

    Thanks a lot! I need the tool for preparating a notebook for an examination.

    Manfred

  • Hi, is there a way to disable the thesaurus/synonyms but leave the spell check active at all?

    Thanks

    Craig

  • What a great little program! Many thanks for writing this it’s taken a lot of the strain out of performing this task!

    Just to give back a little I have written a small batch file menu that allows you to enter a user variable for when you are toggling the proofing of multiple accounts. Just copy the below and save it as a batch (.bat) file in the directory you’ve saved the ToggleProof executable into:

    @ECHO OFF

    :MENU
    ECHO.
    ECHO ====== Toggle Office Proofing Tools on / off ======
    ECHO —————————————————
    ECHO 1. Toggle Proofing Tools
    ECHO —————————————————
    ECHO ====== PRESS ‘Q’ TO QUIT ==================
    ECHO.

    SET INPUT=
    SET /P INPUT=Please choose 1,Q:

    IF /I ‘%INPUT%’==’1’ GOTO Sel1
    IF /I ‘%INPUT%’==’q’ GOTO Quit
    IF /I ‘%INPUT%’==’Q’ GOTO Quit

    CLS

    :Quit
    ECHO Exiting Menu…
    exit

    :Sel1
    ECHO.
    ECHO Enter the Local Username to toggle:
    ECHO.
    SET /P user=Username:

    ToggleProof1.exe c:\users\%user%\ntuser.dat

    Pause
    ECHO.
    ECHO Returning to Menu
    goto Menu

  • Updated batch menu above so the user can select which version of windows (currently XP / 7) they are running (note the short filename for xp):

    @ECHO OFF

    :MENU
    ECHO.
    ECHO ====== Toggle Office Proofing Tools on / off ======
    ECHO —————————————————
    ECHO 1. Toggle Proofing Tools (W7)
    ECHO 2. Toggle Proofing Tools (XP)
    ECHO —————————————————
    ECHO ====== PRESS ‘Q’ TO QUIT ==========================
    ECHO.

    SET INPUT=
    SET /P INPUT=Please choose 1,2 or Q:

    IF /I ‘%INPUT%’==’1’ GOTO Sel1
    IF /I ‘%INPUT%’==’2’ GOTO Sel2
    IF /I ‘%INPUT%’==’q’ GOTO Quit
    IF /I ‘%INPUT%’==’Q’ GOTO Quit

    CLS

    :Quit
    ECHO Exiting Menu…
    exit

    :Sel2
    ECHO.
    ECHO Enter the Local Username to toggle (xp):
    ECHO.
    SET /P user=Username:

    ToggleProof1.exe c:\Docume~1\%user%\ntuser.dat

    Pause
    ECHO.
    ECHO Returning to Menu
    goto Menu

    :Sel1
    ECHO.
    ECHO Enter the Local Username to toggle (w7):
    ECHO.
    SET /P user=Username:

    ToggleProof1.exe c:\users\%user%\ntuser.dat

    Pause
    ECHO.
    ECHO Returning to Menu
    goto Menu

  • Synonym are not disabled by toggle proof. Can this be included. If I go via registry to disable the synonym, it enables the toggle proof. Any idea?

  • Hello

    Was wondering if this just alters the file (ntuser.dat) and makes no registry change at all.

    If this is the case I thought maybe I would give it a bash on the server (on the ntuser.dat file stored there) so that the exam accounts we have are permanently proof off. Just didn’t want to risk a major problem.

    Great program :)

    Thanks :)

  • Hi Mike,
    Your Tooggleproof1 program has been working really well on our laptops for exam use. Thank you. But recently we upgraded to Office 2013 and realised the program does not disable all the grammar and spell checking options. Green and red lines are still missing but it still autocorrects, auto capitalise the start of a sentence and the Spelling and Grammar button within the Review tap still works.
    Are you planning on modifying the program for Office 2013 sometime in the near future? We would be very grateful!

  • Dear Alison,

    Download the source code from this site. Open the script. Replace every “14.0” in the script to “15.0”.
    Save it and compile the script into an exe file. Then run it like this: “ToggleProof1.exe” “c:\users\%user%\ntuser.dat”

    That should do it.

Pingbacks

Leave a Reply

Your email address will not be published. Required fields are marked *