New Feature: Playlist Center! Pick a topic and let our playlists guide the way.

Easy-to-follow video tutorials help you learn software, creative, and business skills.Become a member

Making a Word 2010 application

From: Visual Studio 2010 Essential Training

Video: Making a Word 2010 application

Microsoft Word is a remarkable tool for building documents. Think about this for a minute. Word supports headers and footers, table of contents, and indexes. You can embed charts and images. It has a huge set of formatting tools, and the list just goes on and on. I've used Word automation successfully on many projects as a reporting engine, including creating hundreds of report templates for a large insurance company. Let me show you what it can do. In this demo, I'm going to create a Word 2010 document-based project.

Making a Word 2010 application

Microsoft Word is a remarkable tool for building documents. Think about this for a minute. Word supports headers and footers, table of contents, and indexes. You can embed charts and images. It has a huge set of formatting tools, and the list just goes on and on. I've used Word automation successfully on many projects as a reporting engine, including creating hundreds of report templates for a large insurance company. Let me show you what it can do. In this demo, I'm going to create a Word 2010 document-based project.

I'm going to go to File > New > Project. I'm going to choose Office 2010 and Word Document. Then I'm going to use a copy of an existing document, which is out on our Desktop, in our Exercise Files folder, and then over here in our Assets folder. I'm going to use this Shipping Bill of Record and then click OK.

So as you can see, it's opened up the Word UI inside Visual Studio. I can see the content of my document. And over here, you can see that I have a copy of the docx file. I also have a code behind file called ThisDocument.vb. Now here is the goal. I want to be able to take these bold sections of the document-- Date, and Customer, and Shipper name--and I want to be able to replace those at runtime. So the user would open up this document, and I would calculate today's date and put it at this location.

Then I would want to pull the customer name out and store it here, and down here, I want to have the shipper name. So, what I can do is insert something called a bookmark. To do that, I'm going to go over to my Toolbox, and I'm going to go up to the Word Controls section right up here. I'm going to find this Bookmark, and I'm going to drag it over and drop it on Date. It says, "Make a selection or place the insertion point where you want to add a Bookmark control. Then click OK." So again, I can come over here and select that, if it wasn't selected already, and then click OK.

Now, you notice that there are some gray square brackets around the word "Date". I'm going to give this a name that makes sense, dateBookmark, and I'll do the same for Customer--Bookmark. Lastly, I'll do one for the shipper. Double- click, drag, and then click OK, and I'm going to call this one shipperBookmark.

Now next, I want to add some UI that'll go on the right edge of my Word document. These are called action panes. If I go to my project and right-click and say Add > New Item, you can see that there is a list of common elements here, and there is one up here at the top called Action Pane Control.

You can also see that there's some Office things like the Ribbon, Ribbon (XML), Style Sheets, and other items. I'm going to click on Action Pane Control and then give it a new name. I'm going to call this one ShipperPane and then click Add. It has a designer surface where I can add any valid Windows Forms controls. So, I'm going to put a label over here. Now, I'm going to sort my properties in alphabetical order to make things easier to find, and then I'm going to type in "Choose Shipper", and then below that, I'm going to put a list box.

Then I'm going to go click on the Items (Collection), click on this button that has the three dots on it, and I'm going to type in the names of my shippers "FedEx", "UPS", "USPS", and "Clairs Couriers", and then click OK. Now let's save this application. I'm going to save this out into my Desktop folder > Exercise Files > chapter 12 > movie number 02, and then click Save.

Now, I'm going to write a little bit of code on this ShipperPane, and then now I'm going to test the application. So I'm going to choose the ShipperPane again, and I'm going to go to the SelectedIndexChanged property. I double-click on that item, and what I'm going to do is I'm going to find those bookmarks. To do that, I'm going to use the special keyword called "Globals." and then my bookmark names, ThisDocument--that refers to the current document--dot.

There is my shipperBookmark. I'm going to replace the text that's in that, and I'm going to put in the text that's in my list box. So I'll choose ListBox1.SelectedItem. Let's review. The user is going to click on something in the pane. This event's going to fire. We're going to figure out which item they selected. We're going to get its text and apply it to the shipperBookmark. Let me save my application one more time, and let's test this out.

I'm going to press F5 to run the application, and there is our document. I do not see the Action pane yet, however, and that's because I need to tell Word to load that Action pane. So, I'm going to shut down Word. I'm going to return back to my code over here, and I'm going to go to the document Startup event. That's over here in ThisDocument.vb file. Then I'm going to look at the code. Here is ThisDocument_Startup. Down here, I'm going to say Me dot ship date.

I forgot to type in "Text" here. There is my customerBookmark. I'm going to set its Text equal to some fictitious customer name. Then finally, we're going to come down here and say, Me.ActionsPanes.Controls.Add, and I'm going to add an instance of my new Action pane control, which I called ShipperPane.

So let's review what we did here. When the document starts up, I'm going to populate the two bookmarks with data, and then I'm going to load the ShipperPane in. Save my application. Press F5 to debug the app. The date has been correctly entered, the Acme Dental has been correctly entered, and if I go over here and click on one of these Shippers, you'll notice that it's changing it in the body of the document.

Now of course I can turn off the bookmarks by going to my setting in Word and say, I don't want to see the bookmarkers in my text. We've just skimmed the possibilities of what you can do with Word automation. I'm sure you can think of many reporting scenarios where using Word in this fashion would be helpful.

Show transcript

This video is part of

Image for Visual Studio 2010 Essential Training
Visual Studio 2010 Essential Training

86 video lessons · 29807 viewers

Walt Ritscher
Author

 
Expand all | Collapse all
  1. 2m 3s
    1. Welcome
      1m 2s
    2. Using the exercise files
      1m 1s
  2. 7m 19s
    1. Understanding the Visual Studio versions
      3m 51s
    2. Setting up your developer computer
      3m 28s
  3. 58m 2s
    1. Creating a Visual Studio project
      4m 58s
    2. Working with Solution Explorer
      6m 32s
    3. Working with big projects
      3m 53s
    4. Taking a tour of the Integrated Developer Environment (IDE)
      8m 36s
    5. Introducing drag-and-drop UI design
      7m 38s
    6. Working with the Properties window
      6m 44s
    7. Looking at Server Explorer
      7m 4s
    8. Exploring the new Help engine
      6m 41s
    9. Setting options for the IDE
      5m 56s
  4. 39m 25s
    1. Creating a simple WPF application
      1m 32s
    2. Building the UI with the editors
      9m 14s
    3. Working with the application code
      3m 37s
    4. Communicating with the web site
      7m 15s
    5. Connecting your data
      8m 4s
    6. Binding to an RSS feed
      5m 4s
    7. Packaging and deploying the application
      4m 39s
  5. 39m 46s
    1. What languages are supported in Visual Studio 2010?
      1m 17s
    2. Exploring basic settings for the Code Editor
      5m 35s
    3. Writing a C# program
      6m 48s
    4. Writing a VB program
      6m 29s
    5. Working with C++
      6m 38s
    6. Working with F Sharp
      6m 9s
    7. Font and color options
      6m 50s
  6. 1h 5m
    1. Formatting your code
      6m 43s
    2. Navigating your code
      7m 44s
    3. Using the Task List
      2m 26s
    4. Commenting your code
      2m 45s
    5. Documenting your code
      8m 26s
    6. Using IntelliSense effectively
      7m 0s
    7. Working with code snippets
      6m 25s
    8. Refactoring your code
      5m 15s
    9. Understanding code generation
      2m 10s
    10. Generating code with T4
      6m 29s
    11. Using the Class View, Class Designer, and Class Diagram tools
      5m 51s
    12. Refactoring VB with CodeRush Xpress
      4m 33s
  7. 1h 11m
    1. Working with project and item templates
      8m 38s
    2. Creating a console application
      7m 5s
    3. Creating a class library
      6m 26s
    4. Creating a web site with ASP.NET
      7m 37s
    5. Creating a rich internet application with Silverlight
      6m 57s
    6. Creating a classic Windows application with Windows Forms
      10m 31s
    7. Creating a dramatic Windows application with Windows Presentation Foundation (WPF)
      4m 41s
    8. Creating a WCF service
      9m 1s
    9. Using an existing WCF service
      6m 38s
    10. Navigation UI designs with the Document Outline view
      3m 41s
  8. 33m 18s
    1. Creating a data project with SQL Project
      6m 24s
    2. Clarifying the confusion on .NET Data
      3m 31s
    3. Using ADO.NET in your application
      6m 50s
    4. Creating typed datasets
      7m 55s
    5. Using the data binding tools
      8m 38s
  9. 30m 13s
    1. Debugging code
      9m 32s
    2. Working with the Watch and other debug windows
      7m 46s
    3. Other debugging techniques
      6m 50s
    4. IntelliTrace historical debugging in Visual Studio Ultimate
      6m 5s
  10. 17m 56s
    1. Understanding Visual Studio editions and test tools
      2m 22s
    2. Verifying your code with unit tests
      8m 58s
    3. Running performance and load tests
      6m 36s
  11. 34m 5s
    1. Building your application
      4m 19s
    2. Customizing the build process with MSBuild
      6m 36s
    3. Setting assembly information
      2m 12s
    4. Deploying a basic Windows application
      2m 19s
    5. Creating an installer with Visual Studio
      7m 39s
    6. Creating a ClickOnce application
      5m 13s
    7. Setting up IIS for deploy
      2m 9s
    8. Deploying a Silverlight or ASP.NET application
      3m 38s
  12. 14m 0s
    1. Understanding source control
      2m 9s
    2. Setting up Team Foundation Server source control
      3m 5s
    3. Using Team Foundation Server source control
      8m 46s
  13. 17m 31s
    1. Understanding the .NET Office integration
      4m 16s
    2. Making a Word 2010 application
      7m 54s
    3. Making an Excel 2010 add-in
      5m 21s
  14. 31m 34s
    1. Understanding the extensibility model in Visual Studio
      2m 17s
    2. Adding external tools to the Tools menu
      4m 42s
    3. Creating macros
      7m 16s
    4. Using the Extension Manager
      5m 1s
    5. Creating an MEF add-in
      7m 9s
    6. Deploying and installing an add-in with VSIX
      5m 9s
  15. 25m 34s
    1. Working with configuration files
      5m 37s
    2. Using the Settings Editor
      7m 30s
    3. Using the Resources Editor
      6m 59s
    4. Localizing your resources
      5m 28s
  16. 1m 17s
    1. Goodbye
      1m 17s

Start learning today

Get unlimited access to all courses for just $25/month.

Become a member
Sometimes @lynda teaches me how to use a program and sometimes Lynda.com changes my life forever. @JosefShutter
@lynda lynda.com is an absolute life saver when it comes to learning todays software. Definitely recommend it! #higherlearning @Michael_Caraway
@lynda The best thing online! Your database of courses is great! To the mark and very helpful. Thanks! @ru22more
Got to create something yesterday I never thought I could do. #thanks @lynda @Ngventurella
I really do love @lynda as a learning platform. Never stop learning and developing, it’s probably our greatest gift as a species! @soundslikedavid
@lynda just subscribed to lynda.com all I can say its brilliant join now trust me @ButchSamurai
@lynda is an awesome resource. The membership is priceless if you take advantage of it. @diabetic_techie
One of the best decision I made this year. Buy a 1yr subscription to @lynda @cybercaptive
guys lynda.com (@lynda) is the best. So far I’ve learned Java, principles of OO programming, and now learning about MS project @lucasmitchell
Signed back up to @lynda dot com. I’ve missed it!! Proper geeking out right now! #timetolearn #geek @JayGodbold

Are you sure you want to delete this note?

No

Thanks for signing up.

We’ll send you a confirmation email shortly.


Sign up and receive emails about lynda.com and our online training library:

Here’s our privacy policy with more details about how we handle your information.

Keep up with news, tips, and latest courses with emails from lynda.com.

Sign up and receive emails about lynda.com and our online training library:

Here’s our privacy policy with more details about how we handle your information.

   
submit Lightbox submit clicked
Terms and conditions of use

We've updated our terms and conditions (now called terms of service).Go
Review and accept our updated terms of service.