VB快速上手文档教程
前言
本来我想可能不会接触到这个语言, 不过在用excel时需要用到VBA. 这就不得不专门去学习一番.
入了个门, 专门写个文档留着. 万一以后用得到呢…
论VB, 我还是初学者. 如有弄错了的地方. 你倒是来打我呀~
学习和阅读这篇文章, 需要你有其他编程经验. 我不会长篇大论的和你解释什么是”变量”什么是”循环”
VB/VBA/VBS 的区别
VB是一门编程语言, 开发软件的. 容易上手, 但不适合开发复杂的软件. 现在快安享晚年了吧~
VBS使用的是VB的语法结构, 全称”VBScript”是一个脚本语言, 嵌入到网页中使用的(也有其他领域)
VBA的全称是”VBApplication”, 是嵌入在一些特殊软件中的. 比如Excel. 方便大家发挥骚操作
数据类型
| 类型 | 中文名称 | 大小 | 说明 |
|---|---|---|---|
| Boolean | 布尔型 | 2字节 | true和false |
| Byte | 字节型 | 1字节 | 0~255 |
| Integer | 整数型 | 2字节 | -32768~32767 |
| Long | 长整数 | 4字节 | -2147483648~2147483647 |
| Single | 单精度浮点 | 4字节 | -3.402823E38~-1.401298E-45(负数) 1.401298E-45~3.402823E38(正数) |
| Double | 双精度浮点 | 8字节 | -1.79769313486231E308~-4.94065645841247E-324(负数) 4.94065645841247E-324~1.79769313486232E308(正数) |
| Currency | 货币型 | 8字节 | -922337203685477.5808~922337203685477.5807 |
| Decimal | 小数型 | 14字节 | ±79228162514264337593543950335(没有小数点时) ±7.9228162514264337593543950335(小数点右边带28位) 最小的非零值为±0.0000000000000000000000000001 |
| Date | 日期类型 | 8字节 | 100年1月1日~9999年12月31日 |
| Object | 对象类型 | 4字节 | 任何对象的引用 |
| String | 字符串(变长) | 10字节+字符串长度 | 0~约2亿个字符 |
| String | 字符串(定长) | 字符串长度 | 1~约65400个字符 |
| Variant(数字) | 16字节 | 任何数字值,最大可达Double的范围 | |
| Variant(字符) | 22字节+字符串长度 | 与可变长字符串有相同的范围 | |
| 用户定义型 | 元素必需的数字 | 每个元素的范围与字本身数据类型的范围相同 |
语言风格介绍
快速的了解一下这个语言的风格
Sub 功能模块()
If 1=1 Then
MsgBox "对的"
Else
MsgBox "错的"
End If
End Sub
不是类C语言的风格, 一切都是语句在控制. 没有方括号, 没有”;”结尾, 没有语法糖 只能依靠缩进和换行来看懂.
注释
'我是单行注释, 注意前面是一个单引号
常量
[Public | private]Const 常量名[As 数据类型]=表达式
Const 文本 As String = "得罪了方丈还想走?!"
常量设定后, 不允许修改值
变量
声明变量的方法是”Dim 变量名称 As 数据类型”
Dim Names As String
Dim Age1,Age2 As Integer = 45 '声明多个变量并且赋值
SUB模块
[Private | Public] Sub 模块名称()
...
[Exit Sub] //退出模块
End Sub
调用模块
假如我们有一个”关闭”模块, 调用它就需要用到”Call”语句
Sub 关闭()
...
End Sub
Call 关闭()
运算符
不可以忽略哦, VB的许多运算符和其他编程语言不太一样
| 运算符 | 作用 | 举例 | 其他说明 |
|---|---|---|---|
| = | 等于 | If 1 = 1 Then … | |
| <> | 不等于 | 1 <> 2 | |
| > | 大于 | 2 > 1 | |
| >= | 大于等于 | ||
| < | 小于 | ||
| <= | 小于等于 | ||
| + | 相加 | i=n+100 | |
| - | 相减 | i=n-50 | |
| * | 相乘 | i=500 * 60 | |
| / | 除法 | i=36 / 3 | |
| & | 字符串连接 | str = “你好” & “我是剑齿虎” | “&”是强制性连接,就是不管什么都连接。 VBA里用到的… 不知道通用不 |
| + | 字符串连接 | str=”CHI” + “NA” | “+”是对字符串进行连接,对数字则进行加法运算。 (用“+”号的时候,“+”前后类型要一致) |
| Or | 或者 | If 1=1 Or 1=2 Then … | |
| And | 并且 | If 1=1 And 2=2 Then … |
欢迎补充
IF判断
简写的If
If 条件 Then ... [End If]
支持Else和ElseIf
If <条件1> Then
...
ElseIf <条件2>
...
Else
...
End If
Select多项选择 (就是switch)
Select Case <值>
Case 1
...
Case 2
...
End Select
循环
For循环
来一个栗子吧, 初始化i为1. 循环100次
For i = 1 To 100
...
[Exit For]
Next
遍历集合/遍历数组 (For Each)
请注意, foreach不能使用 End ForEach哦~
For Each cell In 集合
MsgBox cell.name
Next cell
判断循环
语法格式 : do While … Loop
do while <条件>
...
Loop
循环判断
语法格式 : do … Loop Until <条件>
Do
...
Loop Until <条件>
恭喜您, 你已经入门了VB. 并解锁了以下技能
- 语法结构
- 注释
- 常量
- 变量
- 模块/函数
- 判断语句
- 循环语句
VB快速上手文档教程的更多相关文章
- 数据库 PSU,SPU(CPU),Bundle Patches 和 Patchsets 补丁号码快速参考 (文档 ID 1922396.1)
数据库 PSU,SPU(CPU),Bundle Patches 和 Patchsets 补丁号码快速参考 (文档 ID 1922396.1)
- oracle数据库 PSU,SPU(CPU),Bundle Patches 和 Patchsets 补丁号码快速参考 (文档 ID 1922396.1)
数据库 PSU,SPU(CPU),Bundle Patches 和 Patchsets 补丁号码快速参考 (文档 ID 1922396.1) 文档内容 用途 详细信息 Patchsets ...
- jquery.cookie 使用文档,$.cookie() 文档教程, js 操作 cookie 教程文档。
jquery.cookie 使用文档,$.cookie() 文档教程, js 操作 cookie 教程文档. jquery.cookie中的操作: jquery.cookie.js是一个基于jquer ...
- 【Elastic-1】ELK基本概念、环境搭建、快速开始文档
TODO 快速开始文档 SpringBoot整合ELK(Logstash收集日志.应用主动向ES写入) ELK接入Kafka 基本概念 ElasticSearch 什么是ElasticSearch? ...
- L18 如何快速查找文档获得帮助
原地址:http://www.howzhi.com/course/286/lesson/2121 查找文档快速 苹果提供了丰富的文档,以帮助您成功构建和部署你的应用程序,包括示例代码,常见问题解答,技 ...
- 用docsify快速构建文档,并用GitHub Pages展示
什么是docsify 无需构建,写完 markdown 直接发布成文档,写说明文档的极佳选择. 快速上手 安装 npm i docsify-cli -g docsify init docs 创建项目 ...
- Spring Boot项目使用Swagger2文档教程
[本文版权归微信公众号"代码艺术"(ID:onblog)所有,若是转载请务必保留本段原创声明,违者必究.若是文章有不足之处,欢迎关注微信公众号私信与我进行交流!] 前言 Sprin ...
- 推荐一个vuepress模板,一键快速搭建文档站
介绍 vuepress-template是一个简单的VuePress案例模板,目的是让用户可以直接clone这个仓库,作为初始化一个VuePress网站启动项目,然后在这个项目的基础上新增自定义配置和 ...
- Vb.Net Xml文档格式化
最近在处理Webservice文档的时候,因为是未格式化的,需要处理,所以有了以下代码. #Region "Xml字符串转换成格式化的XML文件" 'txt_Result.Text ...
- go语言从零学起(一) -- 文档教程篇
先记录一下自己学go语言的出发点 作为一个phper,精通一门底层语言一直是努力的目标. 相对于c,c++,go语言不需要过多的关注指针,内存释放,一两行代码就能跑起一个server服务,简直不要太简 ...
随机推荐
- web自动化05-鼠标操作
鼠标操作方法 1.常见的鼠标操作 点击.右击.双击.悬停.拖拽等 2.selenium中的封装鼠标操作 说明:在Selenium中将操作鼠标的方法封装在ActionChains类中 ...
- 反向传播(Backpropagation)相关思想
在前面我们学习了SVM损失函数和softmax损失函数,我们优化权重矩阵w的具体思路便是让损失函数最小化,还记得损失函数的定义吗? 没错,损失函数长这样,其中,Wj为权重矩阵的第j个列向量,xi为第i ...
- .NET周报 【5月第4期 2023-05-27】
国内文章 C#使用词嵌入向量与向量数据库为大语言模型(LLM)赋能长期记忆实现私域问答机器人落地之openai接口平替 https://www.cnblogs.com/gmmy/p/17430613. ...
- 【理论积累】Python中的Pandas库【一】
Pandas库介绍 Pandas 是一个用于数据分析的 Python 第三方库,能够处理和分析不同格式的数据,例如:CSV.Excel.SQL 数据库等.Pandas 提供了两种数据结构,分别为 Se ...
- ChatGPT教我用200行代码写一个简版Vue框架 - OpenTiny
AI 是未来最好的老师 最近,我正在准备一份关于 Vue 基础的学习材料.期间我突发奇想:能否利用现在热门的 ChatGPT 帮我创建学习内容?其实 Vue 本身不难学,特别是基础用法,但是,如果你想 ...
- 洛谷 P5979 [PA2014] Druzyny
简要题意 有 \(n\) 个人,把他们划分成尽可能多的区间,其中第 \(i\) 个人要求它所在的区间长度大于等于 \(c_i\),小于等于 \(d_i\),求最多的区间数量以及如此划分的方案数. 数据 ...
- 从隐私保护到AI隐私保护:隐私隐私保护的跨隐私保护治理框架实践案例
目录 标题:<从隐私保护到AI隐私保护:跨隐私保护治理框架实践案例> 背景介绍 随着人工智能技术的广泛应用,隐私保护问题也日益突出.数据隐私泄露.算法歧视等问题引发了公众的担忧和不满.为了 ...
- C++面试八股文:std::array如何实现编译器排序?
某日二师兄参加XXX科技公司的C++工程师开发岗位第25面: 面试官:array熟悉吗? 二师兄:你说的是原生数组还是std::array? 面试官:你觉得两者有什么区别? 二师兄:区别不是很大,原生 ...
- ASL芯片CS5466方案设计|集睿致远CS5466代理商|Type-c转HDMI电路原理
CS5466作为ASL集睿致远新推出的高性能Type-C to HDMI2.1协议转换器,可以通过HDMI输出端口作为TMDS或FRL发射机进行操作. CS5466适配于多个配件市场和现实应用主板,例 ...
- 升讯威在线客服系统是如何实现对 IE8 完全完美支持的(怎样从 WebSocket 降级到 Http)【干货】
简介 升讯威在线客服与营销系统是基于 .net core / WPF 开发的一款在线客服软件,宗旨是: 开放.开源.共享.努力打造 .net 社区的一款优秀开源产品. 完整私有化包下载地址 https ...