日常工作中经常有大量手写工作,这些简单重复的工作不仅占用工作时间,而且效率低,有么有办法打印出来的手写体以假乱真呢,其他先不废话,在world里实现随机字体排版!
Sub 字体随机生成()
\’
\’ 字体修改 宏
\’
Dim R_Character As Range
Dim FontSize(5)
\’ 字体大小在5个值之间进行波动,可以改写
FontSize(1) = \”18\”
FontSize(2) = \”19.5\”
FontSize(3) = \”19\”
FontSize(4) = \”18.5\”
FontSize(5) = \”19.2\”
Dim FontName(13)
\’字体名称在三种字体之间进行波动,可改写,但需要保证系统拥有下列字体
FontName(1) = \”邢世新硬笔行书简体\”
FontName(2) = \”陈继世-硬笔行书\”
FontName(3) = \”hakuyoxingshu7000\”
FontName(4) = \”德彪钢笔行书字库\”
FontName(5) = \”陈代明硬笔体\”
FontName(6) = \”钟齐安景臣硬笔行书\”
FontName(7) = \”司马彦简行修正版\”
FontName(8) = \”全新硬笔行书简\”
FontName(9) = \”全新硬笔行书简\”
FontName(10) = \”书体坊安景臣钢笔行书\”
FontName(11) = \”liguofu\”
FontName(12) = \”王金彦简行书完善体\”
FontName(13) = \”游狼近草体(简)\”
Dim ParagraphSpace(5)
\’行间距 在一定以下值中均等分布,可改写
ParagraphSpace(1) = \”12\”
ParagraphSpace(2) = \”13\”
ParagraphSpace(3) = \”20\”
ParagraphSpace(4) = \”7\”
ParagraphSpace(5) = \”12\”
\’不懂原理的话,不建议修改下列代码
For Each R_Character In ActiveDocument.Characters
VBA.Randomize
\’ Randomize,则(无参数的)Rnd 函数使用第一次调用 Rnd 函数的种子值
R_Character.Font.Name = FontName(Int(VBA.Rnd * 13) 1)
\’字体选择,1~13的随机整数
R_Character.Font.Size = FontSize(Int(VBA.Rnd * 5) 1)
\’字大小选择,1~5的随机整数
R_Character.Font.Position = VBA.Round(Rnd(), 1) – 0.5
\’Position属性的值为正值时,表示将文本升高;值为负值时,表示将文本降低。 样例 \’ 本示例将选定的文字提高降低磅
R_Character.Font.Spacing = 0
\’选定文字的字符间距加宽0磅’
R_Character.Font.Spacing = -VBA.Round(Rnd(), 1)
Next
Application.ScreenUpdating = True
For Each Cur_Paragraph In ActiveDocument.Paragraphs
Cur_Paragraph.LineSpacing = ParagraphSpace(Int(VBA.Rnd * 5) 1)
\’LineSpacing行距
Next
Application.ScreenUpdating = True
End Sub
这是用代码自动生成后的文稿实例:
需要所需字体文件和源文件代码的可以私信我哦!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。