2009-12-03 2 views
4

워드 문서의 필드를 찾아서 데이터 세트의 값으로 대체하는 코드가 있습니다. 어떤 경우 stringValueFromDataSet에서어떻게 프로그래밍 방식으로 C#을 사용하여 Word 문서에서 행을 삭제할 수 있습니까?

Word.Document oWordDoc = new Word.Document(); 
foreach (Word.Field mergeField in oWordDoc.Fields) 
{ 
    mergeField.Select(); 
    oWord.Selection.TypeText(stringValueFromDataSet); 
} 

는 비어 아무것도 삽입하지뿐만 아니라, 실제로 현재 행을 삭제합니다.

어떻게하면됩니까?

답변

4

oWord.Selection.TypeBackspace();//remove the field

은 물론, 당신의 대답은 경우에 작동합니다. 그러나 ( 전체 라인은 백 스페이스를 사용하여 제거 할 수 없습니다) 일반적인 경우에 다음을 사용할 수 있습니다

private static object missing = System.Reflection.Missing.Value; 

    /// <summary> 
    /// Deletes the line in which there is a selection. 
    /// </summary> 
    /// <param name="application">Instance of Application object.</param> 
    private void DeleteCurrentSelectionLine(_Application application) 
    { 
     object wdLine = WdUnits.wdLine; 
     object wdCharacter = WdUnits.wdCharacter; 
     object wdExtend = WdMovementType.wdExtend; 
     object count = 1; 

     Selection selection = application.Selection; 
     selection.HomeKey(ref wdLine, ref missing); 
     selection.MoveDown(ref wdLine, ref count, ref wdExtend); 
     selection.Delete(ref wdCharacter, ref missing); 
    } 
+0

니스, 그것은 훨씬 더 강력한 대답. Mark. – nailitdown

5

OK 이것은 끝내 버렸습니다. oWord.Selection.TypeBackspace();//remove the line

관련 문제