Curso de Excel VBA (4): Trabajar con el modelo de objetos de Excel
En este artículo, veremos cómo manejar el modelo de objetos de Excel.
2.4. Comprender el modelo de objetos de Excel con código simple
2.4.1. primitiva de acceso a objetos
Veamos el código más básico que accede a archivos, hojas, rangos y celdas. Como referencia, el objeto global Aplicación se puede omitir al acceder al objeto. En la segunda línea de cada ejemplo del 1 al 6 a continuación, se expresa el código que omite la aplicación.
'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")
Echemos un vistazo más de cerca a cada uno.
'1. 이름이 t1.xlsx 인 파일 Application.Workbooks("t1.xlsx") Workbooks("t1.xlsx")
▲ Esta es una sintaxis que indica el archivo cuyo nombre es “t1.xlsx” entre los archivos abiertos actualmente en Excel. Workbooks mantiene una colección de archivos abiertos. Al seleccionar uno de varios archivos, acceda al 'nombre de archivo' de la colección Workbooks como parámetro. (Como referencia, además del nombre del archivo, también se puede usar como parámetro el orden en que se abrió el archivo, como "Libros de trabajo (1)").
'2. 이 파일의 Sheet1 시트 Application. Workbooks("t1.xlsx").Worksheets("Sheet1") Workbooks("t1.xlsx").Worksheets("Sheet1")
▲ Esta es una sintaxis que indica la hoja "Hoja1" del archivo "t1.xlsx" especificado anteriormente. Las hojas de trabajo administran una colección de hojas en un archivo. Al seleccionar una de varias hojas, acceda al 'nombre de la hoja' de la colección Hojas de trabajo como parámetro. (Al igual que los libros de trabajo, también puede usar el orden de las hojas como parámetro, como "Hojas de trabajo (1)".)
'3. 이 시트의 A1 cell Application.Workbooks("t1.xlsx").Worksheets("Sheet1").Range("A1") Workbooks("t1.xlsx").Worksheets("Sheet1").Range("A1")
▲ Esta es una frase que indica la celda "A1" de la hoja "Hoja1" especificada anteriormente.
'4. 이 시트의 A1 cell 에 "TEST" 문자열 입력 Application.Workbooks("t1.xlsx").Worksheets("Sheet1").Range("A1") = "TEST" Workbooks("t1.xlsx").Worksheets("Sheet1").Range("A1") = "TEST"
▲ Este código ingresa un valor de cadena a la celda a la que se accedió anteriormente. Puede ingresar cualquier tipo de valor, incluidas cadenas y números.
'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
▲ Este código establece el formato de celda utilizando el objeto Rango. Todos los formatos de celda, como el nombre de fuente, el color, el tamaño, el color de fondo, el tipo de borde de celda y el color del borde, se pueden configurar con el código VBA.
'6. 이 시트의 A2:D4 범위 Application.Workbooks("t1.xlsx").Worksheets("Sheet1").Range("A2:D4") Workbooks("t1.xlsx").Worksheets("Sheet1").Range("A2:D4")
▲ Un objeto Rango puede apuntar a varias celdas contiguas. El rango ("A2:D4") representa '2 filas, 1 columna' a '4 filas, 4 columnas'.
2.4.2. acceso a objetos sencillo
Al acceder al archivo o la hoja actual, simplemente puede usarlo de la siguiente manera. Este código es simple y muy legible, pero se debe tener cuidado cuando se cambia el archivo o la hoja actual durante la ejecución.
'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. Ejemplos de acceso y uso de objetos
Veamos algunos ejemplos más de acceso a objetos.
'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. Detalles del modelo de objetos de Excel
La estructura jerárquica del modelo de objetos de Excel de uso frecuente es la siguiente. Los objetos que se muestran en esta figura son una parte, no el todo, proporcionados a Excel VBA. De estos, el objeto con el color de fondo se ha tratado una vez en los contenidos hasta ahora.
![엑셀 Object Model(일부)](https://prodskill.com/wp-content/uploads/2022/09/image-76.png)
No necesita saber todos los objetos de fondo blanco ahora. Puede aprenderlo y usarlo más tarde cuando lo necesite. Por ahora, solo mirarlo para ver si existe tal cosa es suficiente.
Todo el objeto se divide en página1, página2 y página3 en el sitio de Microsoft Docs.
![엑셀 Object Model(전체) Page 1](https://prodskill.com/wp-content/uploads/2022/09/image-77-156x300.png)
![엑셀 Object Model(전체) Page 2](https://prodskill.com/wp-content/uploads/2022/09/image-78-217x300.png)
![엑셀 Object Model(전체) Page 3](https://prodskill.com/wp-content/uploads/2022/09/image-79-260x300.png)
La fuente de cada imagen de arriba es la siguiente URL.
- Página 1: https://docs.microsoft.com/en-us/previous-versions/office/developer/office-xp/aa141044(v=office.10)?redirectedfrom=MSDN
- Página 2: https://docs.microsoft.com/en-us/previous-versions/office/office-10/aa189565(v=office.10)?redirectedfrom=MSDN
- Página 3: https://docs.microsoft.com/en-us/previous-versions/office/office-10/aa189566(v=office.10)?redirectedfrom=MSDN
Arriba, vimos el modelo de objetos de Excel en detalle. A continuación, explicaré las referencias relacionadas con Excel VBA.
<< Lista de artículos relacionados >>
- Inicie el curso de Excel VBA. (Aviso de conferencia, hazaña. Por qué recomendamos Excel VBA)
- Curso Excel VBA(1): Descripción general de Excel VBA
- Curso de Excel VBA (2): Conceptos básicos de Excel VBA
- Curso de Excel VBA (3): Modelo de objetos de Excel
- Curso de Excel VBA (4): Trabajar con el modelo de objetos de Excel
- Curso de Excel VBA (5): extensión de archivo de Excel, VBE, configuración de fuente
- Curso Excel VBA (6): Conceptos básicos del lenguaje Excel VBA - Variables
- Curso Excel VBA (7): Conceptos básicos del lenguaje Excel VBA - Sintaxis
- Curso Excel VBA (8): Conceptos básicos del lenguaje Excel VBA: tipos de datos, estructuras de datos
- Cursos de Excel VBA (9): Procedimientos de Excel VBA
- Curso Excel VBA (10): Herramientas desarrolladas y utilizadas con Excel VBA
- Tabla de contenido completa para cursos de Excel VBA