Использование Interop. Word, там способ сделать замену (использование Находят. Выполнитесь), и сохраните выравнивание оригинального текста?

Я пытаюсь записать, находят/заменяют код для документов Word с помощью Word Automation через Interop. Word (11.0). Мои документы у всех есть различные поля (которые не обнаруживаются в Документе. Поля), которые окружаются скобками, например, <DATE> потребности, которые будут заменены DateTime.Now.Format("MM/dd/yyyy"). Нахождение/заменение хорошо работает. Однако часть заменяемого текста выровнена по правому знаку, и на замену, текст переносится к следующей строке. Есть ли какой-либо способ, которым я могу сохранить выравнивание, когда я выполняю замену? Код ниже:

using Word = Microsoft.Office.Interop.Word;

Word.Application wordApp = null;
try
{
    wordApp = new Word.Application {Visible = false};
    //.... open the document ....
    object unitsStory = Word.WdUnits.wdStory;
    object moveType = Word.WdMovementType.wdMove;
    wordApp.Selection.HomeKey(ref unitsStory, ref moveType);
    wordApp.Selection.Find.ClearFormatting();
    wordApp.Selection.Find.Replacement.ClearFormatting();  //tried removing this, no luck
    object replaceTextWith = DateTime.Now.ToString("MM/dd/yyyy");
    object textToReplace = "<DATE>";
    object replaceAll = Word.WdReplace.wdReplaceAll;
    object typeMissing = System.Reflection.Missing.Value;
    wordApp.Selection.Find.Execute(ref textToReplace, ref typeMissing, 
        ref typeMissing, ref typeMissing, ref typeMissing, ref typeMissing, 
        ref typeMissing, ref typeMissing, ref typeMissing, ref typeMissing, 
        ref replaceTextWith, ref replaceAll, ref typeMissing, ref typeMissing, 
        ref typeMissing, ref typeMissing);
    // ... save quit etc.... 
}
finally
{
     //clean up wordApp
}

TIA.

7
задан AJ. 18 May 2010 в 16:49
поделиться