Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people, just like you, are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions

Insert text into .doc (with reference)

Posted on 2011-09-15
Last Modified: 2013-12-17

I want to insert some text into a MS word doc template file using C#.
I have followed the code on this website http://support.microsoft.com/kb/316384 but there is a compilation error that oDoc, oMissing and oDoc does not exist in the curent context.

Can any expert help me out here, thanks.
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace insertDoc
    public partial class Form1 : Form
        public Form1()

        private void button1_Click(object sender, EventArgs e)
            object oTemplate = "C:\\trail.doc";
            oDoc = oWord.Documents.Add(ref oTemplate, ref oMissing,ref oMissing, ref oMissing);
            object oBookMark = "insert";
            oDoc.Bookmarks.Item(ref oBookMark).Range.Text = "Some Text Here";


Open in new window

Question by:csharp_learner
  • 3
  • 3
LVL 17

Expert Comment

ID: 36545444
The problem is you have deleted too much out of the code sample provided in that article:  you need at least these variable definitions from the top of the code. C# requires all variables to be defined before use.

	object oMissing = System.Reflection.Missing.Value;
	object oEndOfDoc = "\\endofdoc"; /* \endofdoc is a predefined bookmark */ 

	//Start Word and create a new document.
	Word._Application oWord;
	Word._Document oDoc;
	oWord = new Word.Application();
	oWord.Visible = true;

Open in new window

Also make sure you follow the instructions at the top of the article about adding references to the Word object model

Author Comment

ID: 36545655
thanks for the prompt reply, i have added the code plus the 2 directories.

But i have 1 single compile error left under oDoc.Bookmarks.Item

'Microsoft.Office.Interop.Word.Bookmarks' does not contain a definition for 'Item' and no extension method 'Item' accepting a first argument of type 'Microsoft.Office.Interop.Word.Bookmarks' could be found
LVL 17

Expert Comment

ID: 36545736
I think you need to use get_Item (as in the example).  Some properties take parameters in VBA which isn't possible in C# so they have created new get_... methods.
Master Your Team's Linux and Cloud Stack!

The average business loses $13.5M per year to ineffective training (per 1,000 employees). Keep ahead of the competition and combine in-person quality with online cost and flexibility by training with Linux Academy.


Author Comment

ID: 36545787
sorry i'm not very good in C# so how can i edit the code to solve the error?
LVL 17

Accepted Solution

andrewssd3 earned 250 total points
ID: 36545813
            oDoc.Bookmarks.get_Item(ref oBookMark).Range.Text = "Some Text Here";

Open in new window

There's a similar statement in the Microsoft article.  You can also get a lot of information from intellisanse when you're typing the code.

Author Closing Comment

ID: 36545871
Thanks for the help and advise.

Featured Post

Free Tool: SSL Checker

Scans your site and returns information about your SSL implementation and certificate. Helpful for debugging and validating your SSL configuration.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

A long time ago (May 2011), I have written an article showing you how to create a DLL using Visual Studio 2005 to be hosted in SQL Server 2005. That was valid at that time and it is still valid if you are still using these versions. You can still re…
This article aims to explain the working of CircularLogArchiver. This tool was designed to solve the buildup of log file in cases where systems do not support circular logging or where circular logging is not enabled
The viewer will learn how to use NetBeans IDE 8.0 for Windows to connect to a MySQL database. Open Services Panel: Create a new connection using New Connection Wizard: Create a test database called eetutorial: Create a new test tabel called ee…
The viewer will learn how to synchronize PHP projects with a remote server in NetBeans IDE 8.0 for Windows.

839 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question