Office: Creá un calendario dinámico con DTPicker

Utilizar la función es bastante simple, pero no alcanza con insertar el calendario. Además hay que asociar el calendario a una celda destino y configurar el reloj para poder sumar horas además de días.
JUE, 6 / AGO / 2015

No solo el comando funciona muy bien, sino que además es transversal a todas las aplicaciones del paquete y hay disponible mucha documentación al respecto en la web y en los manuales de la aplicación.

Recordaremos que en Office 2010 y superiores, DTPicker no está disponible de manera predeterminada, lo cual nos obligará a instalarlo manualmente. Para eso necesitaremos antes registrar la biblioteca de vínculos dinámicos mscomct2.ocx, disponible para su descarga en este link. El archivo, descomprimido, debe ser guardado en la carpeta de sistema C:\Windows\System32(C:\Windows\SysWow64 en el caso de que usemos versiones de 64 bits). Una vez hecho eso, deberemos iniciar una sesión de terminal (con la aplicación [Símbolo del sistema]) como administrador, y dentro de la carpeta donde hayamos guardado la librería deberemos ejecutar el comando regsvr32 c:\windows\system32\mscomct2.ocx (ajustaremos la ruta de la carpeta en sistemas de 64 bits).

Hecho esto, en Excel deberemos visitar la ficha [Programador]. Si no estuviera disponible haremos clic en [Archivo/Opciones] y en el apartado [Personalizar la cinta de opciones] marcaremos la casilla de verificación [Desarrollador]. Luego de aceptar todo accederemos finalmente a la ficha y presionaremos el botón [Insertar/Más controles]. De la lista seleccionaremos [Microsoft Date and Time Picker Control 6.0 (SP6)], y dibujaremos sobre la hoja el calendario.

Una alternativa si el calendario no va a funcionar como origen dinámico de datos es usar Gcal2Excel, una sencilla aplicación que convierte los datos disponibles en un calendario de Google Calendar –a través de Calendar pueden utilizarse también los calendarios de Outlook.com– en un archivo CSV, lo cual nos permite luego evaluar en términos absolutos la información que cargamos en las aplicaciones web. Como para saber cuántas horas le dedicamos a un proyecto y cómo debemos facturarlas, por caso.

Alternativas en Excel 2013

Una alternativa que pueda resultar valiosa y que se aplica a Office 2010 SP2 y a Office 2013 es el control Calendar Control 11.0. No tiene más objeto que mostrar un calendario con el día de la fecha resaltado, a partir de lo cual puede obtenerse una fecha que puede ser insertada en una celda con un botón [Obtener fecha]. Para usar este control debemos instalarlo igual que como lo hicimos con DTPicker en el caso anterior, pero utilizando el archivo mscal.ocx que está disponible en este link.

En el caso del registro del control, en la ventana [Más controles] deberemos presionar el botón [Registrar personalizado…] y seleccionar el archivo llamado mscal.ocx para poder elegir de la lista el control [Calendar Control 11.0].

La instalación del botón que insertará la fecha en una celda es un poco más complicada. Empezaremos por insertar un botón ActiveX clásico con [Desarrollador/Insertar/Botón (Control de formulario)]. Luego haremos doble clic sobre el botón para modificar el código y utilizaremos en lugar del predeterminado el siguiente:

La apariencia de MSCal no es la de un calendario de Outlook.com, pero de todos modos resulta más que suficiente. Si usamos Windows 7 deberemos desactivar el control de cuentas de usuario con el nivel [No notificarme nunca].

En DTPicker utilizaremos la propiedad [Format] para definir si lo que se insertará será un horario, una fecha o una hora en una fecha.

Private Sub CommandButton1_Click()
Range(“E10”).Value = Calendar1.Value
End Sub

En nuestro ejemplo, en la celda E10 se insertará el valor de la fecha que sea que hayamos seleccionado en el calendario.

Como hemos visto hasta aquí, los calendarios y las distintas posibilidades que brindan fueron muy tenidas en cuenta por la gente de Microsoft. Este tipo de cuestiones, desconocidas por la mayoría de los usuarios de Office, son las que la convierten en un gran producto. Por eso es que todavía, en la era de las apps online, existe.

¡Comparte esta noticia!

Últimos lanzamientos Ver más