
您知道,我们总是不确定该如何面对这些脚本专家。他们告诉我们的每件事听起来都不错,但是我们试着照做的时候,并非总能奏效。我们怎么知道他们确实了解自己正在做的事情呢?
例如,脚本专家常告诉我们:能通过 Microsoft Word 用户界面实现的操作几乎都可以使用脚本来完成。需要更改字号吗?使用脚本能够做到。需要将 Word 文档另存为文本文件吗?使用脚本能够做到。需要更改段落的背景颜色吗?使用脚本能够做到。
脚本专家大抵会这样告诉我们。但我们希望有不同的答案。我们将从网上找到的信息进行汇总,组成一个测试脚本,该脚本创建了三个段落,段落背景颜色分别设置为黑色、红色和黄色(然后将文档的背景颜色设置回白色)。该脚本如下:
Set objWord = CreateObject("Word.Application")
objWord.Visible = True
Set objDoc = objWord.Documents.Add()
Set objSelection = objWord.Selection
i = 1
objSelection.ParagraphFormat.Shading.BackgroundPatternColor = wdColorBlack
objSelection.TypeText "This is the first paragraph."
objSelection.TypeParagraph()
i = i + 1
objDoc.Paragraphs(i).Range.Select
objSelection.ParagraphFormat.Shading.BackgroundPatternColor = wdColorRed
objSelection.TypeText "This is the second paragraph."
objSelection.TypeParagraph()
i = i + 1
objDoc.Paragraphs(i).Range.Select
objSelection.ParagraphFormat.Shading.BackgroundPatternColor = wdColorYellow
objSelection.TypeText "This is the third paragraph."
objSelection.TypeParagraph()
i = i + 1
objDoc.Paragraphs(i).Range.Select
objSelection.ParagraphFormat.Shading.BackgroundPatternColor = wdColorWhite
所生成的 Word 文档如下所示:

嗯,有点作用。我们成功地将第一段的背景颜色更改为黑色;但没能将其他段落更改为红色、黄色或白色。考虑到背景颜色也许只能更改一次,我们修改了脚本,更改代码以将每个段落的背景颜色设置为红色。该 Word 文档如下所示:

显然,新的红色显示为黑色。而且,根据我们试过的其他变量,新的黄色、白色、深青色以及我们能想到的任何其他新颜色都显示为黑色。Henry Ford 说得对:您想要什么颜色就能有什么颜色…只要原来是黑色。
这个脚本的问题到底出在哪儿?(提示您一下:虽然没什么坏处,但解答这道测试题不必了解有关 Microsoft Word 脚本编写的事项。真的!)