|
本帖最后由 weiyingde 于 2020-2-11 11:47 编辑
缘起:应相见是缘8朋友的要求,选择一个文档中几个不连续的区域,我在编程过程中也遇到类似的要求,苦于任务所迫,当时没时间深入细究,昨天帮相见是缘8完成了半截任务,之后觉得还是遗憾,没有达到别人要求,也没有实现的初衷。于是,今天上午,花了将近两个钟头的探索尝试,几乎翻遍了自己手头资料和网络资源,没有可供借鉴的事例,只有模仿别的资料和实例,并借助编成过程中弹出的方法、对象,终于完成了任务,心头的一颗石头总算落地。
代码如下:
Sub 同时选取并改变多个独立区域的格式()
With ActiveDocument
.DeleteAllEditableRanges wdEditorEveryone '删除所有可编辑的区域
With .Content.Font
.Name = "楷体"
.ColorIndex = wdAuto
.Size = 10.5
End With
For i = 1 To 4
.Range(.Paragraphs(i).Range.Start + Int(Rnd * 3 + 1) * i, .Paragraphs(i).Range.End - Int(Rnd * 4 + 1) * i).Editors.Add wdEditorEveryone
Next
.SelectAllEditableRanges wdEditorEveryone '选中所有可编辑区域
With Selection.Font
.Name = "华文行楷"
.ColorIndex = Array(1, 2, 3, 4, 5, 6, 7, 9, 10, 11, 12, 13, 14, 15, 16)(Int(Rnd * 14 + 1))
.Size = 7 + Int(Rnd * 10)
End With
End With
End Sub
|
|