El Blog del Leo

Compartiendo lo que aprendo

Generando una salida para Microsoft Project desde ASP.NET


A veces nos hemos encontrado la necesidad de utilizar componentes de otros programas para nuestros trabajos, por lo general, cuando tenemos que generar algun tipo de reporte en Excel, Word, Project, PDF, etc.

Bueno, aqui les traigo un ejemplo cuando necesiten generar un reporte para Microsoft Project


  1. Lo primero que tenemos que hacer en nuestra aplicación es tener la referencias a las librerias COM de Project, para ello, debemos instalar (si no lo hemos hecho) los componentes de desarrollo de Office. Para instalarlo, seguir el siguiente tutorial: Instalar Office PIAs.
  2. Luego debemos importar al proyecto que queremos la referencia a Project.
    Imports Micr
    osoft.Office.Interop.MSProject
  3. Luego,
Private Sub ExportarProject()
     Dim aplicacion As ApplicationClass

     'Verificamos si tiene instalado MS Project
     Try
            aplicacion = New ApplicationClass
            aplicacion.AppMaximize()
            aplicacion.FileNew(, , , )
            aplicacion.Visible = True
     Catch ex As Exception
            MsgBox("No es posible exportar a Project")
            Exit Sub
     End Try
      'Buscar la instancia del proyecto activo
      Dim proyecto As Project = aplicacion.ActiveProject
      'Asociamos tareas al proyecto, el primer parametro nombre de la tarea, segundo parametro posicion
      Dim tarea As Task = proyecto.Tasks.Add("Nombre Tarea",1)
      'Podemos asociar subtareas tambien de la siguiente manera
      Dim subTarea As Task = proyecto.Tasks.Add("Nombre Sub Tarea",2)
      subTarea.Start = "10/10/2009"
      subTarea.Finish = "12/12/2009"  
      subTarea.OutlineIndent()
      'Podemos crear otro subtarea

      Dim subTarea2 As Task = proyecto.Tasks.Add("Nombre Sub Tarea", 3)
      subTarea2.Start = "13/12/2009"
      subTarea2.Finish = "25/12/2009"
      subTarea2.OutlineIndent()     
      'Podemos guardar el proyecto y salir
      aplicacion.FileSaveAs(proyecto.Title, PjFileFormat.pjMPP)
      aplicacion.Quit(PjSaveType.pjPromptSave)
End Sub

Espero les sirva, les adjunto el codigo de prueba.
Descargar Ejemplo Project [Link 1]
Descargar Ejemplo Project [Link 2]
Saludos.

0 comentarios:

Seguidores

Certificaciones

Microsoft Certified Professional

Mis Tweets

Twitter