代码改变世界

word2007插件开发经验备忘3--如何操作文本字体

2010-10-29 13:55 轩脉刃 阅读(...) 评论(...) 编辑 收藏

文本设置就是设置Font的属性,设置为Word.Font的类


但是有个问题,如何把一列文本中的特定字设置字体呢?

 

代码
public void AddToTable(Word.Table table, int row, string docName)
{
table.Cell(row,
2).Range.Text = this.TDICatelog1;
table.Cell(row,
3).Range.Text = this.TDISubCatelog1;

#region Add description table.Cell(row, 4)
Word.Font normalFont
= table.Cell(row, 3).Range.Font;
string description = "Title:\n" + docName + ":" + this.TDITitle1 + "\nSection:\n" + this.TDISection1 + "\nPage:\n" + this.TDIPage1 + "\nTechnical Document Content:\n"
+ this.TDIContent1 + "\nTechnical Document Issue:\n" + this.TDIIssue1 + "\nRecommended Change:\n" + this.TDICommendChange1 + "\nReproduction Steps:\n";
table.Cell(row,
4).Range.Text = description;
table.Cell(row,
4).Range.Select();
Word.Selection seletionText
= table.Application.Selection;
Word.Find find
= seletionText.Find;
object FindText = docName;
object MatchCase = false;
object MatchWholeWord = true;
object MatchWildcards = false;
object MatchSoundsLike = false;
object MatchAllWordForms = false;
object Forward = true;
object Wrap = Word.WdFindWrap.wdFindStop;
object Find_Format = false;
object ReplaceWith = docName;
object Replace = Word.WdReplace.wdReplaceNone;
object MatchKashida = false;
object MatchDiacritics = false;
object MatchAlefHamza = false;
object MatchControl = false;
if (find.Execute(ref FindText, ref MatchCase, ref MatchWholeWord, ref MatchWildcards, ref MatchSoundsLike, ref MatchAllWordForms, ref Forward, ref Wrap, ref Find_Format, ref ReplaceWith, ref Replace,
ref MatchKashida, ref MatchDiacritics, ref MatchAlefHamza, ref MatchControl))
{
seletionText.Font
= normalFont;
}

//Change teh TDITitile;
table.Cell(row, 4).Range.Select();
seletionText
= table.Application.Selection;
FindText
= ":" + this.TDITitle1;
if (find.Execute(ref FindText, ref MatchCase, ref MatchWholeWord, ref MatchWildcards, ref MatchSoundsLike, ref MatchAllWordForms, ref Forward, ref Wrap, ref Find_Format, ref ReplaceWith, ref Replace,
ref MatchKashida, ref MatchDiacritics, ref MatchAlefHamza, ref MatchControl))
{
seletionText.Font
= normalFont;
}

//Change teh TDISection;
table.Cell(row, 4).Range.Select();
seletionText
= table.Application.Selection;
FindText
= TDISection1;
if (find.Execute(ref FindText, ref MatchCase, ref MatchWholeWord, ref MatchWildcards, ref MatchSoundsLike, ref MatchAllWordForms, ref Forward, ref Wrap, ref Find_Format, ref ReplaceWith, ref Replace,
ref MatchKashida, ref MatchDiacritics, ref MatchAlefHamza, ref MatchControl))
{
seletionText.Font
= normalFont;
}

//Change teh TDIPage;
table.Cell(row, 4).Range.Select();
seletionText
= table.Application.Selection;
FindText
= this.TDIPage1;
if (find.Execute(ref FindText, ref MatchCase, ref MatchWholeWord, ref MatchWildcards, ref MatchSoundsLike, ref MatchAllWordForms, ref Forward, ref Wrap, ref Find_Format, ref ReplaceWith, ref Replace,
ref MatchKashida, ref MatchDiacritics, ref MatchAlefHamza, ref MatchControl))
{
seletionText.Font
= normalFont;
}

//Change teh TDIContent;
table.Cell(row, 4).Range.Select();
seletionText
= table.Application.Selection;
FindText
= this.TDIContent1;
if (find.Execute(ref FindText, ref MatchCase, ref MatchWholeWord, ref MatchWildcards, ref MatchSoundsLike, ref MatchAllWordForms, ref Forward, ref Wrap, ref Find_Format, ref ReplaceWith, ref Replace,
ref MatchKashida, ref MatchDiacritics, ref MatchAlefHamza, ref MatchControl))
{
seletionText.Font
= normalFont;
}

//Change teh TDIIssue;
table.Cell(row, 4).Range.Select();
seletionText
= table.Application.Selection;
FindText
= this.TDIIssue1;
if (find.Execute(ref FindText, ref MatchCase, ref MatchWholeWord, ref MatchWildcards, ref MatchSoundsLike, ref MatchAllWordForms, ref Forward, ref Wrap, ref Find_Format, ref ReplaceWith, ref Replace,
ref MatchKashida, ref MatchDiacritics, ref MatchAlefHamza, ref MatchControl))
{
seletionText.Font
= normalFont;
}

//Change teh TDICommentChange;
table.Cell(row, 4).Range.Select();
seletionText
= table.Application.Selection;
FindText
= this.TDICommendChange;
if (find.Execute(ref FindText, ref MatchCase, ref MatchWholeWord, ref MatchWildcards, ref MatchSoundsLike, ref MatchAllWordForms, ref Forward, ref Wrap, ref Find_Format, ref ReplaceWith, ref Replace,
ref MatchKashida, ref MatchDiacritics, ref MatchAlefHamza, ref MatchControl))
{
seletionText.Font
= normalFont;
}
#endregion

table.Cell(row,
5).Range.Text = "Spec Review";
table.Cell(row,
6).Range.Text = "Bug ID \nto be reivewed\n";
table.Cell(row,
7).Range.Text = "3";
table.Cell(row,
8).Range.Text = "3";
}

 

就是使用find.execute()这个函数,相当于查找+选中,于是问题就解决了.....