VBA中类的解读及应用第十讲:限制文本框的输入,使其只能输入数值(上)

news2024/11/20 2:28:18

《VBA中类的解读及应用》教程【10165646】是我推出的第五套教程,目前已经是第一版修订了。这套教程定位于最高级,是学完初级,中级后的教程。

类,是非常抽象的,更具研究的价值。随着我们学习、应用VBA的深入,有必要理解这些抽象的理论知识。对象,类,过程,方法,属性,事件,接口,接口如何实现等等。掌握了这些理论,不仅对于VBA这种寄生语言的实质有所深入的理解,也对自然界的很多事物将同样有所感悟。目前,这套教程程序文件已经通过32位,64位两种office系统测试。

这套教程共两册,八十四讲,今后一段时间会给大家陆续推出修订后的教程内容。今日的内容是:VBA中类的解读及应用第十讲:限制文本框的输入,使其只能输入数值(上)0e43368013157e4a575867520b272fea.jpeg

【分享成果,随喜正能量】我们平常说祝福未来的精彩,其实是活好今天的信心、细水长流的日子、踏实冷静的面对和努力去呈现的一个个体的价值、个体的精神、个体的风采在群体当中的一种融合、担当和责任。。

第十讲 限制文本框的输入,使其只能输入数值(上)

大家好,我们今天继续讲解VBA中类的解读及应用,从这讲开始我们开始各种实例的学习,在实例学习的过程中我们要逐渐加深对概念的理解,对于几个重要的概念,我们再次回顾一下。

1)类CLASS: 类是对象的“灵魂”。对象可以是任何事物,而类不会做任何事情,也不会占用内存,只有当类成为对象并使用Set语句和New关键字实例化为具体对象后,才能做事情并占用内存。

2) 类的属性:用来描述类。有两种声明方案,一种是在类中直接声明,一种是用Property Let/Set/Get语句声明。

3)类的方法:在类中公共的Sub和Function。

4)类模块:类模块由属性和方法组成,类本身类似于名词;属性可以当作形容词,用来描述类;方法则为动词,执行操作。

5)类的实例化:建立新的类对象。注意这个对象不一定是实际意义上的实体,但可以作为实体来对待。

6)声明类的事件:用Event进行声明,但只是声明。

7)声明类实例化对象变量:用WithEvents

对于上面的概念要理解,理解后我们要利用上面的知识点来处理我们实际遇到的问题了。

1 需要完成的实例内容

本讲的实例要实现利用类模块,完成文本框录入只能是数字的校验,如果录入的不是数字那么将被取消录入。

2 完成实例的思路分析

在这个实例中,我们要完成对若干个文本框的校验,那么可以在窗体加载时把这些文本框设置成同一个类,然后让这个类共同响应一个类对象的事件,这个事件就是判断输入的值是否为数字。这样我们就可以达到目的了。

3 完成实例的代码实现

1) 先新建一个类mytext,在这个类中要声明一个类的对象变量,这个对象是用来响应事件的。

Public WithEvents Txtbox As MSForms.TextBox

Private Sub Txtbox_Change()

With CreateObject("vbscript.regexp")

.Global = True

.Pattern = "[^0-9.]+"

If .tesT(Txtbox.Text) Then

Txtbox.Text = .Replace(Txtbox.Text, "")

End If

End With

End Sub

在上述代码中Txtbox是一个类对象的变量,这个变量要响应的是Txtbox_Change事件。

3ac70dd3ec3e58422924c22588fa6ccc.jpeg

2) 搭建一个窗体,上面有若干个文本框。同时录入代码

31c7fec9fc40fbaa4cd648ac21b1b765.jpeg

代码:

Dim Txt() As New mytext

Private Sub CommandButton1_Click()

End

End Sub

Private Sub UserForm_Initialize()

For Each myctl In Me.Controls

If TypeName(myctl) = "TextBox" Then

m = m + 1

ReDim Preserve Txt(1 To m)

Set Txt(m).Txtbox = myctl

End If

Next

End Sub

Private Sub UserForm_Terminate()

End

End Sub

代码截图:

2b54f38bfb00a1647b86f6beaf700f2c.jpeg

上述代码中声明了一个类,同时把若干个文本框借助于动态数组,放到了我们期望的类对象中。这样在代码运行中就可以全部响应类的事件了。

由于篇幅的关系,代码的讲解和运行在下一讲。

今日内容回向:

1 属性、事件、方法、类、类模块是如何定义的?

2 让文本框响应同一个事件的思路是什么?

本讲内容参考程序文件:VBA-CLASS(1-28).xlsm

b2a5c9f39aad02392a5fa9dfb9cab46d.jpeg

我20多年的VBA实践经验,全部浓缩在下面的各个教程中:


bedd8e500c892a1a49a57ff52644383d.jpeg

d32760c1dd21bf2083f36ccd1421cb5c.jpeg

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1500573.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

React-父传子

1.概念 说明:父组件传递数据子组件标签身上绑定属性;子组件接受数据props的参数。props是一个对象,包含父组件传递的所有数据。例如数字、字符串、布尔值、数组、对象、函数、JSX。不允许直接修改父组件传递的数据。 2.例子 // 父传子 // …

YOLO建筑物损伤评估数据集

YOLO建筑物损伤评估数据集,重度损伤,轻微损伤,中度损伤,未损伤4类,近五千张图像,yolo标注完整,应用数据增强。 适用于CV项目,毕设,科研,实验等 需要此数据集…

抖店月销过万的爆单技巧,新手轻松月入1w+,附抖店学习资料!

我是电商珠珠 抖店开通之后,怎么才能快速出单是很多新手小伙伴困扰的问题。其实想要运营好抖店一点都不难,我做抖店也有三年多时间了,接下来我说的每一步,不管是有货源还是无货源的都适用。 1、铺货低价福利款 店铺开好之后&am…

【C++第三课 - 类和对象中】构造函数、析构函数、拷贝构造函数、赋值重载、取地址重载、Date类的完善、const成员

目录 类的6个默认成员函数构造函数自己写的构造函数默认生成的构造函数 析构函数概念特征 拷贝构造函数特征 运算符重载 、 >、 <赋值重载Date类的完善构造函数的完善、-的完善用复用-、-以及-和-的相互复用 前置、--后置、--流插入、流提取 取地址重载 const成员 类的6个…

安康杯安全知识竞赛上的讲话稿

各位领导、同志们&#xff1a; 经过近半个月时间的准备&#xff0c;南五十家子镇平泉首届安康杯安全生产知识竞赛初赛在今天圆满落下帏幕&#xff0c;经过紧张激烈的角逐&#xff0c; 代表队、 代表队和 代表队分别获得本次竞赛的第一、二、三名让我们以热烈的掌声表示祝…

TensorRT是什么,有什么作用,如何使用

TensorRT 是由 NVIDIA 提供的一个高性能深度学习推理&#xff08;inference&#xff09;引擎。它专为生产环境中的部署而设计&#xff0c;用于提高在 NVIDIA GPU 上运行的深度学习模型的推理速度和效率。以下是关于 TensorRT 的详细介绍&#xff1a; TensorRT 是 NVIDIA 推出的…

容器: string

引言: 为什么要有string类型, 就使用字符数组表示字符串不行吗? 原因: 使用字符数组描述文本信息, 无法确定开多大空间, 开多了浪费,开少了不够用使用string封装: 扩容机制:减少了空间的浪费各种接口:方便修改等操作 string的使用 容量相关 size:获取字符个数,不包含\0 (C语言…

IOS苹果通话记录在线生成网站源代码,直接上传就可使用

一键生成&#xff0c;PHP的上传到网站根目录打开域名访问即可 源码免费下载地址专业知识分享社区-专业知识笔记免费分享 (chaobiji.cn)

Mocha and Railgun(几何规律)

链接&#xff1a;https://ac.nowcoder.com/acm/contest/33186/D 来源&#xff1a;牛客网 题目描述 There is a candy store near Mochas school. Its said that the storekeeper, Dagashiya, can cast the railgun spell. To be the most powerful Mahou Shoujo, Mocha ask…

118.龙芯2k1000-pmon(17)-制作ramdisk

目前手上这个设备装系统不容易&#xff0c;总是需要借助虚拟机才能实现。 对生产就不太那么友好&#xff0c;能否不用虚拟机就能装Linux系统呢&#xff1f; 主要是文件系统的问题需要解决&#xff0c;平时我们一般是用nfs挂载后&#xff0c;然后对硬盘格式化&#xff0c;之后…

社区服务类创业项目推荐:抓住社区商业新机遇

大家好&#xff0c;我是一名90后鲜奶吧创业者&#xff0c;目前在社区经营5年时间&#xff0c;今天我想和大家分享一些关于社区服务类创业项目的推荐&#xff0c;都是这么多年我见证过生意最好的店面。 1、社区便利店&#xff1a; 随着人们生活节奏的加快&#xff0c;对便利购…

【Linux实践室】Linux常用命令:文件操作|文件夹操作

&#x1f308;个人主页&#xff1a;聆风吟 &#x1f525;系列专栏&#xff1a;Linux实践室、网络奇遇记 &#x1f516;少年有梦不应止于心动&#xff0c;更要付诸行动。 文章目录 一. ⛳️任务描述二. ⛳️相关知识2.1 &#x1f514;Linux文件操作2.1.1 &#x1f47b;创建文件2…

数组连续和 - 华为OD统一考试(C卷)

OD统一考试&#xff08;C卷&#xff09; 分值&#xff1a; 100分 题解&#xff1a; Java / Python / C 题目描述 给定一个含有N个正整数的数组&#xff0c;求出有多少连续区间&#xff08;包括单个正整数&#xff09;&#xff0c;它们的和大于等于 x。 输入描述 第一行为两个…

Linux——进程信号(一)

目录 1、信号入门 1.1、技术应用角度的信号 1.2、注意 1.3、信号概念 1.4、用kill -l命令可以查看系统定义的信号列表 1.5、信号处理常见方式概览 2、产生信号 2.1通过终端按键产生信号 Core Dump 2.2、调用系统函数向进程发信号 2.3、由软条件产生信号 3、总结思考…

华为北向网管NCE开发教程(2)REST接口开发

华为北向网管NCE开发教程&#xff08;1&#xff09;闭坑选接口协议 华为北向网管NCE开发教程&#xff08;2&#xff09;REST接口开发 华为北向网管NCE开发教程&#xff08;3&#xff09;CORBA协议开发 假设你现在要开始华为北向接口REST协议之前&#xff0c;需要准备如环境 1准…

学习与学习理论 - 2024教招 - test

一 方向 方向性很重要&#xff0c;像学投篮一样关注发力顺序才是关键出发点&#xff0c;如果这个出发点没确定下来&#xff0c;会走许多弯路。所有学习理论大的观点&#xff0c;到某个人物个人的观点。被干掉之前&#xff08;不能被干掉&#xff09;&#xff0c;掌握所需的知识…

C++:Stack和Queue的模拟实现

创作不易&#xff0c;感谢三连&#xff01; 一、容器适配器 适配器是一种设计模式(设计模式是一套被反复使用的、多数人知晓的、经过分类编目的、代码设计经验的总结)&#xff0c;该种模式是将一个类的接口转换成客户希望的另外一个接口。 就如同是电源适配器将不适用的交流电…

STM32CubeMX学习笔记13 ---IIC总线

1、IIC 简介 IIC(Inter&#xff0d;Integrated Circuit)总线是一种由NXP&#xff08;原PHILIPS&#xff09;公司开发的两线式串行总线&#xff0c;用于连接微控制器及其外围设备。多用于主控制器和从器件间的主从通信&#xff0c;在小数据量场合使用&#xff0c;传输距离短&…

《汇编语言》- 读书笔记 - 第17章-实验17 编写包含多个功能子程序的中断例程

《汇编语言》- 读书笔记 - 第17章-实验17 编写包含多个功能子程序的中断例程 逻辑扇区根据逻辑扇区号算出物理编号中断例程&#xff1a;通过逻辑扇区号对软盘进行读写 代码安装 int 7ch 测试程序效果 实现通过逻辑扇区号对软盘进行读写 逻辑扇区 计算公式: 逻辑扇区号 (面号*8…