0

I want to migrate many users from Office 2010 to Office 2013. As we are working in RDP sessions, the migration per user consists simply in changing the server name in their local .rdp file. However, our test cases and online research indicate that the following should be performed on a per user base, preferably before the first use:

  • open the user's Normal.dotm in Word 2013 (or Normal15pre.dotm if you forgot to do this in time)
  • go to file - convert
  • save the file back to Normal.dotm
  • Do the same with NormalEmail.dotm

Is there a way to automate this, e.g., via the user's login script?

1

You can do anything with PowerShell! For instance, the following function can open a Word document:

$FileName='C:\Users\UserName\AppData\Roaming\Microsoft\Templates\YourDocument.dotm'
$Word = New-Object –ComObject Word.Application
$Document=$Word.Documents.Open($Filename)

And save, then close it:

$Document.SaveAs([REF]$FileName)
$Document.Close()

After you create a script customized for your environment, you can add the Document.Convert method, which converts that document to the newest format. I haven't used this method myself yet, but trust that it would be as simple as this one line:

$Document.Convert()

For a more detailed example of using PowerShell to manipulate a Word document, look no further than this question on Stack Overflow. Another example can be found in The Scripting Guy's Q/A post, Weekend Scripter: Manipulating Word and Excel with PowerShell. Documentation about the object model, and the Document.Convert method in particular can be found on MSDN.

~

That said, the first thing that you might want to check is whether or not users have modified their default document and email templates. If they have, this may be an opportunity to standardize your defaulting formatting across the company. If you are not worried about overwriting customized Normal.dotm files, you can use Group Policy Preferences to simply push new template files to each machine. Instead of re-writing the book on that, I'll point you to a blog that is very familiar to GP admins: GroupPolicy.biz - Group Policy Setting of the Week 13 – Files. This post shows where in group policy preferences to configure a file push. Of course, even if you still convert all of the existing default templates, you can also use this method to deploy additional corporate templates to users.

Enjoy!

1

Add the RegistryKey : MigrateNormalOnFirstBoot = 1

Customization to the Normal template is lost after you upgrade to Word 2013

This issue occurs because Word creates a new Normal.dotm file when you upgrade to Word 2013. This is so that the default document template is optimized for Word 2013.

Resolution

To resolve this issue, add the MigrateNormalOnFirstBoot registry entry to the registry before you start Word 2013 after you upgrade Word. This registry entry prevents Word 2013 from renaming existing or custom Normal.dotm files. To add the registry entry, follow these steps:

Click Start, click Run, type regedit in the Open box, and then click OK.

Locate and then click the following registry subkey: HKEY_CURRENT_USER\Software\Microsoft\Office\15.0\Word\Options

On the Edit menu, point to New, and then click DWORD (32-bit) Value. Type MigrateNormalOnFirstBoot, and then press ENTER.

In the Details pane, right-click MigrateNormalOnFirstBoot, and then click Modify. In the Value data box, type 1, and then click OK. Exit Registry Editor.

The behavior of Word 2013 changes, depending on the presence and configuration of MigrateNormalOnFirstBoot. The following sections describe the behavior in more detail.

From: Customization to the Normal template is lost after you upgrade to Word 2013

In your case that will happen if the key is set at 1:

The following behavior will occurs in your case when MigrateNormalOnFirstBoot is set to 1:

Word 2013 uses the existing Normal.dotm file that is compatible with Word 2007 and Word 2010.

  • As far as I can tell, using the existing Normal.dotm will cause all documents to be created in compatibility mode(?) – Hagen von Eitzen Jul 5 '16 at 20:28
  • @HagenvonEitzen The registry key is named Migrate, compatibility mode will be shown if you open a old word document in my opinion. As that said, normal.dotm migration is an enough big problem that Microsoft did a KB for that. – yagmoth555 Jul 5 '16 at 20:31
0

I imagine the easiest method would be to utilize VBA to do this programatically. Internally, "conversion" is just handled like "saving in a different format", which means all you really need to do is:

  1. Open a document.
  2. Execute a Save As on said document, specifying the required (in your case, newer) file format.

To deploy this solution via logon script, I would do something like this:

  • Create a convert.docm file containing a macro that does the following:
    • Opens Normal.dotm
    • Uses Document.SaveAs2 to overwrite the file with a new copy in the current format.
    • Exits Word
  • Configure the macro to automatically run when the document is opened.
  • Configure your logon script to automatically open the document (winword.exe convert.docm)

I have almost no experience with automating things in Office, so this may not be the detail you were hoping for, but it should at least get you started.

I do wonder, however, how many of your users have actually modified their normal template. You might find that only a few users have made changes, and that it's easier just to handle those users individually, and use scripting/group policy to bulk replace the remaining files with the stock Office 2013 variants.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.