Compartir vía


Objeto Application (Project)

Representa la aplicación de Project completa. El objeto Application contiene:

  • La configuración y las opciones generales de la aplicación (por ejemplo, muchas de las opciones contenidas en el cuadro de diálogo Opciones, al que se puede tener acceso desde el menú Herramientas).

  • Propiedades que devuelven los objetos de nivel superior, como ActiveCell, ActiveProject, etc.

  • Métodos que actúan en elementos de carácter general de la aplicación, como vistas, selecciones, modificación de acciones, etc.

Uso del objeto Application

Utilice la propiedad Application para devolver un objeto de aplicación en el proyecto. En el siguiente ejemplo se aplica la propiedad Windows al objeto Application.

Application.Windows("Project1.mpp").Activate

Usar Project desde otra aplicación: Enlace en tiempo de ejecución

En el ejemplo siguiente se crea el objeto de aplicación de Microsoft Project en tiempo de ejecución, crea un nuevo proyecto, agrega una tarea, se guarda el proyecto y, a continuación, cierra el proyecto. Por ejemplo, copie y pegue la macro CreateProject_Late al módulo ThisDocument en el Editor de Visual Basic (VBE) de Word.

Nota:

[!NOTA] Dado que la aplicación consulta la biblioteca de tipos de MSProject.Application en tiempo de ejecución, Microsoft IntelliSense no está disponible y el rendimiento es relativamente pobre con el enlace. Lenguajes, como JavaScript y VBScript, requieren el enlace. VBScript admite sólo el genérico Object y Variant tipos de datos. Para un mejor rendimiento en VBA y otros lenguajes compilados, debe utilizar el enlace anticipado estableciendo una referencia a la biblioteca de tipos de proyecto.

Sub CreateProject_Late() 
    Dim pjApp As Object 
    Set pjApp = CreateObject("MSProject.Application") 
    pjApp.Visible = True 
    pjApp.FileNew 
    pjApp.ActiveProject.Tasks.Add "Hang clocks" 
    pjApp.FileSaveAs "Clocks.mpp" 
    pjApp.FileClose 
    pjApp.Quit 
End Sub

Si no establece la propiedad Visible en True, la aplicación Project funciona en segundo plano sin ser visible.

Usar Project desde otra aplicación: Enlace anticipado

El enlace anticipado tiene mejor rendimiento porque carga la biblioteca de tipos en tiempo de diseño. Para utilizar el enlace anticipado, debe establecer una referencia a la aplicación del proyecto de la aplicación que se está trabajando en. Por ejemplo, en el VBE para un documento de Word, haga clic en referencias en el menú Herramientas, desplácese por la lista de Referencias disponibles y, a continuación, seleccione la casilla de verificación Biblioteca de objetos de Microsoft Project 15.0.

En el ejemplo siguiente se abre un proyecto desde otra aplicación, como Excel, agrega una tarea, guarda y cierra el proyecto.

Sub ModifyProject_Early() 
    Dim pjApp As MSProject.Application 
    Set pjApp = New MSProject.Application 
    pjApp.Visible = True 
    pjApp.FileOpen "Clocks.mpp" 
    pjApp.ActiveProject.Tasks.Add "Wind clocks" 
    pjApp.FileSave 
    pjApp.FileClose 
    pjApp.Quit 
End Sub

Comentarios

Importante

Para eventos de nivel de aplicación, registre los controladores de eventos después de establecer Application.Visible = True.

Si crea una instancia de Project desde otra aplicación y registra un evento de nivel de aplicación antes de establecer la propiedad Visible del objeto de aplicación en verdadero, las propiedades y los métodos de los objetos secundarios de Aplicación no funcionan. Por ejemplo, Application.ActiveProject.Name no es accesible.

Muchas de las propiedades y métodos que devuelven los objetos de interfaz de usuario más comunes, como el proyecto activo, representado por la propiedad ActiveProject, pueden utilizarse sin el cualificador del objeto Application. Por ejemplo, en lugar de escribir Application.ActiveProject.Visible = True puede escribir ActiveProject.Visible = True

Eventos

Métodos

Nombre

Propiedades

Nombre

Soporte técnico y comentarios

¿Tiene preguntas o comentarios sobre VBA para Office o esta documentación? Vea Soporte técnico y comentarios sobre VBA para Office para obtener ayuda sobre las formas en las que puede recibir soporte técnico y enviar comentarios.