(vb编程入门自学100例)(vb初学者编程)

(vb编程入门自学100例)(vb初学者编程)

在使用VBA高效化我们的工作之前, 我们需要先了解其中的一些概念,理解这些概念对使用VBA来说是很重要的。本文会简要介绍VBA中的基本概念,并在文章末尾给出参考文章,供大家进一步研究。

VBA和宏

什么是VBA和宏?

VBA(Visual Basic for Applications)是用来拓展Office办公软件功能的编程语言。正因为VBA能够拓展Office软件的功能我们才使用它,这个好理解;说它是一门编程语言,是因为它是基于Visua Basic(VB)的,VB是微软开发的一门程序设计语言(而Office软件也是微软的,这就能理解VBA为什么是基于VB而不是别的编程语言例如C++、Java),VBA基于VB是指VBA中编程规范要符合VB的要求,但VBA中的已有对象自己独有的,而不是所有VB都有的,例如Excel VBA中的Range对象,含义为单元格或者单元格区域。

宏是录制的一系列操作,这些操作目的是完成某个功能,将其录制下来,为了减少重复,提高工作效率(后续需要这个功能,直接播放对应的宏就行了),宏可以理解为自动编写的VBA程序。这里的自动是指office软件会将你的每一步操作都对应为一条VBA语句。

(vb编程入门自学100例)(vb初学者编程)

VBA有什么用?

  • 自动化和重复
  • 用户交互的扩展
  • Office 应用程序之间的交互

对象模型

编程语言中对象(object)的含义是指一切客观存在的实体,例如人、房子、大象、文件、程序窗口、Excel单元格。描述一个对象需要两方面的信息,即对象本身的特征和对象的行为,例如下图中描述山羊,我们可以说它的毛是白颜色的(本身特征),能够跑(行为)。这些描述在编程语言中体现为对象的属性和方法,对象的属性可以理解为形容词,来描述对象自身所具有的一些特点;对象的方法可以理解为动词,来描述对象可以做什么。那小狗举例,小狗的属性可以有毛色、眼睛,小狗的方法可以有跑、吃饭、睡觉等。

(vb编程入门自学100例)(vb初学者编程)

随便说一句,理解对象的概念特别重要,现在几乎所有的编程语言(Python 、Java 、C++、Scala 、JavaScript等)都支持面向对象,而所谓的面向对象,就是以对象为基础。

在VBA 中将office所有的对象都组成为层次结构,下图所示的是的Excel中对象的组织结构。层次结构的直观例子就是家谱、公司职位,这类结构中最高层一般只有一个对象,其余各层都可能包含许多对象。

(vb编程入门自学100例)(vb初学者编程)

由于VBA主要应用在Excel中,所有我们对上图中常见的Excel对象做简洁介绍。

  1. Application: excel程序本身
  2. Workbooks(工作簿):workbook是单个Excel文件。workbooks是指多个Excel文件
  • thisWorkbooks: 当前VBA代码所处的Workbook,
  • Activeworkbook:当前活跃的Workbook
  • Workbooks:已经打开的所有excel文件
  1. Worksheets(工作表也可以表示为sheets)
  • sheets("工作表名称")或者sheets(n)表示顺序排列,第n个工作表。
  • ActiveSheet:表示活动工作表,即光标所在的工作表
  1. 单元格
  • Cells(row,column): 表示位于第row行,第column列位置的单元格(单个单元格)
  • ActiveCell:表示正在选中或编辑的单元格
  • Range(“单元格地址""):可以表示单个单元格(例如Range("A1"))也可以表示区域(例如Range("A1:B2"))
(vb编程入门自学100例)(vb初学者编程)

VBA编程基础

1966 年,计算机科学家Bohm 与 Jacopini 证明任何程序都可以由顺序结构、选择结构()、循环结构构成,见下图,所以我们需要知道指这些结构在如何在VBA中表达,在此之前,请注意VBA的一个特点:在VBA中关键字、保留对象及其属性和方法、变量的名称都是不区分大小写的。

(vb编程入门自学100例)(vb初学者编程)

数据类型及变量声明

VBA中的数据类型包括:整数型(Integer)、字符串型(String)、双精度浮点型(Double)、日期型(Date)、布尔型(Boolean)等,详细内容见下图。

(vb编程入门自学100例)(vb初学者编程)

VBA中的变量声明用Dim(Dimension 尺寸 ),具体为 Dim 变量名 As 变量类型,请看示例:

(vb编程入门自学100例)(vb初学者编程)

如果不为VBA中使用的变量声明数据类型,VBA将使用默认的数据类型Variant.

VBA运算符

VBA运算符包括算术运算符、比较运算符、连接运算符、逻辑运算符、通配符 及运算符优先级,详细见本文的参考资料,参考的那篇文章中关于通配符的描述中有部分不正确,特将正确的列举如下:

通配符代表的意思

(vb编程入门自学100例)(vb初学者编程)

选择语句

VBA中选择语句有If……Then……Else ……End If、If……Then……ElseIf……Then ……End If、Select Case语句,示例如下:

(vb编程入门自学100例)(vb初学者编程)

VBA中循环语句包括:For……Next 、Do While、Do Until 示例如下,示例中用方括号(“[]”)表示的是可选,用尖括号("<>")表示必选。

(vb编程入门自学100例)(vb初学者编程)

VBA特有语句

当我们对同一个对象进行持续操作时,该对象会多次出现,这样就会显得重复麻烦,此时可以使用VBA的With语句,示例如下:

(vb编程入门自学100例)(vb初学者编程)

好了,本次的介绍就到这儿,如果你在读的过程中有什么疑问或者建议,欢迎留言讨论;如果觉得有帮助,麻烦点赞支持,谢谢。

最后说明:因为头条对markdown支持不是很完整,表格根本不支持,代码支持的可读性很差,所以文中这两部分我都使用了截图,需要代码的麻烦关注一下我的微信公众号“码上有效率”,或者扫下面的二维码,谢谢关注。

(vb编程入门自学100例)(vb初学者编程)

参考文章

  • https://docs.microsoft.com/zh-CN/office/vba/Library-Reference/Concepts/getting-started-with-vba-in-office#when-to-use-vba-and-why
  • https://software-solutions-online.com/excel-vba-get-data-from-another-workbook-through-automation/
  • https://www.cnblogs.com/wzh313/articles/9737573.html

声明:我要去上班所有作品(图文、音视频)均由用户自行上传分享,仅供网友学习交流,版权归原作者面向方法论编程所有,原文出处。若您的权利被侵害,请联系删除。

本文标题:(vb编程入门自学100例)(vb初学者编程)
本文链接:https://www.51qsb.cn/article/m9cxw.html

(0)
打赏微信扫一扫微信扫一扫QQ扫一扫QQ扫一扫
上一篇2023-06-21
下一篇2023-06-21

你可能还想知道

发表回复

登录后才能评论