办公问答网

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 108|回复: 2

word手写字体逼真化宏

[复制链接]

3

主题

6

帖子

14

积分

新手上路

Rank: 1

积分
14
发表于 2022-12-22 18:44:42 | 显示全部楼层 |阅读模式
Sub 字体修改()' 字体修改 宏Dim R_Character As Range' 字体大小在下列值之间进行波动,改成需要的大小,重复出现的次数越多,相应出现的概率越大,最小精度0.5Dim FontSize() As StringFontSize = Split("18.5,18.5,18.5,19,18", ",")'字体名称在下列字体之间进行波动,改成需要的字体,但需要保证系统拥有下列字体,可以在word查看字体名字Dim FontName() As StringFontName = Split("【嵐】芊柔体,萌妹子体,张维镜手写楷书,【嵐】芊柔体", ",") ' 推荐字体' "萌妹子体,张维镜手写楷书,萌妹子体,汉仪晨妹子W,小豆岛风物诗简繁,小豆岛秋日和简繁"   'a数值越大,行距越大,波动范围a+x, x∈[-1~1]a = 0'b数值越大,字距越大,波动范围b+x, x∈[-1~1]b = 0'行间距 在一定以下值中均等分布,改成需要的大小,范围c+x, x∈[0~5]c = 25For Each R_Character In ActiveDocument.CharactersVBA.Randomize' 数组长度FontNameLength = UBound(FontName) - LBound(FontName)FontSizeLength = UBound(FontSize) - LBound(FontSize)' 字号大小R_Character.Font.Size = FontSize(Int(VBA.Rnd * FontSizeLength) + 1)' 字的上下偏移R_Character.Font.Position = Choose(Int(VBA.Rnd * 5) + 1, -1, -0.5, 0, 0.5, 1) + a' 字的左右间距R_Character.Font.Spacing = Choose(Int(VBA.Rnd * 5) + 1, -1, -0.5, 0, 0.5, 1) + bIf R_Character = "。" Or R_Character = "," Or R_Character = "," Or R_Character = ";" Or R_Character = "’" Or R_Character = "‘" Or R_Character = "“" Or R_Character = "”" Or R_Character = "!" Or R_Character = "?" Or R_Character = "、" Or R_Character = ":" Then' 中文常用标点符号' 标点固定用以下字体R_Character.Font.Name = "张维镜手写楷书"' 标点随机用FontName中字体'R_Character.Font.Name = FontName(Int(VBA.Rnd * FontSizeLength))ElseIf Asc(R_Character) >= 48 And Asc(R_Character) <= 57 Then' 数字R_Character.Font.Name = "【嵐】芊柔体"ElseIf Asc(R_Character) >= 97 And Asc(R_Character) <= 122 Or Asc(R_Character) >= 65 And Asc(R_Character) <= 90 Or R_Character = "." Or R_Character = "(" Or R_Character = ")" Or R_Character = "(" Or R_Character = ")" Then' 大小写字母R_Character.Font.Name = "【嵐】芊柔体"End IfNextFor Each Cur_Paragraph In ActiveDocument.Paragraphs' 设置行间距类型为固定值Cur_Paragraph.LineSpacingRule = wdLineSpaceExactly' 设置行间距的值Cur_Paragraph.LineSpacing = Int(VBA.Rnd * 5) + 1 + cNextSelection.Find.ClearFormattingSelection.Find.Replacement.ClearFormattingWith Selection.Find.Text = "“".Replacement.Text = "".Forward = True.Wrap = wdFindContinue.Format = False.MatchCase = False.MatchWholeWord = False.MatchByte = True.MatchWildcards = False.MatchSoundsLike = False.MatchAllWordForms = FalseEnd WithSelection.Find.Execute Replace:=wdReplaceAllSelection.Find.ClearFormattingSelection.Find.Replacement.ClearFormattingWith Selection.Find.Text = "”".Replacement.Text = "".Forward = True.Wrap = wdFindContinue.Format = False.MatchCase = False.MatchWholeWord = False.MatchByte = True.MatchWildcards = False.MatchSoundsLike = False.MatchAllWordForms = FalseEnd WithSelection.Find.Execute Replace:=wdReplaceAllApplication.ScreenUpdating = TrueEnd Sub
p.s. 字体下载好后,将ttf文件复制到C:\Windows\Fonts即可完成安装。
回复

使用道具 举报

1

主题

4

帖子

6

积分

新手上路

Rank: 1

积分
6
发表于 2022-12-22 18:44:47 | 显示全部楼层
显示“无效的字符”
回复

使用道具 举报

0

主题

8

帖子

10

积分

新手上路

Rank: 1

积分
10
发表于 2025-6-12 04:21:25 | 显示全部楼层
顶顶更健康
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|办公问答网

GMT+8, 2025-7-6 01:20 , Processed in 0.085111 second(s), 22 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc. Templated By 【未来科技 www.veikei.com】设计

快速回复 返回顶部 返回列表