[Okta Webinar] Learn how to a build a cloud-first strategyRegister Now

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 636
  • Last Modified:

Insert text into .doc (with reference)

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
csharp_learner
Asked:
csharp_learner
  • 3
  • 3
1 Solution
 
andrewssd3Commented:
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
 
csharp_learnerAuthor Commented:
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
 
andrewssd3Commented:
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
Microsoft Certification Exam 74-409

VeeamĀ® is happy to provide the Microsoft community with a study guide prepared by MVP and MCT, Orin Thomas. This guide will take you through each of the exam objectives, helping you to prepare for and pass the examination.

 
csharp_learnerAuthor Commented:
sorry i'm not very good in C# so how can i edit the code to solve the error?
0
 
andrewssd3Commented:
            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
 
csharp_learnerAuthor Commented:
Thanks for the help and advise.
0

Featured Post

Technology Partners: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

  • 3
  • 3
Tackle projects and never again get stuck behind a technical roadblock.
Join Now