VBScript Word.Application Object
last modified April 9, 2025
The Word.Application
object in VBScript provides automation
capabilities for Microsoft Word. It allows scripts to create, modify, and
control Word documents programmatically. This object is part of Word's COM
automation interface. It enables full control over Word's functionality.
With Word.Application
, you can generate reports, format text,
and manipulate documents. This tutorial covers the object with practical
examples. You'll learn to automate common Word tasks through VBScript.
Word.Application Object Overview
The Word.Application
object represents the Word application
itself. It provides access to documents, templates, and Word's features.
The object model includes Documents, Selection, and Range objects. These
allow precise document manipulation.
Key properties include Visible to control the UI display and Documents to access open files. Methods like Quit close Word programmatically. Understanding this object enables powerful document automation.
Creating a New Word Document
This example demonstrates creating a new Word document using VBScript. It shows basic Word.Application object initialization. The script creates a visible Word instance and adds a blank document. This is the foundation for Word automation.
Set wordApp = CreateObject("Word.Application") wordApp.Visible = True ' Make Word visible Set newDoc = wordApp.Documents.Add() ' Add some text to the document wordApp.Selection.TypeText "Hello, Word Automation!" wordApp.Selection.TypeParagraph ' Save and close newDoc.SaveAs "C:\Temp\NewDocument.docx" newDoc.Close wordApp.Quit Set newDoc = Nothing Set wordApp = Nothing
The script creates a Word application object and makes it visible. It adds a new document and inserts text. The document is saved and closed properly. Always release objects to free resources.
Opening and Modifying an Existing Document
This example shows how to open an existing Word document and modify it. The script demonstrates file opening and text manipulation. It finds and replaces text in the document. This is useful for template processing.
Set wordApp = CreateObject("Word.Application") wordApp.Visible = True ' Open existing document Set doc = wordApp.Documents.Open("C:\Temp\ReportTemplate.docx") ' Replace placeholder text With doc.Content.Find .Text = "[COMPANY_NAME]" .Replacement.Text = "ACME Corporation" .Execute Replace:=2 ' wdReplaceAll End With ' Save changes doc.SaveAs "C:\Temp\FinalReport.docx" doc.Close wordApp.Quit Set doc = Nothing Set wordApp = Nothing
The script opens a template document and replaces placeholder text. The Find object provides powerful search capabilities. Changes are saved to a new file. The original template remains unchanged.
Formatting Document Text
This example demonstrates text formatting in a Word document. It shows font property manipulation and paragraph formatting. The script creates a document with styled text. Formatting includes font, size, and color.
Set wordApp = CreateObject("Word.Application") wordApp.Visible = True Set doc = wordApp.Documents.Add() ' Format heading With wordApp.Selection .Font.Name = "Arial" .Font.Size = 16 .Font.Bold = True .Font.Color = RGB(0, 0, 255) ' Blue .TypeText "Document Title" .TypeParagraph End With ' Format body text With wordApp.Selection .Font.Name = "Calibri" .Font.Size = 11 .TypeText "This is formatted body text." .TypeParagraph End With doc.SaveAs "C:\Temp\FormattedDocument.docx" doc.Close wordApp.Quit Set doc = Nothing Set wordApp = Nothing
The script creates a document with styled heading and body text. Font properties are set using the Font object. RGB values specify text color. Each formatting block applies to subsequent text.
Creating a Table in Word
This example demonstrates table creation in a Word document. It shows how to add a table and populate it with data. The script creates a 3x3 table with formatted cells. Tables are useful for data presentation.
Set wordApp = CreateObject("Word.Application") wordApp.Visible = True Set doc = wordApp.Documents.Add() ' Add a table (3 rows, 3 columns) Set myTable = doc.Tables.Add(wordApp.Selection.Range, 3, 3) ' Populate and format table With myTable ' Header row .Cell(1, 1).Range.Text = "Product" .Cell(1, 2).Range.Text = "Price" .Cell(1, 3).Range.Text = "Stock" ' Data rows .Cell(2, 1).Range.Text = "Laptop" .Cell(2, 2).Range.Text = "$999" .Cell(2, 3).Range.Text = "15" .Cell(3, 1).Range.Text = "Mouse" .Cell(3, 2).Range.Text = "$25" .Cell(3, 3).Range.Text = "42" ' Apply formatting .Range.Font.Name = "Calibri" .Range.Font.Size = 11 .Rows(1).Range.Font.Bold = True End With doc.SaveAs "C:\Temp\TableDocument.docx" doc.Close wordApp.Quit Set myTable = Nothing Set doc = Nothing Set wordApp = Nothing
The script creates a table and populates it with product data. Cell references use row and column indices. Formatting is applied to both the table and specific rows. Tables provide structured data presentation in documents.
Generating a Multi-page Report
This example creates a complete multi-page report with various elements. It combines text, formatting, tables, and page breaks. The script demonstrates comprehensive document automation. Reports can be generated automatically with this approach.
Set wordApp = CreateObject("Word.Application") wordApp.Visible = True Set doc = wordApp.Documents.Add() ' Add title With wordApp.Selection .Font.Name = "Arial" .Font.Size = 18 .Font.Bold = True .ParagraphFormat.Alignment = 1 ' wdAlignParagraphCenter .TypeText "Quarterly Sales Report" .TypeParagraph .Font.Size = 12 .Font.Bold = False .TypeText "Q1 2025" .TypeParagraph .TypeParagraph End With ' Add summary section With wordApp.Selection .Font.Name = "Calibri" .Font.Size = 12 .Font.Bold = True .TypeText "Executive Summary:" .TypeParagraph .Font.Bold = False .TypeText "Sales increased by 15% compared to last quarter." .TypeParagraph .TypeParagraph End With ' Add sales table Set salesTable = doc.Tables.Add(wordApp.Selection.Range, 5, 3) With salesTable .Cell(1, 1).Range.Text = "Product" .Cell(1, 2).Range.Text = "Q4 2024" .Cell(1, 3).Range.Text = "Q1 2025" ' Fill table data .Cell(2, 1).Range.Text = "Product A" .Cell(2, 2).Range.Text = "$45,000" .Cell(2, 3).Range.Text = "$52,000" .Cell(3, 1).Range.Text = "Product B" .Cell(3, 2).Range.Text = "$32,000" .Cell(3, 3).Range.Text = "$38,500" .Cell(4, 1).Range.Text = "Product C" .Cell(4, 2).Range.Text = "$28,000" .Cell(4, 3).Range.Text = "$29,750" .Cell(5, 1).Range.Text = "Total" .Cell(5, 2).Range.Text = "$105,000" .Cell(5, 3).Range.Text = "$120,250" ' Format table .Range.Font.Name = "Calibri" .Range.Font.Size = 11 .Rows(1).Range.Font.Bold = True .Rows(5).Range.Font.Bold = True End With ' Add page break and appendix wordApp.Selection.InsertBreak 7 ' wdPageBreak With wordApp.Selection .Font.Name = "Calibri" .Font.Size = 14 .Font.Bold = True .TypeText "Appendix: Detailed Metrics" .TypeParagraph .Font.Size = 11 .Font.Bold = False .TypeText "Additional data available upon request." .TypeParagraph End With ' Save final report doc.SaveAs "C:\Temp\QuarterlyReport.docx" doc.Close wordApp.Quit Set salesTable = Nothing Set doc = Nothing Set wordApp = Nothing
The script generates a complete sales report with multiple sections. It includes formatted text, a data table, and page breaks. The report demonstrates professional document automation. All elements are created programmatically without user interaction.
Source
Word.Application Object Documentation
In this article, we have explored the Word.Application
object in
VBScript. From basic document creation to complex report generation, these
examples demonstrate powerful Word automation. With this knowledge, you can
automate document processing tasks efficiently. VBScript and Word automation
provide robust solutions for business needs.
Author
List all VBScript tutorials.