2012-03-23 4 views
0

C#으로 Microsoft.Office.Interop.Word를 사용하고 있습니다. Range.Font.Bold = 1을 사용하여 텍스트를 굵게 설정할 수 있다는 것을 알고 있습니다. 내 문제는 내가 긴 문장을 가지고 있으며 전체 문장이 아닌 일부 단어를 과감하게 만들어야한다는 것이다. 제 문장이 "귀하의 질문에 대한 답변을 전자 메일로 보내시겠습니까?"라고 대답하는 경우, "응답"을 굵게 표시하고 싶습니다. 이 예 (전체 워드 문서를 통해 반복하여) 내가 할 수있는 굵은 하나의 단어로 C# Microsoft.Office.Interop.Word

:

foreach(Microsoft.Office.Interop.Word.Range w in oDoc.Words) 
{ 
    if (w.Text == "Something") 
     w.Font.Bold = 1; 
} 

하지만 내가 굵은 두 개, 세 개 이상 연속 단어를 만들 수있는 방법, 하나 개의 단어입니다 한 문장으로

답변

3

전체 문서를 반복 할 필요가 없습니다. 사용 Word.WdReplace.wdReplaceAll이 비슷한 :

private void SearchReplace() 
{ 
    Word.Find findObject = Application.Selection.Find; 
    findObject.ClearFormatting(); 
    findObject.Text = "find me"; 
    findObject.Replacement.ClearFormatting(); 
    findObject.Replacement.Text = "Found"; 

    object replaceAll = Word.WdReplace.wdReplaceAll; 
    findObject.Execute(ref missing, ref missing, ref missing, ref missing, ref missing, 
     ref missing, ref missing, ref missing, ref missing, ref missing, 
     ref replaceAll, ref missing, ref missing, ref missing, ref missing); 
} 

당신은 여기에 대한 자세한 내용을보실 수 있습니다 : http://msdn.microsoft.com/en-us/library/f65x8z3d.aspx

는 희망이 도움이! 이것

관련 문제