前 言
VBA 代码加密,一般可以设置"查看时锁定工程"完成,但这个设置非常容易破解,起不 到加密,为此,我在推出 VBA 学习资料时给出了一份"VBA 程序文件的加密及解密"技术,可 以设置"工程不可查看",但这也仅仅增加了破解的难度而已,如何保护自己的劳动成果呢?
VBA 只能说是一种另类 OOP 语言,加密技术一直是个难点,或者说根本就是做不到的。 然面对广大学员的需求,只求有所突破。VBA 是寄生语言,不独立于宿主存在,那么是否可 以一时抛弃宿主,完成主代码的加密,需要时再强制执行加密后的文件呢?本着这样的思路, 脚本语言就自然浮出水面。"变然后知天地之消长",变通,这或许是一种思路,顺着这个思 路走下去,一步步挖掘,可以学到 VBA 与 VBS 的变换,VBS 封装 exe。
VBA 中各种"对象"也就是常讲的"物",带着自有的属性在各种逻辑关系间生生不息地消长 变化,各种对象间相互依附。这种 VBS 封装后的可执行文件只是 VBA 的一个变化,由于代码 脱离了宿主,就要在类的作用内要再造对象。但无论如何变,变离不开体,也自然会有办法 求出"体",只是提高了门槛。
声明:本资料只能用于个人的学习和提高,不得用于其他目的。
VBA 语言専攻

2026 年 8 月
目录
前 言 3
第 1 章 什么是脚本语言 4
1.1 脚本语言(scripting language)定义 4
1.2 脚本语言的核心判定特征 4
1.3 脚本语言的分类 4
第 2 章 VBS(VBScript)语言 6
2.1 VBS(VBScript)语言的定义 6
2.2 核心基础特性 6
第 3 章 VBS 与 VBA 的关系 7
3.1 VBS 与 VBA 同源 7
3.2 VBS 与 VBA 运行场景不同 7
3.3 能力边界不同 7
3.4 兼容性特点 7
3.5 VBA 代码转换为 VBS 7
第 4 章 VBA 转 VBS 时对象与常量处理 9
4.1 移除内置常量 9
4.2 显式创建对象 10
4.3 释放对象 10
4.4 对象路径获取逻辑 11
4.5 文件操作替代 11
4.6 交互界面 11
4.7 APPLICATION 对象 11
第 5 章 VBA 转 VBS 时语法与结构的处理 12
5.1 移除类型声明 12
5.2 函数调用括号规则 12
5.3 错误处理简化 12
5.4 命名参数禁用 13
5.5 数组赋值禁令 13
5.6 ReDim Preserve 性能陷阱 13
5.7 Select 方法失效风险 13
第 6 章 VBA 转 VBS 简单语句 14
6.1 指向当前工作簿 14
6.2 指向第二个工作表 14
6.3 Application.InputBox("请选择标题行", Type:=8) 的应用 15
6.4 遍历工作表 15
6.5 获得当前文件的路径 15
6.6 创建文件夹 16
第 7 章 VBS 文件及转换为 EXE 文件 18
7.1 VBS 文件的形成 18
7.2 将 VBS 文件转换成 EXE 可执行文件 19
第 8 章 VBA 驱动 exe 或者 Vbs 21
-
VBA 驱动 Vbs 21
-
VBA 驱动 exe 21
第 9 章 实例讲解 22
9.1 实例 01_简单循环 22
9.2 实例 02_VBA 单值查找 32
9.3 实例 03_VBA 多值查找 39
9.4 实例 04_合并工作簿内多个工作表数据 46
9.5 实例 05_删除及创建文件夹 53
9.6 实例 06_选择文件夹 60
9.7 实例 07_动态调整数组的大小 65
9.8 实例 08_利用字典汇总求和 69
9.9 实例 09_使用多个分隔符拆分字符串 76
9.10 实例 10_将工作表数据写入 Word 文档 82
9.11 实例 11_利用 OffsetResize 扩展范围 87