【发布时间】:2017-01-21 22:15:38
【问题描述】:
我正在使用以下代码使用 Delphi XE5 在 MS Word 中插入一个包含 2 个单元格的表格。表格单元格的所有字体都非常简单。 1个字除外。我需要这个词加粗,其余的不加粗。
请帮我调整我的代码,以便我可以将 1 个单词加粗。
wrdDoc.Tables.Add(wrdSelection.Range,3,2);
wrdDoc.tables.Item(3).Rows.Alignment := wdAlignRowLeft;
wrdDoc.Tables.Item(3).Columns.Item(1).SetWidth(36,wdAdjustNone);
wrdDoc.Tables.Item(3).Columns.Item(2).SetWidth(379,wdAdjustNone);
wrdDoc.tables.Item(3).Borders.Item(wdBorderLeft).LineStyle := wdLineStyleNone;
wrdDoc.tables.Item(3).Borders.Item(wdBorderRight).LineStyle := wdLineStyleNone;
wrdDoc.tables.Item(3).Borders.Item(wdBorderVertical).LineStyle := wdLineStyleNone;
wrdDoc.tables.Item(3).Borders.Item(wdBorderTop).LineStyle := wdLineStyleNone;
wrdDoc.tables.Item(3).Borders.Item(wdBorderBottom).LineStyle := wdLineStyleNone;
wrdDoc.tables.Item(3).Borders.Item(wdBorderHorizontal).LineStyle := wdLineStyleNone;
wrdDoc.Tables.Item(3).Cell(1,1).Range.InsertAfter('8.1');
wrdDoc.Tables.Item(3).Cell(1,1).Range.Paragraphs.Alignment := wdAlignParagraphleft;
wrdDoc.Tables.Item(3).Cell(1,1).Range.Font.Size := 12;
wrdDoc.Tables.Item(3).Cell(1,1).Range.Font.Bold := false;
wrdDoc.Tables.Item(3).Cell(1,1).Range.Font.underline := false;
wrdDoc.Tables.Item(3).Cell(1,2).Range.InsertAfter('this will not be bold text');
wrdDoc.Tables.Item(3).Cell(1,2).Range.InsertAfter('this will not be bold text');
wrdDoc.Tables.Item(3).Cell(1,2).Range.InsertAfter('THIS TEXT MUST BE BOLD');
wrdDoc.Tables.Item(3).Cell(1,2).Range.Paragraphs.Alignment := wdAlignParagraphJustify;
wrdDoc.Tables.Item(3).Cell(1,2).Range.Font.Size := 12;
wrdDoc.Tables.Item(3).Cell(1,2).Range.Font.Bold := false;
wrdDoc.Tables.Item(3).Cell(1,2).Range.Font.underline := false;
正如您在代码的最后一部分中看到的,InsertAfter() 有 3 次调用,我插入的句子很长。而 Delphi 将我限制为 255,所以我不止一次调用它们,它和调用一次一样好。
只有最后一次调用,必须是粗体。其余的应该保持上面定义的格式。
我们将不胜感激。谢谢你
【问题讨论】:
标签: delphi ms-word delphi-xe5