C# Word Styling Automation

Dear All,

Using C# and word object model, i am automate the process, where based on the tag name present in the document its

corresponding style has to be applied for the paragraph.
For instance:

This is Heading1
This is Paragraph sample...

Our task is to find the tag and replace it with "H1" style for the whole document.

Below is the code where I can open the document and add the template styles into the current file.

[code]

ApplicationClass objWordApp = new ApplicationClass();
Document objWordDoc = new Document();

foreach (string eachfile in lstfile.Items)
{
Object nothing = System.Reflection.Missing.Value;
Object fileName = txtFilename.Text.ToString();
Object notTrue = false;
Object missing = System.Reflection.Missing.Value;
objWordDoc = null;

Object readOnly = false;
Object isVisible = false;

objWordApp.Visible = false;

objWordDoc = objWordApp.Documents.Open(ref fileName, ref missing,
ref readOnly, ref missing, ref missing, ref missing,
ref missing, ref missing, ref missing, ref missing,
ref missing, ref isVisible, ref missing, ref missing,
ref missing, ref missing);
objWordDoc.Activate();
objWordApp.Visible = false;

string InDoc = OPagPath + "\" + eachfile;
objWordApp.Selection.InsertFile(PagFpath, ref missing, ref missing, ref missing, ref missing);

//Here I need help to find and replace with particular style
}

objWordApp.Quit(ref notTrue, ref missing, ref missing);
[/code]

I need your help/suggestion regarding the find text and replace with corresponding style.

Comments

  • if you are just trying to parse the

    tags specifically you might just try using a regular expression to find them all...

    [code]
    var mytext = "this is my text hare

    over hizzah!";
    var pattern = "

    .*?

    ";
    var matches = Regex.Matches(mytext, pattern, RegexOptions.Singleline);

    var result = "";
    foreach (var match in matches.Cast())
    {
    result += "Heading Item: Start=" + match.Index + " Length=" + match.Length + "
    ";
    result += "Heading Text: ";
    result += match.Value.Replace("

    ", "").Replace("

    ", "") + "
    ";
    result += "_____________________________________________
    ";
    }

    MessageBox.Show(result);
    [/code]

    ><//~Psightoplasm`~
  • You can do this using Spire.Doc, very easy to use.

    http://www.e-iceblue.com/Introduce/word-for-net-introduce.html

    Maybe help to you.
Sign In or Register to comment.

Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!

Categories