[QUOTE=brightline;1781168]I don't know which part is slow.
What do you mean by using one Word instance to do the searching?[/QUOTE]

By "one Word instance", I mean something like ...

Word.ApplicationClass wordApp=new ApplicationClass();
// For each file in list of doc files
// Open file and
// Search for text and ...

Instead of ...

// For each file in list of doc files
Word.ApplicationClass wordApp=new ApplicationClass();
// Open file and
// Search for text and ...

You might find this useful ... [url]http://goo.gl/vZhrY[/url]

To find out which part is slow, refactor your code so you can test building the file list and searching the doc files separately.

I hope you find this helpful.

Add PAUSE to the bottom of the batch file so the console doesn't open and close so fast you don't notice.

Something like this works ...

[CODE] private void Form1_Load(object sender, EventArgs e)
{
btn0.Click += new EventHandler(ButtonClickHandler);
btn1.Click += new EventHandler(ButtonClickHandler);
// etc.
}

    private void ButtonClickHandler(object sender, EventArgs e)
    {
        Button btn = (Button)sender;
        if (btn == btn0)
        { 
            // Handle btn0 ...
            // etc.
        }
    }[/CODE]

Which part is slow? Building the file list or searching the file? I assume you are using one Word instance to do the searching.