我在C#中使用Microsoft.Office.Interop.Word。我知道您可以使用Range.Font.Bold = 1将文本设置为粗体。我的问题是我有一个长句,我必须在其中加粗一些,而不是整句。如果我的句子是“你想通过电子邮件回复你的问题吗?”,我希望“有回应”是大胆的。
通过这个例子,我只能加粗一个单词(通过循环整个word文档):
foreach(Microsoft.Office.Interop.Word.Range w in oDoc.Words)
{
if (w.Text == "Something")
w.Font.Bold = 1;
}
但这只是一个字,我怎样才能在一个句子中加上两个,三个或更多连续的单词。
答案 0 :(得分: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
希望它有所帮助!
答案 1 :(得分:0)