How to Automatically Create a Word File Name from Document Fields
Question details
The user wants to automate the saving process in Word by using specific text entries in the document (such as report name, address, and job number) to automatically generate the file name and save it to a specific folder.

- Product
- Microsoft Word
- Device & OS
- not provided
- Scenario
- Generating routine reports where the file name needs to follow a strict naming convention based on the document's internal text.
- Observed behavior
- Word requires users to manually type the file name when saving, which is repetitive and prone to formatting typos, prompting the need for an automated naming solution.
Before you begin, ensure that the Developer tab is enabled in your Word ribbon, as you will need access to Content Controls and the Visual Basic editor to automate the file saving process.
Use Content Controls and a VBA Macro
Set up a Word template with tagged content controls to hold your data, and use a VBA macro to read the text, construct the file name, and save the document automatically.
Using a VBA (Visual Basic for Applications) macro is the most robust way to pull text from specific areas of a document and use it as a file name.
You will first insert Rich Text Content Controls to act as designated placeholders for your report name, subheading, and job number. Then, a custom macro will gather these values, strip out any illegal characters, and save the file to your chosen directory.
Go to File > Options > Customize Ribbon. In the right pane, check the box next to 'Developer' and click OK.
Highlight the text area for your report name. Go to the Developer tab, click 'Rich Text Content Control', then click 'Properties'. Assign it a specific Title and Tag (e.g., 'ReportName'). Repeat this process for your subheading ('Address') and job number ('JobNumber').
Press Alt + F11 to open the VBA Editor. Go to Insert > Module. Write a script that defines string variables to extract the text from your assigned tags, concatenates them into your desired format (e.g., ReportName - Address - JobNumber), and uses the ActiveDocument.SaveAs2 command with your target folder path.
Save your initial file as a Word Macro-Enabled Template (.dotm). Whenever you fill out a new report, run your macro from the Developer tab (or assign it to a Quick Access Toolbar button) to instantly save the file with the generated name.

Automate File Naming with Power Automate (Office 365)
If you are saving files to OneDrive or SharePoint, you can use Microsoft Power Automate to extract document properties and automatically rename the file.
Easily Manage Documents and Templates with WPS Office
If complex VBA macros and automations in Microsoft Word seem overwhelming, WPS Office offers a free, lightweight, and highly compatible alternative. Enjoy seamless template management and document editing without the steep learning curve.
- 1. Download WPS Office: Get the free installation package from the official WPS website.
- 2. Open Your Templates: Launch WPS Writer and seamlessly open your existing Word templates or documents.
- 3. Edit and Save: Fill out your reports and save them effortlessly in standard Microsoft formats.

Frequently Asked Questions
Can I use standard Word fields like 'Title' or 'Subject' for the file name instead of creating custom controls?
Yes. Instead of custom Content Controls, you can use Word's built-in Document Properties (found under Insert > Quick Parts > Document Property). A VBA macro can easily read these standard properties to construct a file name.
How do I ensure illegal characters don't break the auto-save macro?
In your VBA script, you must include a function (like the Replace function) to strip out prohibited Windows file name characters—such as slashes (/ \), colons (:), asterisks (*), and question marks (?)—before passing the text string to the SaveAs command.
Is it possible to automate file naming locally without using VBA macros?
For local files on your desktop, Word requires VBA macros or a third-party add-in to dynamically change the file name based on content upon saving. Without macros, you will need to manually copy and paste the text into the Save dialog.
What is a Content Control in Word?
Content Controls are specific interactive elements, such as plain text boxes, drop-down lists, or date pickers, that you can insert into a document or template from the Developer tab to organize and standardize data entry.




