Want to become an expert in VBA? So this is the right place for you. This blog mainly focus on teaching how to apply Visual Basic for Microsoft Excel. So improve the functionality of your excel workbooks with the aid of this blog. Also ask any questions you have regarding MS Excel and applying VBA. We are happy to assist you.

Open Word Document with Excel VBA

In this lesson you will learn how to open an existing Word document or create a new Word document with Excel VBA. This involves several key steps. Below is a detailed guide to help you navigate this process effortlessly.

1. Accessing the VBA Editor

First you need to access the VBA editor inside your Excel application.

Open your Excel workbook. Press Alt+F11 to access the Visual Basic for Applications (VBA) editor.

VBA Editor

2. Configuring References

Once you are inside the Visual basic environment, then you need to add reference to the Microsoft word object library.

Navigate to the "Tools" menu.

Click on Tools Menu

Select "References" from the dropdown list.

Select References

Ensure that the "Microsoft Word xx.0 Object Library" is checked by ticking the checkbox.

Add reference to the Microsoft Word xx.0 Object Library

This step allows Excel VBA to interact with Word documents seamlessly.

3. Inserting VBA Code

In the VBA editor, locate the module where you want to insert the code or create a new module. Copy and paste the following VBA code into the module.

Sub OpenExistingWordDocument()

   Dim wApp As Word.Application
   Dim wDoc As Word.Document

   'Create a new instance of the Word application
   Set wApp = CreateObject("Word.Application")
   wApp.Visible = True ' Make the Word application visible

   'Open an existing Word document from your hard drive
   Set wDoc = wApp.Documents.Open("D:\VBA LAB\Result.docx")

End Sub

This subroutine will open an existing Word document located at the specified file path ("D:\VBA LAB\Result.docx"). Modify the file path in the Open() method to point to the location of your specific Word document. Below is the detailed explanation of the code.

Dim wApp As Word.Application

This line declares a variable named wApp as an object of type Word.Application. It is used to represent an instance of the Microsoft Word application.

Dim wDoc As Word.Document

This line declares another variable named wDoc as an object of type Word.Document. It will be used to represent a specific Word document.

Set wApp = CreateObject("Word.Application"):

Here, a new instance of the Word application is created using the CreateObject function. The "Word.Application" parameter specifies that we want to create an instance of the Word application. The Set keyword assigns this newly created instance to the wApp variable.

wApp.Visible = True:

This line sets the Visible property of the Word application to True. It ensures that the Word application window is visible to the user when it is opened.

Set wDoc = wApp.Documents.Open("D:\VBA LAB\Result.docx"):

This line opens an existing Word document located at the specified file path. The Set keyword assigns the opened document to the wDoc variable. The Documents.Open method is used to open the document within the Word application instance represented by wApp.

In summary, this code initializes variables for representing the Word application (wApp) and a specific Word document (wDoc). It then creates a new instance of the Word application, sets it to be visible, and opens an existing word document.

If you want to create a new word document instead of opening an existing word document, then you can slightly modify the above code as follows.

Sub CreateNewWordDocument()

   Dim wApp As Word.Application
   Dim wDoc As Word.Document

   'Create a new instance of the Word application
   Set wApp = CreateObject("Word.Application")
   wApp.Visible = True ' Make the Word application visible

   'Create a new Word document
   Set wDoc = wApp.Documents.Add

End Sub

In this subroutine, only difference is we have

Set wDoc = wApp.Documents.Add

Instead of

Set wDoc = wApp.Documents.Open("D:\VBA LAB\Result.docx")

This new line creates a new Word document by adding a document to the Documents collection of the Word application (wApp).

Contact Form

Name

Email *

Message *