Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vba MS Word中每个句子的不同背景颜色_Vba_Ms Word - Fatal编程技术网

Vba MS Word中每个句子的不同背景颜色

Vba MS Word中每个句子的不同背景颜色,vba,ms-word,Vba,Ms Word,我想要一个VBA脚本,以改变一个段落中的每个句子不同的颜色 因此,脚本单词寻找一个句号(.),然后给句子1分配一种颜色,然后看到一个句号,然后给句子2分配一种不同的背景颜色,等等 你可以用10种不同的颜色来加载脚本 这可能吗 我在网上其他地方找不到解决方案。展示您所做/研究的内容在StackOverflow中是必不可少的。因此,请确保下次真正使用搜索引擎时 然而,这是一项有趣的任务,我通常不使用Word Object做任何事情,因此我决定尝试一下: Sub CountValue() D

我想要一个VBA脚本,以改变一个段落中的每个句子不同的颜色

因此,脚本单词寻找一个句号(.),然后给句子1分配一种颜色,然后看到一个句号,然后给句子2分配一种不同的背景颜色,等等

你可以用10种不同的颜色来加载脚本

这可能吗


我在网上其他地方找不到解决方案。

展示您所做/研究的内容在StackOverflow中是必不可少的。因此,请确保下次真正使用搜索引擎时

然而,这是一项有趣的任务,我通常不使用Word Object做任何事情,因此我决定尝试一下:

Sub CountValue()

    Dim s As Long

    For s = 1 To ActiveDocument.Sentences.Count

        With ActiveDocument.Sentences(s).Font

        If s Mod 2 = 0 Then
            .Color = vbBlue
            .Shading.BackgroundPatternColor = wdColorGray10
        Else
            .Color = vbRed
            .Shading.BackgroundPatternColor = wdColorYellow
        End If
        End With
    Next s

End Sub
这只适用于两种颜色,但您可以轻松地将其调整为所需的任意数量。它会同时更改字体和背景色:


欢迎使用堆栈溢出!请阅读,在现实世界中,你将遇到严重的问题,因为VBA不知道语法句子是什么。例如,考虑以下事项:史米斯先生在约翰博士的杂货店花了1234.56美元买了:10公斤鳄梨;还有15.1公斤格林夫人的普莱森特澳洲坚果。对你和我来说,这算是一句话;对于VBA,它算作5个句子。@Macrood-谢谢,这似乎是一个非常有名的句子&一个非常有名的问题。如果它能找到句号,它不需要这样做。当然“Mt”一词会给出错误的结果,但这显然是一种罕见的现象。是的,这是一个有趣的现象。我对教育心理学感兴趣,这个脚本是为了帮助人们阅读文本。好吧,你可以尝试建立一些分析,忽略
先生
夫人
等。。可以肯定的是,
Google
在这方面相当先进。