Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save ssfang/251135045fba63dffc028fc28d5ed38c to your computer and use it in GitHub Desktop.
Save ssfang/251135045fba63dffc028fc28d5ed38c to your computer and use it in GitHub Desktop.
The process about Microsoft Office Document

The process about Microsoft Office Document.md

Description of the way that Excel saves files

Applies to: Microsoft Office Excel 2003, Microsoft Office Excel 2007, Excel 2010. From: MS.

Summary

This article describes how Microsoft Excel saves files.

More Information

When you save an existing file in Excel, Excel creates a temporary file in the destination folder that you specify in the Save As dialog box. The temporary file contains the whole contents of your workbook. If Excel successfully saves the temporary file, the temporary file is renamed with the file name you specify in the Save As dialog box.

This process of saving files makes sure that the original file is not damaged. The original file is useful if the save operation is not successful.

When Excel saves a file, Excel follow these steps:

  1. Excel creates a randomly named temporary file (for example, Cedd4100 with no file name extension) in the destination folder that you specified in the Save As dialog box. The whole workbook is written to the temporary file.
  2. If changes are being saved to an existing file, Excel deletes the original file.
  3. Excel renames the temporary file. Excel gives the temporary file the file name that you specified (such as Book1.xls) in the Save As dialog box.

Important Points About Saving

  • After Excel creates and saves the temporary file, all the changes are written to the temporary file.
  • If Excel cannot delete the existing file, you receive an error message. The original file and the temporary file both remain in the destination folder.
  • If Excel can delete the existing file, but Excel cannot rename the temporary file, you receive an error message. Only the temporary file remains in the destination folder.
  • If Excel saves a new file for the first time, Excel does not create a temporary file. Excel saves the file with the file name that you specified in the Save As dialog box.

Additional Information

For additional information, click the following article numbers to view the articles in the Microsoft Knowledge Base:

214073 You receive an error message when you try to save a file in Excel
289273 Description of the AutoRecover functions in Excel 2002
324521 XL2002: How to Recover a Lost Worksheet or Lost Version of a Worksheet

Office ~$ Files

From Office ~$ Files.

These files exist so that Office can report the user currently holding the file open.

Suppose you have a document on a network share and you want to edit it. Word tries to open the file, but that operation fails because the file is in use by someone else. You really need to work with the file, so you want to find the person who's holding it open and ask them to close it. If you had sufficient access to the file server, you could use the Shared Folders snap-in for MMC, but otherwise, you're stuck.

Therefore, Office writes one of these tiny files when opening a document. It records the display name of the current user. When another Office instance tries to open the file but gets an error, the Office program accesses this file and shows you the name of the person responsible for the lock. You can verify this in a hex editor: the first byte is the length of the display name, then the next run of that length holds the actual name. Then there's also some other data, some of which appears to be the display name again (but in UTF-16LE) and the rest of which I can't make out.

From Description of how Word creates temporary files (outdated but still helpful):

Description of how Word creates temporary files

Applies to: Microsoft Word 2010. link from MS For a Microsoft Word 97 version of this article, see 89247.

Summary

This article explains when, where, and how Microsoft Word for Windows creates temporary files.

More Information

Definition of a temporary file

A temporary file is a file that is created to temporarily store information in order to free memory for other purposes, or to act as a safety net to prevent data loss when a program performs certain functions. For example, Word determines automatically where and when it needs to create temporary files. The temporary files only exist during the current session of Word. When Word is shut down in a normal fashion, all temporary files are first closed and then deleted.

Why does Word create temporary files?

Speed

If there is not enough memory available to keep the document with all its edits in memory and still perform manipulations such as sorting, dragging, scrolling, and so on quickly along with any other applications that are running, then Word moves part of its code that is not being used or part of the document that is not being edited from memory to disk. This movement to temporary files on disk frees more memory for text manipulation or storage of the parts of the document that are being actively edited.

Data Integrity

Word uses temporary files as a "safety net" to protect against system errors in its file-saving scheme. By saving to a temporary file first and then renaming the file to the proper name, Word ensures the data integrity of your original file against problems (such as a power failure or lost network connections) that may occur while the file is being written.

Types of temporary files

MS-DOS-Based File

These are standard MS-DOS files.

Document-File-Based File

The difference between this file and a traditional MS-DOS file is that multiple programs can read and write to these files without the original owner knowing about it. Additionally, document files have inherent properties that allow Word to create files and directories within files. At startup, Word creates one temporary (direct) document file called ~wrfxxxx.tmp. You can determine that it is a document file because the initial size is 1,536 bytes. This temporary document file is used to store all OLE objects that belong to unnamed documents, Undo, the Clipboard, and documents whose native formats are not document format (for example, .txt, .rtf, and Word 2.0 documents). Word can open document files using two different modes: transacted and direct. These modes are discussed later in this article.

Transacted Document Files

Transacted files allow Word to open a file, write to it, and have other programs--such as Microsoft Excel--write to it, but still retain the right to restore the file to the state it was in when Word first opened it.

To do this, the document file creates ghost images (typically ~dftxxxx.tmp) of all the changes made to the file after it was opened; if Word keeps all the changes, the contents of ~dftxxxx.tmp merge with the original file, and then saves a complete version of it. Conversely, if Word discards all changes, then ~dftxxxx.tmp is deleted, and the original file does not change. Word opens all of the Word native files using transacted files, which create ghost images in the Temp directory. When you start Word, Normal.dot is typically opened in transacted mode, and a ghost file is created for it called dftxxxx.tmp. FastSave, for example, merges these two files when a save occurs.

Direct

Word uses direct storage when opening the temporary document file and when performing either a Save As or a Full Save (non-FastSave save). This type of file is a low (if any) consumer of memory and does not create a ghost image when created or opened.

Specific files that Word creates

The following tables list some of the specific temporary files that Word creates.

   Files typically created when Word is started                File name
   ------------------------------------------------------------------------
   MS-DOS-based file (to reserve 4 file handles) 0 bytes      ~wrf0000.tmp
   MS-DOS-based scratch file                     0 bytes      ~mfxxxx.tmp
   Compound file - transacted                    0 bytes      ~dftxxxx.tmp
   Compound file - direct                        1536 bytes   ~wrf0001.tmp
   (unnamed non-Word/OLE files)


   Word recovery files                                        File name
   -----------------------------------------------------------------------
   Temporary file for AutoRecovery                         ~wraxxxx.tmp
   AutoRecovery                      AutoRecovery save of <docname>.asd

   Other Word temporary files                                 File name
   -----------------------------------------------------------------------
   Copy of another document                                   ~wrcxxxx.tmp
   Word document                                              ~wrdxxxx.tmp
   Temp document file                                         ~wrfxxxx.tmp
   Dictionary                                                 ~wrixxxx.tmp
   Clipboard                                                  ~wrlxxxx.tmp
   Macro                                                      ~wrmxxxx.tmp
   Word OLE document                                          ~wroxxxx.tmp
   Scratch file                                               ~wrsxxxx.tmp
   Converted (foreign) document                               ~wrvxxxx.tmp

A simplified view of the scheme used to save an edited file

Create temp file                     Create ~wrdxxxx.tmp
Write temp file                      Save example data to ~wrdxxxx.tmp
Delete original file                 Delete EXAMPLE.DOC
Move temp to target name             Move ~wrdxxxx.tmp to Example.doc

Word gains significant performance speed by placing the temporary file in the same directory as the saved file. If Word placed the temporary file elsewhere, it would have to use the MS-DOS COPY command to move the temporary file from the other directory to the saved location. By leaving the temporary file in the same directory as the saved document file, Word can use the MS-DOS MOVE command to quickly designate the temporary file as the saved document.

When and where Word creates temporary files

The location where Word creates the temporary files is hardcoded information and cannot be edited. Therefore, it is important that NTFS permissions for the user are set accordingly. For more information, click the following article number to view the article in the Microsoft Knowledge Base:

277867 Windows NTFS permissions are required when you run Word on any NTFS partition that has Windows 2000, Windows XP Professional, Windows Server 2003, or Windows Vista installed

In general, Word creates temporary files for the following types of data.

Embedded Word Objects (Temp Directory)

When Word acts as an OLE server program, the embedded Word objects are stored as temporary files in the Temp directory.

OLE 2.0 requires extra drive storage. When you start OLE programs, Word needs to provide copies of the data to the server. It is not unusual for extensive OLE 2.0 usage in a single session of a program to accumulate a large amount of temporary storage on the hard drive.

Scratch File (Temp Directory)

When Word runs out of internal random access memory (RAM), it always creates a single temporary scratch file in the Temp directory to hold information. This scratch file holds information that is swapped out from the Word internal file cache, which is allocated from global system memory. The scratch file varies in size from 64 kilobytes (KB) to 3.5 megabytes (MB).

The default cache size in Word is 64 KB.

For more information about how to increase the cache size in Word, click the following article number to view the article in the Microsoft Knowledge Base:

212242 Where settings are stored in the registry for Word 2000

Recorded Macro (Temp Directory)

When you record a macro, Word creates a temporary file in the Windows Temp directory.

Converted Files (Temp Directory)

The word processor converters supplied with Word create temporary files in Rich Text Format (RTF), which Word uses to access specific converters.

Locked Files (Temp Directory)

When you open a file that is locked, either because it is open in another window of Word or because another user on the network has it open, you can work with a copy of the file. Word places this copy in the Windows Temp directory. Likewise, if a template attached to a document is locked, Word automatically makes a copy of the template in the Temp directory. The copy of a locked file does not automatically update the original owner's file.

Saved Files (Same Directory as the Saved File)

When you click Save on the File menu, the following happens:

  1. Word builds a new temporary file using the edited version of the document.
  2. After Word creates the temporary file, Word deletes the previous version of the document.
  3. Word renames the temporary file to the same name as the previous version of the document. Text Pasted Between Files (Same Directory as Source File):

When Word copies and pastes between documents, it may create a temporary file in the same directory as the source file. This is especially true if the source file is saved or closed. The temporary file represents the information that was referenced by the Clipboard prior to saving the file. Word creates this temporary file by renaming the old copy of the file to a temporary file name.

Owner File (Same Directory as Source File)

When a previously saved file is opened for editing, for printing, or for review, Word creates a temporary file that has a .doc file name extension. This file name extension begins with a tilde (~) that is followed by a dollar sign ($) that is followed by the remainder of the original file name. This temporary file holds the logon name of person who opens the file. This temporary file is called the "owner file."

When you try to open a file that is available on a network and that is already opened by someone else, this file supplies the user name for the following error message:

This file is already opened by user name. Would you like to make a copy of this file for your use?

Word may be unable to create an owner file. For example, Word cannot create an owner file when the document is on a read-only share. In this case, the error message changes to the following error message:

This file is already opened by another user. Would you like to make a copy of this file for your use?

Note Word automatically deletes this temporary file from memory when the original file is closed.

When you open a file by using the HTTP or FTP protocol, the file is first copied to the temp directory. Then, the file is opened from the temp directory.

When you open a file on a UNC share with Word 2007, the file is first copied to the temp directory. Then, the file is opened from the temp directory.

Automatic Save
Word Auto Recover Save Directory

The temporary file that is created when Word performs an automatic save is stored in the Temp folder, unless there is not a valid Temp folder. In this case, Word saves the temporary file in the same folder where it saves the document.

The location of temporary files when you close a file

Word may occasionally have to maintain a link to a file after it is closed. This occurs when text has been copied to the Clipboard from the file. When you close a file, Word attempts the following actions:

  • If the selection that was copied to the Clipboard does not contain multiple sections or a picture, or is not large, Word copies the piece of the document to the scratch file.
  • If the copied selection does contain pictures or multiple sections, or if the file is on a floppy disk, Word copies the entire file to the Temp directory and moves the pointer there.

Last Updated: Apr 17, 2018

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment