¡Bienvenido! al foro de consultas y comentarios de Ms Project

Envía a imartin@epmconsultores.com a través de mi perfil tus consultas sobre Microsoft Project, Professional, Server, etc ... o bien añade respuestas y comentarios a los temas ya publicados. Ignacio Martín
http://www.epmconsultores.com/cursomicrosoftproject2013.html
http://www.epmconsultores.com/cursomsproject2013.html
http://www.epmconsultores.com/cursodeproject.html


Mostrando entradas con la etiqueta excepciones. Mostrar todas las entradas
Mostrando entradas con la etiqueta excepciones. Mostrar todas las entradas

18 octubre 2015

Macro para Exportar los Festivos del Calendario

 
Hola a todos.
 
Después de la versión 2010 de Microsoft Project, no conozco, ni creo que exista una forma directa de imprimir un informe y/o exportación de los días no laborables del calendario de Ms Project. Así que, con las mismas, y debido a diferentes peticiones de los usuarios, he desarrollado una macro que muestra y exporta las excepciones(no laborables) y fines de semana a sendos archivos txt.

Simplemente debes crear una macro vacía en Ms Project con VISTA > Macros > Macros > Ver macros.

Escribes un nombre corto y sin espacios, Festivos por ejemplo, luego pulsas el botón Crear, y a continuación pegas entre las 2 líneas Sub y End Sub el texto de la macro del final de este post:

 
Nota.-

Sub
.
.
.
        pegar aquí todo el texto de la macro literalmente como se muestra más abajo, desde 'Macro        desarrollada... hasta... Exit Sub
.
.
.
End Sub

  

Finalmente Cierras la ventana de edición de la macro(X), y ya puedes ejecutar la macro creada sobre el proyecto activo, con VISTA > Macros > Ver

macros ... Ejecutar. Se mostrará y guardará en 2 archivos txt de C:windows/temp los festivos y fines de semana, respectivamente. También puedes elegir cualquier otro calendario base del proyecto.

 
Saludos.

------------------------------------------------------------

' Macro desarrollada por Ignacio Martín MVP - Octubre 2015
' Genera 2 archivos txt, uno con los Festivos-Excepciones del proyecto activo y otro con los No laborables de fin de semana (Sábados y Domingos no laborables),
' desde principio a fin del proyecto, del calendario elegido. También es aplicable a Calendarios de tareas, no así de Recursos
    Dim desdeFecha, hastaFecha, dia As Date
    Dim Calendario, CalendarioProyecto, Festivos, Finesdesemana As String
     CalendarioProyecto = ActiveProject.Calendar
    Calendario = InputBox("Introduzca el Calendario-base de Festivos a exportar:", , CalendarioProyecto)
    desdeFecha = ActiveProject.ProjectStart
    hastaFecha = ActiveProject.ProjectFinish
    Festivos = "Los siguientes Festivos-Excepciones se han exportado al archivo " & "C:\windows\temp\" & Calendario & " - Excepciones.txt" & vbNewLine & vbNewLine
    Finesdesemana = "Los siguientes Fines de semana se han exportado al archivo " & "C:\windows\temp\" & Calendario & " - Fines de semana.txt" & vbNewLine & vbNewLine
    For dia = desdeFecha To hastaFecha
    On Error GoTo Errores
        With ActiveProject.BaseCalendars(Calendario)
            If .Period(dia).Working = False Then
                If Not .WeekDays(Weekday(dia)).Working Then
                    Finesdesemana = Finesdesemana & Format(dia, "dd.mm.yyyy") & vbNewLine
                    'Si existe el archivo se sobreescribe, si no se crea.
                    Open "C:\windows\temp\" & Calendario & " - Fines de semana.txt" For Output As #1
                    Write #1, Finesdesemana
                    Close #1
                Else
                    Festivos = Festivos & Format(dia, "dd.mm.yyyy") & vbNewLine
                    Open "C:\windows\temp\" & Calendario & " - Excepciones.txt" For Output As #1
                    Write #1, Festivos
                    Close #1
                End If
            End If
        End With
    Next dia
    MsgBox Festivos, vbInformation, "Festivos del Calendario: " & Calendario & "                             "
    MsgBox Finesdesemana, vbInformation, "Fines de Semana del Calendario: " & Calendario & "                                "
   
Errores:
   
      Select Case Err
         Case 1101:
                       
            MsgBox Calendario & ": Nombre de Calendario-base de Proyecto o Tarea inexistente." & vbNewLine & vbNewLine & "Nota.- Solo se exportan Calendarios-base, no de Recursos."
           
      End Select
     
      Exit Sub
 

11 junio 2015

Horarios semanales alternados

Hola:

¿Cómo puedo establecer horarios semanales alternados.
en el proyecto de 48 horas semanales y la siguiente de 40 horas, con horarios diferentes?

Gracias..........."

Respuesta [Ignacio Martín]:

Si no ves el siguiente vídeo pincha Aquí
Atención: puedes ampliar la imagen del vídeo haciendo doble clic sobre la ventana.

Saludos
Ignacio MVP

27 julio 2011

Parada y Ajuste de Obra

Hola,

estoy en una obra en construcción cuyo inicio fué el 4 de abril, el cronograma esta montado pero apenas va siendo revisado por el ing. residente; el asunto es que la la obra fue paralizada por organismos públicos durante varias semanas. El ing va a revisar duraciones y prelaciones del cronograma para ver si hay cambios. El asunto es que de no haber cambios y de mantener oficialmente la fecha de inicio del proyecto al 4 de abril, serian muchas las partidas retrasadas. si se llega a tomar en cuenta el lapso de paralización ¿hay alguna manera de reflejar eso en Project o hay que reprogramar a partir del reinicio?. El otro problema es que si no se puede variar la fecha fin del proyecto  ¿qué puedo hacer?.

Gracias nuevamente.

Respuesta [Ignacio Martín]:

Hola Jose Francisco:

Lo primero es que puedes crear opcionalmente una línea de base o plan inicial antes de actualizar el proyecto, que es una copia del plan programado (como una foto), y que sirve para comparar variaciones entre previsto y programado actualmente, después de introducidos los datos reales de ejecución. Esto se hace con Menú/ Proyecto/ Programación/ Establecer línea de base en la versión 2010 o Menú/ Herramientas/ Seguimiento/ Establecer Línea de base, en versiones anteriores. En la vista Gantt de seguimiento se muestra las barras del Plan previsto o Línea de base y en paralelo para cada tarea las del plan programado actualmente.

Una manera recomendable y sencilla de incluir el tiempo de parada del proyecto es modificar su Calendario incluyendo esos días no laborables. De esta forma quedará una sombra en el Gantt por detrás de las tareas que indicará los días no trabajados. Además se desplazará automáticamente todas las tareas que no han podido hacerse, a partir del último día no laborable, manteniendo la lógica de precedencias existente. El Calendario se modifica creando un período de excepciones (días no laborables) en Menú/ Proyecto/ Propiedades/ Cambiar tiempo de trabajo en la versión 2010 o Cambiar Calendario laboral en las versiones anteriores.

Las posibilidades que propone Project para acortar el plazo de un proyecto son prácticamente las mismas que las que se nos pueden ocurrir en la vida real, con la ventaja de que al disponer de una herramienta informática podemos comprobar de manera inmediata el impacto que tendría cada una de las hipótesis en el proyecto. Lo ideal es que el usuario sea buen conocedor de la herramienta y de las buenas prácticas, de manera que por ejemplo su proyecto reflejara el camino crítico, es decir, el conjunto de tareas que están interviniendo en la duración del proyecto, y que normalmente ¡son sólo algunas! Para ello, principalmente hay que tener una correcta red de precedencias y ausencia de fechas delimitadas o restrictivas, error muy corriente por escribir las fechas programadas de las tareas en lugar de dejar que calcule Project. Otra cuestión importante es considerar la disponibilidad de los recursos. Dicho esto, para acortar el plazo se trataría de ir reduciendo la duración del camino crítico (tareas críticas) hasta nuestro objetivo:

- Incluyendo más recursos (rendimiento) en tareas del camino crítico de tipo esfuerzo, equivalente a reducir su duración.

- Revisar los enlaces entre tareas del camino crítico, por si pudieran solaparse y empezar o terminar antes.

- Trabajar en días no laborables, convirtiéndolos en el calendario del proyecto o recurso, para aquellos días en que están programadas tareas del camino crítico.

- Desagregar tareas que puedan liberar recursos para ser usados en otras tareas del camino crítico, o simplemente para que empiecen antes sus sucesoras.

...y como no, dejar de hacer algún trabajo, eliminar del proyecto...aunque esto suele ser más difícil en la realidad.

Espero haberte ayudado,

un saludo