【发布时间】:2021-01-05 19:46:33
【问题描述】:
这可能吗?
编辑:解释我自己,并以另一种方式思考
我可以循环遍历字母、单词和段落,但没有想到我认为应该是句子,也找不到任何行的参考。
作为一张千言万语的图,我附上一张图说明一下自己:
- 以黑色为正方形的文本示例
- 我用下面的代码成功了
- 红色方格,我知道该怎么做
example of sentences coloured as mention, image as link as it is my first post
我的目的是突出/标记/着色那些不适合单个页面宽度的线条,例如黄色正方形。但不知道应该怎么做我无法实现简单的事件。
有什么帮助吗? (在这里和其他地方搜索了几个小时都没有成功)
If False Then ' Cool, letter by letter
With ActiveDocument
For i = 1 To .Characters.Count
.Characters(i).Font.Color = Int(Rnd * 1048576)
Next
End With
End If
If False Then ' Cool, word by word
With ActiveDocument
For i = 1 To .Words.Count
.Words(i).Font.Color = Int(Rnd * 1048576)
Next
End With
End If
If False Then ' :-( same as paragraph
With ActiveDocument
For i = 1 To .Sentences.Count
.Sentences(i).Font.Color = Int(Rnd * 1048576)
Next
End With
End If
If True Then ' Cool, paragraph by paragraph
With ActiveDocument
For i = 1 To .Paragraphs.Count
.Paragraphs(i).Range.Sentences(1).Font.Color = Int(Rnd * 1048576)
Next
End With
End If
NOTE + ADDs:解释我自己,并以另一种方式思考
如下文所述,我自己解释说,总体目的 id 是为了识别“不适合一个打印行的文本行”。如果有兴趣,它与写诗有关。 我想我也可以尝试在打印线上“定位每个字符”,识别“线刹车”字符(Word 不考虑刹车句子),并逐字/逐字母手动着色。 但是我也没有在字符对象上找到一个属性,该属性指的是打印视图中的位置。
【问题讨论】:
-
句子不是 Word VBA 对象。行更不用说,因为“行”取决于文本的特定显示,如果字体更改,则可以轻松更改。如果您说明您要达到的总体目标,这将有所帮助,因为您对如何实现该目标的假设可能存在缺陷。
-
«句子不是 Word VBA 对象。» Word VBA 具有句子属性,但它与语法句子几乎没有共同之处。例如,考虑以下情况:Mr.史密斯在约翰博士的杂货店花了 1,234.56 美元购买: 10.25 公斤土豆; 10公斤鳄梨;和15.1公斤格林夫人的Mt. Pleasant澳洲坚果。 对你我来说,这就是一句话;对于 VBA,它算作 5 个句子。
-
@JohnKorchok,是的,我知道这取决于显示设置、纸张大小、字体大小等...是的,但这意味着它根本无法从 VBA 访问?
-
@macropod 也谢谢你,那么单词上的句子是什么?,每个“简单句子”,类似于那些用分号、点或其他标点符号分隔的 f?
-
整体范围,如上一张图片所示,以识别不适合印刷线的“句子”(如果古玩,它与写诗有关)
标签: vba ms-word formatting