Objecto Application de Excel VBA
El objeto Application de VBA nos da información del usuario/máquina. En este artículo presentaremos unas aplicaciones del un objeto muy básico de Excel/VBA: Application. Este representa todo el conjunto del programa Excel y sus libros de trabajo.
Unos ejemplos de propiedades del objeto Application
El objeto Application tiene muchas propiedades. Hay unas que pueden ser interesantes para el programador de macros VBA de Excel.
| Objeto | Propiedad | Devuelve |
| Application. | UserName | Nombre del usuario |
| OrganizationName | Nombre de la empresa | |
| OperatingSystem | Sistema operativo | |
| Version | Versión de MS Excel | |
| ProductCode | Código de MS Excel | |
| StandardFont | Fuente por defecto | |
| StandardFontSize | Tamaño fuente por defecto | |
| DecimalSeparator | Carácter separador de miles | |
| ActivePrinter | Impresora por defecto | |
| DefaultFilePath | Ruta de acceso por defecto | |
| UserLibraryPath | Ruta a carpeta Add-ins |
Sobre la versión de MS Excel arriba:
| Nº | Versión |
| 12 | Excel 2007 |
| 11 | Excel 2003 |
| 10 | Excel 2002 ("XP") |
| 9 | Excel 2000 |
| 8 | Excel 97 |
| 7 | Excel 95 |
Algunos ejemplos prácticos del objeto Application de Excel
Presentar la impresora activa del usuario
Para presentar la impresora activa del usuario, en una caja de diálogo, pondríamos
Dim strImpresoraActiva as String
strImpresoraActiva = Application.ActivePrinter
Msgbox strImpresoraActiva
End sub
o todavía más fácil:
Msgbox Application.ActivePrinter
End sub
Crear lista extensa de información sobre la máquina del usuario
Abajo te presentamos una macro para presentar varios datos del usuario/maquina.
'dimensiones
Dim strDataArray(10) As String
Dim i, x As Integer
'devolver datos del objeto 'Application'
strDataArray(0) = Application.UserName
strDataArray(1) = Application.OrganizationName
strDataArray(2) = Application.OperatingSystem
strDataArray(3) = Application.Version
strDataArray(4) = Application.ProductCode
strDataArray(5) = Application.StandardFont
strDataArray(6) = Application.StandardFontSize
strDataArray(7) = Application.DecimalSeparator
strDataArray(8) = Application.ActivePrinter
strDataArray(9) = Application.DefaultFilePath
strDataArray(10) = Application.UserLibraryPath
'presentar los datos en celdas D3...
x = 0
For i = 3 To 13
Cells(i, 4) = strDataArray(x)
x = x + 1
Next i
End Sub
'suprimir datos antiguos
Range(Cells(3, 4), Cells(13, 4)).ClearContents
End Sub


