private bool Convert(
string sourcePath,
string targetPath, Word.WdExportFormat exportFormat)

{
bool result;
object paramMissing = Type.Missing;

Word.ApplicationClass wordApplication =
new Word.ApplicationClass();

Word.Document wordDocument =
null;
try 
{
object paramSourceDocPath = sourcePath;
string paramExportFilePath = targetPath;

Word.WdExportFormat paramExportFormat = exportFormat;
bool paramOpenAfterExport =
false;

Word.WdExportOptimizeFor paramExportOptimizeFor =

Word.WdExportOptimizeFor.wdExportOptimizeForPrint;

Word.WdExportRange paramExportRange = Word.WdExportRange.wdExportAllDocument;
int paramStartPage = 0;
int paramEndPage = 0;

Word.WdExportItem paramExportItem = Word.WdExportItem.wdExportDocumentContent;
bool paramIncludeDocProps =
true;
bool paramKeepIRM =
true;

Word.WdExportCreateBookmarks paramCreateBookmarks =

Word.WdExportCreateBookmarks.wdExportCreateWordBookmarks;
bool paramDocStructureTags =
true;
bool paramBitmapMissingFonts =
true;
bool paramUseISO19005_1 =
false;

wordDocument = wordApplication.Documents.Open(
ref paramSourceDocPath,
ref paramMissing,
ref paramMissing,
ref paramMissing,
ref paramMissing,
ref paramMissing,
ref paramMissing,
ref paramMissing,
ref paramMissing,
ref paramMissing,
ref paramMissing,
ref paramMissing,
ref paramMissing,
ref paramMissing,
ref paramMissing,
ref paramMissing);
if (wordDocument !=
null)

wordDocument.ExportAsFixedFormat(paramExportFilePath,

paramExportFormat, paramOpenAfterExport,

paramExportOptimizeFor, paramExportRange, paramStartPage,

paramEndPage, paramExportItem, paramIncludeDocProps,

paramKeepIRM, paramCreateBookmarks, paramDocStructureTags,

paramBitmapMissingFonts, paramUseISO19005_1,
ref paramMissing);

result =
true;

}
finally 
{
if (wordDocument !=
null)

{

wordDocument.Close(
ref paramMissing,
ref paramMissing,
ref paramMissing);

wordDocument =
null;

}
if (wordApplication !=
null)

{

wordApplication.Quit(
ref paramMissing,
ref paramMissing,
ref paramMissing);

wordApplication =
null;

}

GC.Collect();

GC.WaitForPendingFinalizers();

GC.Collect();

GC.WaitForPendingFinalizers();

}
return result;

}