如何用word写书_如何用vba在word中添加打勾的方框?

最近在做word vba项目,遇到个需求,需要根据条件判断批量输出打√的方框和不打√的方框,类似如下图所示:

86dbbe120adde289ae4aa4b444ed0ec0.png

本来以为是个很容易的事情,没想到阻碍不小。

首先,我们先看看如何在word文档中手动输入带√的框。

对于在word中输入打√的方框,只要打开百度搜索一下,就可以找到一系列教程,教怎么在Word中输入打√的方框。

7288cff96d6e197d8040567d7afdd0f0.png

这里,小编推荐本人最喜欢的2种方法,也是最容易记住和操作的方法。

第一种,用搜狗拼音输入法,打一个√符号,然后在“开始”选项卡下的“字体”组中选择“带圈字符”,圈号选择“方框”。

92ff828f7e498b334c4626c98dd3232c.gif

第二种,输入一个大写的R,然后字体选择“Wingdings 2”即可。

1b02f69b952239c273ba1b9594ce8198.gif

在word中手动插入带√的方框,看上去就是这么简单,但是当你要把这个字符放到vba中去,会发现变样了。

通过带圈字符生成的打√的方框,复制到vba中被拆分成了方框和√两个字符。

5971cb2fd93af4eeb8abcbdf81850853.gif

通过字体显示的打√方框拷贝到vba中显示的是原来的字符R。

2c531f6e6016fb1b758d54507681e010.gif

怎么办,怎么办?如何才能通过vba在word文档中输出打√的方框呢?

这里提供一种思路,仅供参考,如果您有更好的方法,请在评论区告诉我们。

回想刚才手动插入的过程,既然可以通过输入一个大写的R,然后字体选择“Wingdings 2”即可显示为打√的方框,我们为何不能在vba中先用大写的R代替该字符,然后输出在word中,再批量设置字体为“Wingdings 2”呢?

为此,我们将整个算法写成如下的形式:

将打√的方框表示为一个复杂的字符串(这个字符串不可能与整个word文档中的其它字符串重复,不能仅仅表示为大写字母R,因为有可能其它word字符串中也含有大写字母R),然后用word的查找替换,批量查找该复杂的字符串,替换为大写的R,同时替换设置字体格式为Wingdings 2。

代码如下:

Sub exceloffice()Dim oDoc As DocumentSet oDoc = Word.ActiveDocumentDim oRng As RangeSet oRng = oDoc.Content Arr = Array(“1、重大决策□”, “2、重要干部任免、奖惩□”, “3、重大项目安排□”, “4、大额资金使用□”, “5、其他□”)‘条件是“重大决策”sText = “重大决策”For i = 0 To UBound(Arr)If Arr(i) Like “*” & sText & “*” Then‘将满足条件的项目的无√框替换为一个特殊的字符串,这里是8个美元符号组成的生僻词,在word文档中不可能出现这样的词”Arr(i) = VBA.Replace(Arr(i), “□”, “$$$$$$$$”)End IfNext iWith oRng.Text = Join(Arr, vbTab)With .Find‘查找特殊的字符串.ClearFormatting.Text = “$$$$$$$$”With .Replacement.ClearFormatting‘替换为大写字母R.Text = “R”‘要替换的格式.Font.Name = “Wingdings 2”End With‘批量查找替换.Execute Format:=True, Replace:=wdReplaceAllEnd WithEnd WithEnd Sub

了上述方法,还可以用vba模拟第一种手动插入的方法,生成带圈的字符的方式,但是用上述代码可以非常完美的解决在word文档的任意位置插入打√的方框的问题,从而不用去考虑打√的方框在word文档中的位置,灵活性较好。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要在Word使用VBA绘制漂亮的图表,可以按照以下步骤进行操作: 1. 首先,打开Word文档并打开开发人员选项卡。如果没有显示开发人员选项卡,可以通过点击“文件”-“选项”-“自定义功能区”-“主选项卡”-“开发人员”来显示它。 2. 在开发人员选项卡,点击“Visual Basic”按钮,以打开VBA编辑器。 3. 在VBA编辑器,可以通过插入菜单来插入一个新的模块。在新的模块编写VBA代码。 4. 在VBA代码,可以使用Word对象模型来绘制图表。可以使用“Chart”对象和“ChartObjects”集合来创建并定位图表。 5. 首先,使用“Selection”对象或指定的书签位置选择要插入图表的位置。然后,使用“ChartObjects.Add”方法创建一个新的图表对象。 6. 接下来,可以使用“Chart”对象的属性和方法来设置图表的样式和数据。可以设置图表的类型(如柱状图、折线图等),设置图表的标题、图例、横纵坐标等。 7. 可以使用“Chart.SeriesCollection”集合来添加和编辑图表的数据系列。可以设置每个系列的数值范围和显示名称。 8. 可以使用“Chart.ChartArea”和“Chart.PlotArea”对象来设置图表的区域,包括背景色、边框线条等。 9. 最后,可以使用“Chart.Export”方法将图表导出为图片文件,并插入到Word文档。 以上是使用VBAWord绘制漂亮图表的一般步骤。根据具体需求,还可以进一步调整和优化图表的风格、布局和其他属性。通过熟练使用Word的对象模型和VBA编程,可以实现更加复杂和定制化的图表功能。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值