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;

}