USING IRONWORD

How to Create Word Document Programmatically in VB .NET

Published March 12, 2024
Share:

Microsoft Word files, commonly known as DOCX files, are integral to document creation and communication in various industries. The ability to programmatically generate and manipulate Word documents is crucial for developers in Visual Basic.

In this article, we'll explore the importance of creating Microsoft Word files in C# applications and introduce the IronWord library as a powerful tool togenerate Word Documents programmatically.

How to Create Word Document Programmatically in VB .NET

  1. Create a Visual Basic project in Visual Studio
  2. Install the IronWord Library from the NuGet Package Manager
  3. Create a TextRun and Paragraph
  4. Create a WordDocument ClassObject
  5. Add TextRun and Paragraph to WordDocument Object
  6. Export as a DOCX file using the SaveAS method

IronWord Library

IronWord is a feature-rich C# DOCX library developed by IronSoftware. It empowers developers to build, edit, and export Word documents without needing Microsoft Office or Word Interop. Supporting a range of .NET versions, IronWord provides a versatile solution for working with Word files in diverse project types and environments.

How to Create Word Document Programmatically in VB .NET: Figure 1 - IronWord webpage

Key Features:

IronWord offers a comprehensive set of features, making it a go-to library for Word document manipulation in C#. Some key features include:

Cross-Platform Support: Designed for C#, F#, and VB.NET, IronWord runs on various .NET versions, including 8, 7, 6, 5, Core, Standard, or Framework. It also caters to web, mobile, desktop, and console applications.

Document Structure Manipulation: IronWord allows developers to read and edit Word documents, extract text and images, customize page setup, and add paragraphs, text runs, images, shapes, and tables.

Styling and Formatting: The library supports styling options such as font family and size, color, bold, italic, underline, superscript, subscript, alignments, background color, and bullet/numbering lists.

Cross-Platform Compatibility: IronWord seamlessly works across different operating systems, including Windows, Linux, macOS, iOS, and Android.

Steps to Create a C# Console Project in Visual Studio

  1. Open Visual Studio.
  2. Create a new C# Console .NET Application.
    1. Name your project and choose a location.

How to Create Word Document Programmatically in VB .NET: Figure 2 - Configuring the project name and file path

  1. From Additional Information, select the latest version of the .NET Framework. IronWord supports the latest 8.0 .NET Core Framework.
  2. Click "Create" to generate the project.

Installing IronWord

To incorporate IronWord into your project to create a simple Word document, follow these steps:

Using the NuGet Package Manager

  1. Right-click on your project in Solution Explorer.
  2. Select "Manage NuGet Packages for Solution."
    1. Search for "IronWord" in the NuGet Package Manager browse tab.

How to Create Word Document Programmatically in VB .NET: Figure 3 - Installing IronWord in the NuGet package manager

  1. Click "Install" to add the IronWord library to your project.

Using Package Manager Console

Run the following command in the Package Manager Console:

Install-Package IronWord

Creating a Word Document in VB.NET

Let's go through a simple example to demonstrate how to create a Word document using IronWord in VB.NET:

Imports IronWord
Imports IronWord.Models
Module Program
    Sub Main()
        ' Create a textrun
        Dim textRun As New TextRun("Sample text")
        ' Create a paragraph and add the textrun
        Dim paragraph As New Paragraph()
        paragraph.AddTextRun(textRun)
        ' Create a new Word document using the paragraph
        Dim document As New WordDocument(paragraph)
        ' Export the document as a docx file
        document.SaveAs("document.docx")
    End Sub
End Module
Imports IronWord
Imports IronWord.Models
Module Program
    Sub Main()
        ' Create a textrun
        Dim textRun As New TextRun("Sample text")
        ' Create a paragraph and add the textrun
        Dim paragraph As New Paragraph()
        paragraph.AddTextRun(textRun)
        ' Create a new Word document using the paragraph
        Dim document As New WordDocument(paragraph)
        ' Export the document as a docx file
        document.SaveAs("document.docx")
    End Sub
End Module
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'@Imports IronWord @Imports IronWord.Models Module Program @Sub Main() ' Create a textrun @Dim textRun @As @New TextRun("Sample text") ' Create a paragraph @and add the textrun @Dim paragraph @As @New Paragraph() paragraph.AddTextRun(textRun) ' Create a New Word document using the paragraph @Dim document @As @New WordDocument(paragraph) ' Export the TryCast(document, a) docx file document.SaveAs("document.docx") @End @Sub @End Module
VB   C#

Code Explanation

Let's break down the key components of this VB.NET code for creating a Word Document:

Importing the IronWord Namespace:

Imports IronWord
Imports IronWord.Models
Imports IronWord
Imports IronWord.Models
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'@Imports IronWord @Imports IronWord.Models
VB   C#

These lines import the necessary namespaces from the IronWord library to use the classes and Word document model in your VB.NET code.

Creating a TextRun and Paragraph:

Dim textRun As New TextRun("Sample text")
Dim paragraph As New Paragraph()
paragraph.AddTextRun(textRun)
Dim textRun As New TextRun("Sample text")
Dim paragraph As New Paragraph()
paragraph.AddTextRun(textRun)
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'@Dim textRun @As @New TextRun("Sample text") @Dim paragraph @As @New Paragraph() paragraph.AddTextRun(textRun)
VB   C#

Here, a TextRun is created with the content "Sample text," and a Paragraph is created to hold the TextRun. This sets up the template document with the content structure of the Word document.

Creating a Word Document:

The following code creates a new document object and adds a text paragraph to it:

Dim document As New WordDocument(paragraph)
Dim document As New WordDocument(paragraph)
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'@Dim document @As @New WordDocument(paragraph)
VB   C#

An instance of the WordDocument class is created, and the Paragraph is passed to its constructor. This initializes the Word document with the specified content.

Exporting the Document:

document.SaveAs("document.docx")
document.SaveAs("document.docx")
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'document.SaveAs("document.docx")
VB   C#

Finally, the SaveAs method is used to export the Word document as a DOCX file with the filename "document.docx."

Output:

Upon running the program, a Word File named "output.docx" will be generated in the project directory. Open this document to view the added content.

How to Create Word Document Programmatically in VB .NET: Figure 4 - Outputted PDF document from the previous code

IronWord provides simplicity and allows one to edit and manipulate specific paragraphs. To get more information on the methods involved in document class, please visit this code examples page.

Conclusion

In this article, we explored the importance of creating Microsoft Word files in C# applications and introduced the IronWord library as a powerful tool for achieving this task. With its rich feature set, cross-platform support, and ease of integration into Visual Studio projects, IronWord simplifies the process of handling Word documents programmatically. Developers can leverage IronWord to enhance document processing capabilities and streamline creating and manipulating Word files in their C# applications.

For more detailed information about IronWord VB.NET and its capabilities, please visit its documentation page on IronWord's official website.

IronWord is free for development purposes and can be licensed to test out its complete functionality in commercial mode before deciding. Download the library from here andgive it a try.

In this article, we explored the importance of creating Microsoft Word files in C# applications and introduced the IronWord library as a powerful tool for achieving this task. With its rich feature set, cross-platform support, and ease of integration into Visual Studio projects, IronWord simplifies the process of handling Word documents programmatically. Developers can leverage IronWord to enhance document processing capabilities and streamline creating and manipulating Word files in their C# applications.

< PREVIOUS
How to Create DOCX File in C#
NEXT >
How to Create Word Documents Without Office Interop in C#

Ready to get started? Version: 2024.11 just released

Free NuGet Download Total downloads: 7,052 View Licenses >