如何用VBA向Word中添加CheckBox控件并修改属性

2025-10-27 00:25:03

1、新建Word,在开发工具栏里面点开录制宏,选择自己喜欢的操作方式,这里将宏指定到键盘,然后键入一组新快捷键。点击指定,然后手动添加一个CheckBox复选框。停止录制,打开Visual Basic编辑器,进入刚才录制宏的代码块。如下图

如何用VBA向Word中添加CheckBox控件并修改属性

2、里面非常重要的一句话,第二讨沃句:Selection.InlineShapes.AddOLEControl ClassType:="Forms.CheckBox.1"   

这句就是向Word文档中添加CheckBox复选框的语句。第一句是选中当前文档的。

这里,我们可以直接调用ActiveDocument的InlineShapes方法,向当前文档中添加控件。

代码如下,

Set x = ActiveDocument.InlineShapes.AddOLEControl("Forms.CheckBox.1")    ‘新建一个复选框并将此复选框赋值给x变量。

如何用VBA向Word中添加CheckBox控件并修改属性

3、然后我们可以用复选框的.OLEFormat.Object方法来改变他的属性。

这里比如改变他的名称为"您好",宽度为100.用with语句如下

Set x = ActiveDocument.InlineShapes.AddOLEControl("Forms.CheckBox.1")

With x.OLEFormat.Object

.Caption = "您好"

.Width = 100

End With

如何用VBA向Word中添加CheckBox控件并修改属性

4、这里我们用Do While······Loop语句来实现批量添加。

Dim x

    Do While False

    Set x = ActiveDocument.InlineShapes.AddOLEControl("Forms.CheckBox.1")

    With x.OLEFormat.Object

        .Caption = "您好"

        .Width = 100

    End With

    Selection.MoveRight Unit:=wdCharacter, Count:=1

    Loop

如何用VBA向Word中添加CheckBox控件并修改属性

5、下一步,将要添加复选框的词组组成一个字符串,这里用“、”隔开。如:

头痛、偏头痛、心绞痛、坐骨神经痛、痛、其它痛

通过下面语句分别赋值给复选框的Caption属性,并将字符串的长度赋值给width属性。通过下面语句,语义见注释:

Sub 宏2()

'

' 宏2 宏

'

'

    Dim str1, str2 As String

    Dim len1, len2 As Integer

    Dim x

    str1 = "、头痛、偏头痛、心绞痛、坐骨神经痛、痛、其它痛"

    str1 = StrReverse(str1)

 '反转字符串,因为每次新建复选框都是新建在第一个

    

    Do While Len(str1) > 0

'判断字符串是否取完。

    len1 = InStr(str1, "、") 

'取出第一个“、”出现的位置销痕。

    str2 = Mid(StrReverse(Left(str1, len1)), 2) 

'取出字符串中最后一个“、”后面的字符串并反转。

    If str2 = "" Then str2 = Mid(StrReverse(str1), 2) 

'如果“、”取完了,剩下的就是闲返夏最后一组。

    len2 = Len(str2) * 10 + 25 

'预定复选框的宽度,根据字符串长度

    

    Set x = ActiveDocument.InlineShapes.AddOLEControl("Forms.CheckBox.1")

    With x.OLEFormat.Object

        .Caption = str2

        .Width = len2

    End With

    Selection.MoveRight Unit:=wdCharacter, Count:=1

    str1 = Right(str1, Len(str1) - len1) 

'去除已经加复选框的字符串

    Loop

End Sub

如何用VBA向Word中添加CheckBox控件并修改属性

6、以上完成后回到文档快捷键运行即可,如果出现问题,建议通过F8逐行运行调试。

如何用VBA向Word中添加CheckBox控件并修改属性

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢