总是听到或看到有人问,编程好学吗?如何入门?多久能学会?它能做些什么?怎么写代码呀?执行过程中出问题了谁能帮帮我...如果你也有类似的问题那就赶快关注我的公众号,一起学起来吧!
使用代码制作田字格是一种高效、精确且可复用的方法,尤其适用于需要批量生成、尺寸统一或作为模板反复使用的情况
与手动设置边框或使用绘图工具相比,VBA自动化能确保每个田字格的样式、尺寸和布局完全一致,还能够轻松适配不同的打印或显示需求

效果展示
与Excel VBA相比,直接在Word中使用VBA制作田字格,能够精确控制物理尺寸(厘米/毫米)、实现完美的正方形网格,因此我们选取Word VBA,入口如下图所示

如果不清楚如何在Word工具栏增加“开发工具”,可点击以下链接查看“问题分析与设计”章节,有详细说明:【Excel VBA 编程】让人头疼的Word文档排版,批量数据一键自动搞定
如果是小学生练字,田字格尺寸可以设置为1.5厘米 ×1.5厘米,打印后刚好是1.5×1.5

成人练字的话,田字格尺寸还可以调整为2.5厘米×2.5厘米,总之可以根据需求随意调整大小

如此精准地控制尺寸,主要是通过CentimetersToPoints这个函数来完成的,在代码中是如何使用的呢?继续往下看吧

代码及实现步骤
实现核心逻辑:利用Word VBA的图形绘制功能,分别创建一个矩形和两条直线这三个基本图形元素,并通过精确的坐标计算将它们定位,最终组合成一个单一的、可整体操作的图形对象
代码参考:
Sub CreatGrids()' 创建一个田字格模板Dim doc As DocumentDim shp As ShapeDim p As Integerp = 100 '位置Set doc = ActiveDocumentsize = CentimetersToPoints(1.5) '内置函数:单位转换' 在页面外创建(位置100,100)Set shp = doc.Shapes.AddShape(msoShapeRectangle, p, p, size, size)With shp.Line.ForeColor.RGB = RGB(0, 0, 0).Line.Weight = 1.5.Fill.Visible = msoFalse' 添加十字线Dim hLine As Shape, vLine As ShapeSet hLine = doc.Shapes.AddLine(p + size / 2, p, p + size / 2, p + size)Set vLine = doc.Shapes.AddLine(p, p + size / 2, p + size, p + size / 2)hLine.Line.ForeColor.RGB = RGB(150, 150, 150)vLine.Line.ForeColor.RGB = RGB(150, 150, 150)' 组合成一个对象doc.Shapes.Range(Array(shp.Name, hLine.Name, vLine.Name)).GroupEnd WithMsgBox "完成"End Sub
其中,代码中有几个关键点:
第8行代码:调用Word的内置函数 CentimetersToPoints,将1.5厘米的物理尺寸转换为Word内部绘图所使用的“磅”单位(1厘米≈28.35磅),确保生成图形的尺寸精确且易于调整
第17、18行代码:绘制内部十字线,指定线条的起点和终点坐标通过 doc.Shapes.AddLine 方法实现
第22行代码:将创建的矩形(shp)、竖线(hLine)和横线(vLine)组合成一个单一的图形对象。组合后,这个田字格就可以被整体移动、缩放或复制,而内部的相对结构不会错乱
公众号同时也在不间断地分享免费的编程案例,如果想学习更多的编程知识,无论是用来提升自动化办公效率还是想提升自我,都可以关注我的公众号,解锁更多的VBA技能