打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
VBA编程,如何实现窗体间值传递,认真学好这一篇,真的不难
userphoto

2022.06.09 福建

关注

编程中会遇到一些过程变量的使用,有些变量不只在一个过程中使用,需要在不同的过程中进行交换使用,怎么办呢?

其实,过程变量熟练应用是一个编程思想的逻辑问题,是一编程中解决实际问题的一个高度应用。

本文,将介绍一种不同窗体之间的变量数据交换应用实例,一定要看到最后,收获不小。

上图为第一个窗体,也就是原始窗体,输入一些内容后想要显示到另一个窗体中引用这些内容。

其实有多种办法,如公共变量的引用,就是在模块中设置一个公共变量,将文本框值存入这个公共变量,然后再引用。

还有一种是直接引用窗体对象变量值,这不在本节介绍之列。

本文重点看一下使用DataObject对象传递值的过程,下图为传递到另一个窗体的显示结果。

首先,要创建一个DataObject对象:

Public xOBj As New MSForms.DataObject

上述语句写到一个模块中,这样就在系统中新建了一个名为xOBj的DataObject对象。

然后在第一个窗体中输入如下代码:

xOBj.SetText Me.TextBox1.Value, 1

这行代码的意思就是把文本框中的值,复制到xOBj对象中。

对应就有一个方法xString=GetText(format),返回相应格式的值到一个字符变量中(xString)

如下图所示:

这样就有了一来一去的结果。

通过DataObject这个中间对象,可以达到数据的传递过程。

代码:

第一个窗体,按钮代码

Private Sub CommandButton1_Click()If Me.TextBox1.Value = '' Then Exit SubWith xOBj .SetText Me.TextBox1.Value, 1End WithUnload MeUserForm2.ShowEnd Sub

第一个窗体事件代码:

Private Sub UserForm_Initialize()Dim xStr As String, xp As Stringxp = VBA.vbCrLfxStr = xStr & '《咏柳》' & xp _& '贺知章' & xp _& '碧玉妆成一树高,' & xp _& '万条垂下绿丝绦。' & xp _& '不知细叶谁裁出,' & xp _& '二月春风似剪刀。'Me.TextBox1.Value = xStrEnd Sub

第二个窗体事件代码:

Private Sub UserForm_Activate()Me.Label1.Caption = xOBj.GetText(1)End Sub

模块代码:

Public xOBj As New MSForms.DataObject

模块代码不能忘记,窗体中的各个控件手动添加进去就可以。

通过上述代码的组合,执行后会看到第一个窗体的内容显示到到第二个窗体中了,也就实现了数据的传递过程。

同样的效果,应用到不同场景当中就实现了强大的数据交换功能。

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
VB编程基础教程17–创建对象 | 异次元软件世界
VBA常用代码解析(第三十二讲)
Excel VB中的类开发
VBA--类模块学习
请注意:多个控件必须统一响应!VBA代码中类模块大显身手
Excel实战技巧13:禁用用户窗体中的事件
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服