【原创】VBA学习笔记(6)VBE编辑器,VBA工程,各种窗口

一 VBE编辑器

1.0VBE也有好多菜单

  • 值得去仔细研究一遍:开始我是这么想的,看了看,实际上,初期重视下 “视图” 这个菜单下的内容就行了
  • 其他的好像都是ms的通用的菜单模板的感觉。

 

1.2 excel里 VBE相关的各种层级

VBA的对象层级和引用

  • 语法: 工程.模块.过程(或函数).属性/方法
  • 如果是工程,还需要先设置引用关系?
  1. VBE     (编辑器-对应EXCEL程序 ) :包含多个工程
  2. 类模块,可以跨工程用?
  3. 工程名  (一个完整的项目:1个EXCEL表): 包含多个sheet,1个workbook, 多个模块,多个窗体
  4. 模块      (workbook下的模块,独立于worksheet):包含很多过程,函数
  5. 过程 / 函数

 

 

二 视图可以打开的各种窗口

  • 视图 菜单下 可以打开各种窗口,工具箱等

【原创】VBA学习笔记(6)VBE编辑器,VBA工程,各种窗口_第1张图片

 

 

2.1  VBE的6个视窗---都可以从视图菜单打开

VBE的窗口界面大约有六个窗口,他们调出和关闭都可以通过视图找到

 

【原创】VBA学习笔记(6)VBE编辑器,VBA工程,各种窗口_第2张图片

 

 

  • 工程资源管理器:

  • 显示当前VBA工程中包含的所有部件(对象工作簿,工作表,窗体,模块,类模块等)及所有引用的工程;
  • 工程里的对象:工作簿,工作表*N,工作簿*1,模块*N,类模块*?
  • 工程里的各种材料
  • 一个EXCEL工作簿文件就是一个工程的主要部分
  • 实际上一个工程大于一个工作簿

 

  • 代码窗口:

  • 显示和编辑VBA程序代码,这个是最常用的代码窗口;
  • 可以认为是施工的图纸

 

  • 属性窗口:

  • 当前激活的工程部件的主要属性;
  • 详细属性,说明书

比如,worksheet的visible属性,这样设置为2--xlsheetVeryHidden的无法被取消隐藏

【原创】VBA学习笔记(6)VBE编辑器,VBA工程,各种窗口_第3张图片

 

  • 监视窗口:

  • 显示被监视的指定表达式的值。
  • 可以右键选择 要监视的变量

 

  • 立即窗口:

  • 执行单行的语句或者显示debug.print所打印的表达式的值。
  • 测试,试验,反馈

 

  • 本地窗口:

  • 显示当前运行过程中所包含变量的值
  • 但代码执行结束会自动清除显示
  • 所以本地窗口像查看的话,需要加断点

 

2.2 其他几个窗口

  • 对象窗口

  • 还有些 对象浏览器,可以查看所有对象,还有用户窗体菜单等等?!

【原创】VBA学习笔记(6)VBE编辑器,VBA工程,各种窗口_第4张图片

 

  • (用户窗体的)工具箱

  • 打开用户窗体的工具栏

 

2.2 VBE的模块可以导入和导出为VBS脚本文件

VBS文件模块导入导出

 

2.3 VBE窗口的对象选择框和过程事件选择框

  • 左边是 :对象选择框
  • 右边是: 过程事件选择框
  • 过程分隔线---不同的过程/函数之间会进行分割
  • 边界标识

【原创】VBA学习笔记(6)VBE编辑器,VBA工程,各种窗口_第5张图片

 

 

三 VBE里的工程,EXCEL文件等基本概念

3.1 VBE相关的各种层级

  1. VBE            : VB编辑器(包含多个工程)
  2. Application  :EXCEL,我认为VBE还可以编辑其他软件,如word?
  3. 工程名          :一个工程就是一个EXCEL表
  4. 工程内容:对象,模块 ,用户窗体等  

 

3.2 VBA的对象层级和引用

  • 语法也是: 工程.模块.过程(或函数)
  • 如果是工程,还需要先设置引用关系?
  •  excel的跨表 和 跨 sheet引用格式,
  • 跨表引用       [] 
  • 跨sheet引用   !
  • =[121.xlsx]Sheet1!$A$1

 

四 工程窗口

  • 显示工程内的各种资源:工作簿,工作表,模块,类模块,用户窗体等
  • 工作簿
  • 工作表
  • 模块:   模块可以在同一个表内的,多个sheet之间共用
  • 类模块:类模块可以在多个 EXCEL表内共用的
  • 用户窗体

 

  • 4.1  工程窗口内容

  • 但是对象只能到sheet层? Range  cells呢?
  • 模块和类模型,就是模板?类?
  • 用户窗体

【原创】VBA学习笔记(6)VBE编辑器,VBA工程,各种窗口_第6张图片

 

4.1 模块是通用的脚本,对象脚本是特殊的

  • 模块,我认为其实也就相当于一个脚本文件
  • 模块,就是存好的代码脚本,文件等,并且是通用的,可以重复调用
  • 而对象默认附带的脚本,则是和对象绑定的

 

五 属性窗口

  • 显示对象的详细属性,并且支持UI可视化修改
  • 如果是文件夹层次,一般没有属性
  • 如果是文件层次,一般会有属性

【原创】VBA学习笔记(6)VBE编辑器,VBA工程,各种窗口_第7张图片

有不少很好玩的属性,比如针对 sheet的

  • visible
  • -1 显示
  • 0 隐藏
  • 2 隐藏且不能取消

【原创】VBA学习笔记(6)VBE编辑器,VBA工程,各种窗口_第8张图片

 

六 代码窗口

6.1 代码窗口构成

  • 对象列表框:没有选中显示通用,有对象的脚本,可以选不同的对象
  • 脚本列表框:这个对象可选的事件!!
  • 切换 过程视图 完整全模块视图

【原创】VBA学习笔记(6)VBE编辑器,VBA工程,各种窗口_第9张图片

 

  • 边界标识条—用于调试的,加断点

【原创】VBA学习笔记(6)VBE编辑器,VBA工程,各种窗口_第10张图片

 

  • 左边是 :对象选择框
  • 右边是: 过程事件选择框

 

6.2 为什么除了模块,还需要对象脚本?

  • 可以在每个对象下,直接加脚本
  • 每个对象下,默认关联着一个脚本,这些脚本是专用的,不是模块化通用的
  • VBE编辑器,每个对象都有一个自己的独特脚本,还可以加无限的模块通用脚本。
  • VBE的窗体对象,还支持绑定在窗体层次的,更细的对象绑定脚本,比如一个小控件,小button


 

7 用户窗体—加内容

  • 工具箱---也可以点 视图调出来

【原创】VBA学习笔记(6)VBE编辑器,VBA工程,各种窗口_第11张图片

 

【原创】VBA学习笔记(6)VBE编辑器,VBA工程,各种窗口_第12张图片

 

 

8  怎么把代码保存在 personal.xlsb 里?

参考文档 http://www.360doc.com/content/16/0901/23/27686207_587650572.shtml

8.1 怎么弄出来?

  • 录制宏的菜单
  • 保存时可以选择 个人宏工作簿
  • 然后,实际随便录个宏
  • 然后就能再工程窗口看到这个 personal.xls了

 

【原创】VBA学习笔记(6)VBE编辑器,VBA工程,各种窗口_第13张图片

【原创】VBA学习笔记(6)VBE编辑器,VBA工程,各种窗口_第14张图片

 

8.2 作用??

  • 这个文件,是在excel内的,跨越多个工程。
  • 让所有电脑里都可以用这些 vba 已经写好的脚本?
  • VBA可以放在通用地方,所有EXCEL都可以用

 

 

九 其他

变量声明:模块级的变量声明等

删除前导出模块为单独的bas文件

宏的使用相对引用问题,录制时,可以使得是相对的,这样更有适用性?

 

【原创】VBA学习笔记(6)VBE编辑器,VBA工程,各种窗口_第15张图片

这里面还有不少有用的东西

 

 

 

你可能感兴趣的:(VBA,#,VBA基础知识)