怎样使word宏只对文档内选定的区域起作用

Sub 字体修改()
'
' 字体修改 Macro
'
'四号与三号间之间可以取的值:14 14.5 15 15.5 16
Dim R_Character As Range
Dim myFontSize As Single
Application.ScreenUpdating = False
For Each R_Character In ActiveDocument.Characters
VBA.Randomize
myFontSize = Choose(Int(VBA.Rnd * 5) + 1, "14", "14.5", "15", "15.5", "16")
R_Character.Font.Size = myFontSize
'位置,同理自己改
R_Character.Font.Position = Int(VBA.Rnd * 5) + 1
'字间距, 同理自己改
R_Character.Font.Spacing = Int(VBA.Rnd * 5) + 1
Next
Application.ScreenUpdating = True
End Sub

我到网上找了一个修改字体的宏代码,但是每次运行后文档内的所有内容都修改了,请问怎么样才能使这个代码只对鼠标选定的内容起作用?
怎样使代码只对部分选定的内容起作用,而不是整个文档。

第1个回答  2018-05-29
加上
Selection.Find.Execute Replace:=wdReplaceAll, Wrap:=wdFindStop
将你源代码For Each R_Character In ActiveDocument.Characters中ActiveDocument替换为Selection
第2个回答  2017-11-30
宏的问题,我会,代码太多,一句两句也写不清。
可以私信聊聊,也可以有偿的提供代码。本回答被网友采纳