Excel VBA教程(三):Excel对象模型
2.3. Excel 对象模型
Excel VBA 是一种处理 Excel 的编程语言。更准确地说,它是一种处理 Excel 对象模型的语言。您需要了解 Excel 的结构才能很好地处理它。
如果你只看下面一张图,你就能理解Excel对象模型中所有最重要和最常用的概念。
上图中的Excel是2010版的。我觉得比较适合理解Excel Object Model的概念,所以我用Excel 2010版本来讲解。无论 Excel 的版本如何,对象模型的概念都是相同的。
这张图包含了 Excel 对象模型的所有基本概念。让我们看看每个对象的概念和细节。
作为参考,如果您在 VBA 编辑器中执行“View > Browse Objects”,您可以检查每个对象的详细属性、函数、过程(subs)和事件。
(可以通过单击开发人员工具功能区菜单上的“Visual Basic”按钮或使用快捷键来访问 VBA 编辑器。) Alt + F11 按 时出现。)
2.3.1.应用
应用程序是指Excel进程。使用 Application 对象来控制或终止正在运行的 Excel。
有关 Application 对象的更多信息,请参阅下面的 Microsoft 文章。
使用 Application 对象的示例代码如下。
'Application 사용 코드 #1: 파일 활성화 하기 Application.Windows("book1.xls").Activate 'Application 사용 코드 #2: 엑셀 종료하기 Application.Quit()
2.3.2.练习册
管理在单个 Excel 进程中打开的文件集合。它用于创建新文件、打开或关闭文件等目的。从文件列表访问特定文件时,Workbooks(1)、Workbooks(2)、... , 可以通过 Workbooks(n) 访问。
有关 Workbooks 对象的更多信息,请参阅下面的 Microsoft 文章。
使用 Workbooks 对象的示例代码如下。
'Workbooks 사용 코드 #1: 모든 파일 닫기 Workbooks.Close 'Workbooks 사용 코드 #2: 새로운 파일 생성하기 Workbooks.Add 'Workbooks 사용 코드 #3: 파일 열기 Workbooks.Open FileName:="File.xlsx", ReadOnly:=True
2.3.3.工作簿
表示在一个 Excel 进程中打开的文件列表中的一个特定文件。用于关闭或保存文件。
有关 Workbook 对象的更多信息,请参阅下面的 Microsoft 文章。
使用工作簿对象的示例代码如下。
'Workbook 사용 코드 #1: 파일 닫기 Workbook.Close 'Workbooks 사용 코드 #2: 저장하기 Workbook.Save 'Workbooks 사용 코드 #3: 다른 이름으로 저장하기 Workbook.SaveAs Filename:="NewFile.xlsx"
2.3.4.工作表
管理文件中的工作表集合。它用于创建或删除新工作表等目的。
有关 Worksheets 对象的更多信息,请参阅下面的 Microsoft 文章。
使用 Worksheets 对象的示例代码如下。
'Worksheets 사용 코드 #1: 첫번째 시트 앞에 2개 시트 추가 Worksheets.Add Count:=2, Before:=Sheets(1) 'Worksheets 사용 코드 #2: 시트 개수 출력 Debug.Print Worksheets.Count 'Worksheets 사용 코드 #3: Sheet3 뒤에 Sheet1 복사 Worksheets("Sheet1").Copy After:=Worksheets("Sheet3")
2.3.5.工作表
指向文件中的单个工作表。用于激活、删除、隐藏或显示工作表。
有关 Worksheet 对象的更多信息,请参阅下面的 Microsoft 文章。
使用 Worksheet 对象的示例代码如下。
'Worksheet 사용 코드 #1: 시트 활성화 Worksheets("Sheet1").Activate 'Worksheet 사용 코드 #2: 시트 삭제 Worksheets("Sheet1").Delete 'Worksheet 사용 코드 #3: 시트 숨기기 Worksheets(1).Visible = False 'Worksheet 사용 코드 #4: 시트 보이기 Worksheets(1).Visible = True
2.3.6.范围
它指的是一张表中的一个单元格或多个单元格。它用于在单元格中输入值、删除它或合并单元格。它是使用 Excel VBA 编码时最常用的对象。
有关 Range 对象的更多信息,请参阅下面的 Microsoft 文章。
使用 Range 对象的示例代码如下:
'Range 사용 코드 #1: A1 cell의 값을 A5에 입력 Worksheets("Sheet1").Range("A5").Value = _ Worksheets("Sheet1").Range("A1").Value 'Range 사용 코드 #2: A1:E10 영역의 내용 삭제 Worksheets(1).Range("A1:E10").ClearContents 'Range 사용 코드 #3: A2(2행, 1열)에 B1:B5 합계 수식 입력 Worksheets(1).Range("A2").Formula = "=Sum(B1:B5)" Worksheets(1).Cells(2, 1).Formula = "=Sum(B1:B5)" 'Range 사용 코드 #4: 5행 삭제하기 Worksheets(1).Rows(5).Delete 'Range 사용 코드 #5: 3열(C) 삭제하기 Worksheets(1).Columns("C").Delete Worksheets(1).Columns(3).Delete 'Range 사용 코드 #6: A1:A2 cell 병합 Worksheets(1).Range("A1:A2").Merge
到目前为止,对 Excel 对象模型的层次结构、概念和用途的简要总结如下。
上面,我们简要介绍了 Excel 对象模型。如果仔细查看对象搜索功能,您会发现可以使用鼠标和键盘执行的 Excel 的所有函数、属性和事件都作为对象模型提供。因此,必须对Excel函数有很好的了解,并用好它们,才能用好Excel对象模型。这意味着您可以像使用 Excel 一样使用 Excel VBA。
接下来,我们将查看使用 Excel 对象模型对象的示例代码,并更详细地解释 Excel 对象模型。
<<相关文章一览>>
- 开始 Excel VBA 课程。 (讲座预告,壮举。为什么我们推荐 Excel VBA)
- Excel VBA课程(一):Excel VBA概述
- Excel VBA教程(二):Excel VBA基础
- Excel VBA教程(三):Excel对象模型
- Excel VBA教程(四):使用Excel对象模型
- Excel VBA教程(五):Excel文件扩展名、VBE、字体设置
- Excel VBA教程(六):Excel VBA语言基础-变量
- Excel VBA教程(七):Excel VBA语言基础——语法
- Excel VBA教程(八):Excel VBA语言基础——数据类型、数据结构
- Excel VBA教程(九):Excel VBA How-To
- Excel VBA教程(十):与Excel VBA一起开发和使用的工具
- Excel VBA 课程的完整目录