02 Sep

Macro para crear un diagrama Gantt en Excel y exportar a html y/o MS Project

En ocasiones debemos crear diagramas Gantt para el control de proyectos y resulta mas sencillo manipular los datos desde Excel que desde Project. En otras ocasiones, simplemente no se dispone de una licencia de Project para el contro del projecto.

Este post es sobre una herramienta en Excel que he diseñado en la que se puede crear un proyecto en blanco y a partir de la cual se pueden exportar los datos bien sea hacia un servidor para visualizar el proyecto en formato Gantt, o simplemente hacia MS Project.

 

gantt1

Nota técnica: Para que la solución funcione correctamente, es necesario tener instalado MS Excel y Project (opcional) 2010, asi como un servidor local, yo particularmente utilizo XAMPP pero está en cada usuario como desea aplicarlo. Finalmente, es necesario tener JSGantt que es un desarrollo en javascript que permite crear diagramas Gantt en web.

Los archivos pueden ser descargados en el siguiente vinculo.

A continuación describiremos en detalle los dos métodos :

1) MS Project

Para conectar Excel con Project es necesario tener instalados ambos programas en su ordenador (versión 2010 = 14.0).  A partir de su editor VBA es necesario agregar la referencia Microsoft Project 14.0 Object Library (ver imagen)

references

 

Esto permite crear objetos de tipo MSProject.Application y sus componentes.

La siguiente función permite integrar la referencia de MS Project al código. Este paso puede ser redundante si usted ya agregó la referencia como se mostró en el paso anterior, sin embargo es una validación útil.

La siguiente función valida si la información ingresada corresponde o no a una fecha.

La siguiente función retorna el color utilizado en una celda en código hexadecimal

2) Servidor web

En primer lugar es necesario contar con un servidor local, para esto he utilizado XAMPP.

xampp

Una vez configurado, es necesario crear un folder de destinación de los archivos

path gantt

El folder elegido (C:\xampp\htdocs\Tools\gantt\Data) puede ser accedido localmente si el servidor se encuentra en el mismo ordernador, o por red si se trata de una red interna.

Sharing folder

Access network

En nuestro caso hemos habilitado un folder compartido en la dirección \\100177A\Data\, en donde se puede acceder remotamente para guardar el archivo xml necesario para generar el diagrama de Gantt.

Este archivo xml es generado en Excel en la siguiente función (createXML)

Las últimas líneas del código simplemente abren el browser en la dirección deseada (la misma habilitada en el servidor para ejecutar la herramienta), en este caso http://100177a/Tools/gantt/TrGantt.html. Un ejemplo de como se vería este diagrama se encuentra en el siguiente link.

En cuanto al archivo html, utilizamos cualquier plantilla de base y en ella insertamos un script haciendo referencia a la librería JSGantt (incluída en los archivos adjuntos). Los comandos para crear el diagrama se muestran en la siguiente imagen:

Finalmente, el código para exportar la información desde Excel hacia MS Project es el siguiente (recuerde importar la librería antes)

 

El siguiente video es una demonstración de como funciona el archivo Excel exportando a MS Project y a el servidor Web.

2 thoughts on “Macro para crear un diagrama Gantt en Excel y exportar a html y/o MS Project

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.

%d bloggers like this: