【发布时间】:2019-03-08 21:55:02
【问题描述】:
我正在尝试从 Visual Basic 程序中导出 Word 文档。文档的不同部分需要不同的格式。
我有几个段落,我只需要将每个段落的部分加粗。我正在尝试设置需要加粗的每个段落中的范围,但无论我做什么,它似乎只想加粗整个段落。
我想做这样的事情:
Dim Para1 As Word.Paragraph
Para1 = WordDoc.Content.Paragraphs.Add
Para1.Range.Start = 1
Para1.Range.End = 14
Para1.Range.Font.Bold = True
Para1.Range.Text = "Job number is: " + myJobID
... 使其从“J”加粗到“:”(在 Para1.Range.Text 中),但不加粗 myJobID(这是我从用户那里获得的变量)。但是,无论我做什么,它都会将整个段落加粗,包括 myJobID。
我也尝试过创建一个 Range 变量来设置基于整个文档的范围,但问题是,我在 Word 文档中输出的几个变量的长度会有所不同,并且因此没有办法知道我想加粗的下一部分的开始位置。所以基本上,我必须在 Paragraph 对象中工作,而不是遍历整个文档中的所有字符。
希望这是有道理的。有什么想法吗?
【问题讨论】:
-
您在一个空段落上设置了粗体属性,然后添加了文本。反过来做。例如添加段落,添加文本,设置子范围,然后最后将格式应用于子范围。