CAD2014 VBA 窗体动态添加组件事件代码的报错方法

在W7 64bit环境下使用CAD2014进行VBA编程时,遇到动态添加组件事件时提示'无法找到工程或库'的错误。通过深入研究,发现问题是由于VBE的引用设置不正确。解决方案在于正确设置VBE的引用,以确保代码能够正常执行。具体实现代码中,关键步骤是在指定模块中插入事件子程序。
摘要由CSDN通过智能技术生成

  今天尝试用VBA来给CAD的用户窗体动态添加组件,看了网上很多教程,总是提示:无法找到工程或库,很头疼。

  编程环境W7 64bit + CAD2014。

  参考了很多网上的例子,也引用了关键的运行库,总是报错:无法找到工程或库。

  经过一段时间的摸索,关键点就在于,VBE的引用的问题。

下面例子里的红色高亮的字段就是需要大家注意的。

Sub AddCode()
  With VBE.ActiveVBProject.VBComponents("模块2").CodeModule
    .InsertLines 1, "Public sub cb_Click()"
    .InsertLines 2, "msgbox ""Hello"""
    .InsertLines 3, "end sub"
  End With
End Sub

要在 VBA 中给一个窗体动态添加标签控件,可以使用 VBA 的用户界面工具包(UserForm)。UserForm 是 VBA 中的一个对象,可以用来创建自定义的窗体,可以添加各种控件,如图片、标签、文本框、按钮等等。 以下是一个示例代码,可以动态添加标签控件: 1. 首先,在 VBA 窗口中右键单击项目,选择插入 -> 用户界面 -> 用户窗体,创建一个新的 UserForm。 2. 在 UserForm 上添加一个按钮控件,命名为 CommandButton1,并设置其 Caption 属性为 "Add Label"。 3. 在 UserForm 的代码窗口中添加以下代码: ```VBA Private Sub CommandButton1_Click() Dim newLabel As MSForms.Label ' 创建新的标签控件 Set newLabel = Me.Controls.Add("Forms.Label.1") ' 添加标签控件到窗体中 newLabel.Caption = "New Label" ' 设置标签控件的文本 newLabel.Left = 10 ' 设置标签控件的左侧位置 newLabel.Top = Me.Controls(Me.Controls.Count - 2).Top + 50 ' 设置标签控件的顶部位置 End Sub ``` 在 CommandButton1 的 Click 事件中,首先创建了一个新的标签控件,然后使用 Me.Controls.Add 方法将其添加窗体中。需要注意的是,这里添加的标签控件类型为 "Forms.Label.1",可以根据需要修改为其他控件类型。然后,设置了标签控件的文本、左侧位置和顶部位置。其中,顶部位置通过计算前一个控件的顶部位置并加上一个固定的值来实现。 4. 在 VBA 窗口中运行 ShowMyForm 子过程,即可显示出新创建的窗体。点击添加标签按钮,即可动态添加新的标签控件。 需要注意的是,这里只添加了一个标签控件,如果需要添加多个控件,可以使用循环来实现。另外,还可以根据需要设置控件的其他属性,如字体、颜色、大小等等。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值