xltoday.net

EXCEL 2007 TABLAS Y GRAFICOS


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.

ObjetoPropiedadDevuelve
Application.UserNameNombre del usuario
OrganizationNameNombre de la empresa
OperatingSystemSistema operativo
VersionVersión de MS Excel
ProductCodeCódigo de MS Excel
StandardFontFuente por defecto
StandardFontSizeTamaño fuente por defecto
DecimalSeparatorCarácter separador de miles
ActivePrinterImpresora por defecto
DefaultFilePathRuta de acceso por defecto
UserLibraryPathRuta a carpeta Add-ins

Sobre la versión de MS Excel arriba:

Versión
12Excel 2007
11Excel 2003
10Excel 2002 ("XP")
9Excel 2000
8Excel 97
7Excel 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

Sub Devolver ImpresoraActiva()

Dim strImpresoraActiva as String
strImpresoraActiva = Application.ActivePrinter

Msgbox strImpresoraActiva

End sub

o todavía más fácil:


Sub Devolver ImpresoraActiva()

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.

Sub Application_Data() '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 '----------------------------------------------------- Sub SuprimirDatosEnceldas() 'suprimir datos antiguos Range(Cells(3, 4), Cells(13, 4)).ClearContents End Sub