本站使用了 Pjax 等基于 JavaScript 的开发技术,但您的浏览器已禁用 JavaScript,请开启 JavaScript 以保证网站正常显示!

【收藏】使用手写字体让Excel表格打印后像手写的代码

效果如图,单元格里

字体:至少3种以上不同字体随机分布,且随机有字体变斜体

大小:单元格里字体大小5种以上随机分布(如16、16.5、17、17.5、18)

单元格对齐方式:居中、分散对齐(缩进1)、左对齐(缩进1)随机分布
请输入图片描述

Sub 手写()

Dim rng As Range, zt, dx, dq, sj, r, i, j, k '定义各变量
On Error Resume Next '忽略错误
Application.ScreenUpdating = False '关闭屏幕更新
Cells.HorizontalAlignment = xlGeneral '将所有字体的"居中体"格式,可将Cells改成提定区域,以免取消掉其它已设好的格式设置,下句代码同样
Cells.Font.Italic = False '取消字体的"斜体"格式
zt = Array("华文隶书", "楷体", "华文行楷") '需设置的字体 数组,可设置多个,中间用英文"," 隔开,设置的字体需电脑上装有并名称一致
dx = Array(16, 16.5, 17, 17.5, 18) '定义各种字体大小的数组,大小数量不限
dq = Array(xlLeft, xlCenter) '定义字体"靠左"、"居中",还可以"靠右"(xright)方式
sj = Array(0, 1) '单元格字体是否缩进随机开关
r = [A65536].End(xlUp).Row 'A列最末非空行
For Each rng In Range("A1:E" & r) '指定及历遍要处理区域范围,把 Range("A1:E" & r) 改成自己想要的区域即可

rng.Font.Italic = True     '将字体设置为"斜体"格式
rng.HorizontalAlignment = dq(Round(Rnd * 1, 0))      '随机将字体设置为"居中体"或"靠左"
If sj(Round(Rnd * 1, 0)) = 0 Then
   rng.VerticalAlignment = xlDistributed       '随机设置垂直居中
   If sj(Round(Rnd * 1, 0)) = 0 Then
      rng.InsertIndent 1       '随机设置缩进,1是指缩进1个单位
    End If
End If
For i = 1 To Len(rng)      '循环单元格内的每个字符
    rng.Characters(i, 1).Font.Name = zt(Round(Rnd * 2, 0))         '随机设置单元格内每个字符的字体(字体数组内的随机字体)
    rng.Characters(i, 1).Font.Size = dx(Round(Rnd * 4, 0))         '随机设置单元格内每个字符的大小(字体大小数组内的随机数)
Next

Next
Application.ScreenUpdating = True '恢复屏幕更新
End Sub
附件:https://fxws.lanzoui.com/iPDVcnfw1wd


正在加载...

推广

 继续浏览关于 的文章

 本文最后更新于:2021/03/29 15:54:59,可能因经年累月而与现状有所差异

 引用转载请注明:龙氏小哥 > 资源分享 > 【收藏】使用手写字体让Excel表格打印后像手写的代码

发现共鸣


Warning: curl_setopt() expects parameter 1 to be resource, null given in /www/wwwroot/blog.longshi.org/usr/themes/armx/functions.php on line 1531
如是说:修道者,逆天而行,注定要一生孤独。