Improve company productivity with a Business Account.Sign Up

x
?
Solved

Insert text into .doc (with reference)

Posted on 2011-09-15
6
Medium Priority
?
638 Views
Last Modified: 2013-12-17
Hi,

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()
        {
            InitializeComponent();
        }

        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

0
Comment
Question by:csharp_learner
  • 3
  • 3
6 Comments
 
LVL 17

Expert Comment

by:andrewssd3
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
0
 

Author Comment

by:csharp_learner
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
0
 
LVL 17

Expert Comment

by:andrewssd3
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.
0
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.

 

Author Comment

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

Accepted Solution

by:
andrewssd3 earned 1000 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.
0
 

Author Closing Comment

by:csharp_learner
ID: 36545871
Thanks for the help and advise.
0

Featured Post

Keep up with what's happening at Experts Exchange!

Sign up to receive Decoded, a new monthly digest with product updates, feature release info, continuing education opportunities, and more.

Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

The article shows the basic steps of integrating an HTML theme template into an ASP.NET MVC project
This article describes and provides a custom-made tool I wrote to give businesses a means of identifying commercial music content, without having to expend too much effort. Business recordings are easily identified from possibly illegal music files …
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 use NetBeans IDE 8.0 for Windows to perform CRUD operations on a MySql database.

606 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