Excel VBA教程(四):使用Excel对象模型

在本文中,我们将了解如何处理 Excel 对象模型。

2.4.用简单的代码理解 Excel 对象模型

2.4.1.对象访问原语

让我们看看访问文件、工作表、范围和单元格的最基本代码。作为参考,访问对象时可以省略全局对象 Application。在下面1到6的每个例子的第二行中,表示省略Application的代码。

'1. 이름이 t1.xlsx 인 파일
Application.Workbooks("t1.xlsx")
Workbooks("t1.xlsx") 

'2. 이 파일의 Sheet1 시트
Application.Workbooks("t1.xlsx").Worksheets("Sheet1")
Workbooks("t1.xlsx").Worksheets("Sheet1")

'3. 이 시트의 A1 cell
Application.Workbooks("t1.xlsx").Worksheets("Sheet1").Range("A1")
Workbooks("t1.xlsx").Worksheets("Sheet1").Range("A1") 

'4. 이 시트의 A1 cell 에 "TEST" 문자열 입력
Application.Workbooks("t1.xlsx").Worksheets("Sheet1").Range("A1") = "TEST"
Workbooks("t1.xlsx").Worksheets("Sheet1").Range("A1") = "TEST"

'5. 이 시트의 A1 cell 글꼴을 굵게(Bold) 설정
Application.Workbooks("t1.xlsx").Worksheets("Sheet1").Range("A1").Font.Bold = True
Workbooks("t1.xlsx").Worksheets("Sheet1").Range("A1").Font.Bold = True

'6. 이 시트의 A2:D4 범위
Application.Workbooks("t1.xlsx").Worksheets("Sheet1").Range("A2:D4")
Workbooks("t1.xlsx").Worksheets("Sheet1").Range("A2:D4")

让我们仔细看看每一个。

'1. 이름이 t1.xlsx 인 파일
Application.Workbooks("t1.xlsx")
Workbooks("t1.xlsx")

▲ 这是表示在Excel中当前打开的文件中名为“t1.xlsx”的文件的句法。工作簿维护打开文件的集合。选择多个文件之一时,将“文件名”作为参数访问工作簿集合。 (作为参考,除了文件名,文件打开的顺序,如“Workbooks(1)”,也可以作为参数。)

'2. 이 파일의 Sheet1 시트
Application. Workbooks("t1.xlsx").Worksheets("Sheet1")
Workbooks("t1.xlsx").Worksheets("Sheet1")

▲ 这是表示上面指定的“t1.xlsx”文件的“Sheet1”工作表的语法。工作表管理文件中的工作表集合。选择多个工作表中的一个时,将“工作表名称”作为参数访问 Worksheets 集合。 (与 Workbooks 一样,您也可以使用工作表的顺序作为参数,例如“Worksheets(1)”。)

'3. 이 시트의 A1 cell
Application.Workbooks("t1.xlsx").Worksheets("Sheet1").Range("A1")
Workbooks("t1.xlsx").Worksheets("Sheet1").Range("A1")

▲ 这是表示上面指定的“Sheet1”工作表的“A1”单元格的短语。

'4. 이 시트의 A1 cell 에 "TEST" 문자열 입력
Application.Workbooks("t1.xlsx").Worksheets("Sheet1").Range("A1") = "TEST"
Workbooks("t1.xlsx").Worksheets("Sheet1").Range("A1") = "TEST"

▲ 此代码向上面访问的单元格输入一个字符串值。您可以输入任何类型的值,包括字符串和数字。

'5. 이 시트의 A1 cell 글꼴을 굵게(Bold) 설정
Application.Workbooks("t1.xlsx").Worksheets("Sheet1").Range("A1").Font.Bold = True
Workbooks("t1.xlsx").Worksheets("Sheet1").Range("A1").Font.Bold = True

▲ 此代码使用 Range 对象设置单元格格式。所有单元格格式,如字体名称、颜色、大小、背景颜色、单元格边框类型和边框颜色都可以使用 VBA 代码设置。

'6. 이 시트의 A2:D4 범위
Application.Workbooks("t1.xlsx").Worksheets("Sheet1").Range("A2:D4")
Workbooks("t1.xlsx").Worksheets("Sheet1").Range("A2:D4")

▲ 一个 Range 对象可以指向几个连续的单元格。范围(“A2:D4”)表示“2 行 1 列”到“4 行 4 列”。

Range("A2:D4")
范围(“A2:D4”)

2.4.2.简单的对象访问

当访问当前文件或工作表时,您可以简单地使用它,如下所示。这段代码简单,可读性强,但是在执行过程中当前文件或工作表发生变化时必须小心。

'1. 현재 열려있는 파일
ActiveWorkbook

'2. 현재 열려있는 시트
ActiveWorksheet

'3. 현재 열려있는 시트의 A1 cell
Range("A1")
ActiveWorksheet.Range("A1")

'4. 현재 열려있는 시트의 A1 cell 에 "TEST" 라는 값 할당
Range("A1") = "TEST"

'5. 현재 열려있는 시트의 시트의 A1 cell 글꼴을 굵게(Bold) 설정
Range("A1").Font.Bold = True

'6. 현재 열려있는 시트의 A2:D4 범위
Range("A2:D4")

2.4.3.对象访问和使用示例

让我们再看一些访问对象的例子。

'1. 현재 열려있는 파일들
Workbooks

'2. 현재 열려있는 파일들의 수
Workbooks.Count

'3. 새로운 파일 만들기
Workbooks.Add

'4. 현재 파일을 C:\test.xlsx로 저장하기
ActiveWorkbook.SaveAs "C:\test.xlsx"

'5. 현재 파일의 이름을 보여주기
MsgBox ActiveWorkbook.Name

'6. 현재 열려있는 파일의 시트들
Worksheets

'7. 현재 열려있는 파일의 시트들의 수
Worksheets.Count

'8. 새로운 시트 만들기
Worksheets.Add

'9. Sheet1을 삭제하기
Worksheets("Sheet1").Delete

'10. 현재 시트의 이름을 보여주기
MsgBox ActiveSheet.Name

'11. 현재 열려있는 시트의 A1 cell 선택
Range("A1").Select

'12. 현재 열려있는 시트에서 사용된 영역을 선택
ActiveSheet.UsedRange.Select

2.5. Excel 对象模型详细信息

常用的Excel对象模型的层次结构如下。此图中显示的对象是提供给Excel VBA 的一部分,而不是全部。其中,具有背景色的对象到目前为止在内容中已经处理过一次。 

엑셀 Object Model(일부)
Excel 对象模型(部分)

您现在不需要知道所有的白色背景对象。您可以在以后需要时学习和使用它。现在,只是看看有没有这种东西就够了。

整个对象在 Microsoft Docs 站点上分为 page1、page2 和 page3。

上面每张图片的来源是以下网址。


上面,我们详细查看了 Excel 对象模型。接下来,我将解释与Excel VBA相关的参考资料。


<<相关文章一览>>

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注

zh_CN简体中文