Объект Application (Project)Application object (Project)

Представляет приложение для всего проекта.Represents the entire Project application. Объект Application содержит:The Application object contains:

  • Параметры и параметры на уровне приложения (например, многие из параметров в диалоговом окне " Параметры " меню " Сервис ").Application-wide settings and options (many of the options in the Options dialog box on the Tools menu, for example).

  • Свойства, возвращающие объекты верхнего уровня, такие как активецелл, активепрожекти т. д.Properties that return top-level objects, such as ActiveCell, ActiveProject, and so forth.

  • Методы, которые действуют на элементы на уровне приложения, такие как представления, выборки, действия редактирования и т. д.Methods that act on application-wide elements, such as views, selections, editing actions, and so forth.

Использование объекта ApplicationUsing the Application Object

Чтобы вернуть объект Application в Project, используйте свойство Application .Use the Application property to return an Application object in Project . В приведенном ниже примере применяется свойство Windows к объекту Application.The following example applies the Windows property to the Application object.

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

Использование Project из другого приложения: позднее связываниеUsing Project From Another Application: Late Binding

В следующем примере создается объект приложения Microsoft Project во время выполнения, создается новый проект, добавляется задача, сохраняется проект, а затем проект закрывается.The following example creates the Microsoft Project Application object at run time, creates a new project, adds a task, saves the project, and then closes the Project . Например, скопируйте и вставьте CreateProject_Late макрос в модуль ThisDocument в РЕДАКТОРЕ Visual Basic (VBE) Word.For example, copy and paste the CreateProject_Late macro to the ThisDocument module in the Visual Basic Editor (VBE) of Word.

Примечание

Так как приложение запрашивает библиотеку типов мспрожект. Application только во время выполнения, Microsoft IntelliSense недоступно и производительность относительно плохо привязывание.Because the application queries the MSProject.Application type library only at run time, Microsoft IntelliSense is not available and performance is relatively poor with late binding. Для языков сценариев, таких как JavaScript и VBScript, требуется позднее связывание.Scripting languages, such as JavaScript and VBScript, require late binding. VBScript поддерживает только типы данных Generic и Variant .VBScript supports only the generic Object and Variant data types. Для повышения производительности VBA и других компилируемых языков следует использовать раннее связывание, задав ссылку на библиотеку типов проектов.For better performance in VBA and other compiled languages, you should use early binding by setting a reference to the Project type library.

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

Если свойству Visible не присвоено значение true, приложение Project будет работать в фоновом режиме без отображения.If you do not set the Visible property to True, the Project application operates in the background without being visible.

Использование Project из другого приложения: раннее связываниеUsing Project From Another Application: Early Binding

Раннее связывание имеет лучшую производительность, так как во время разработки загружается библиотека типов.Early binding has better performance because it loads the type library at design time. Чтобы использовать раннее связывание, необходимо задать ссылку на приложение Project из приложения, в котором вы работаете.To use early binding, you must set a reference to the Project application from the application you are working in. Например, в редакторе VBE для документа Word выберите пункт ссылки в меню Сервис , прокрутите список Доступные ссылки , а затем выберите элемент Библиотека объектов Microsoft Project 15,0 .For example, in the VBE for a Word document, click References on the Tools menu, scroll through the Available References list, and then choose the Microsoft Project 15.0 Object Library checkbox.

Следующий пример открывает проект из другого приложения, например Excel, добавляет задачу, а затем сохраняет и закрывает проект.The following example opens a project from another application such as Excel , adds a task, and then saves and closes the project.

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

ПримечанияRemarks

Важно!

Для событий уровня приложения Зарегистрируйте обработчики событий после установки Application.Visible = True.For application-level events, register event handlers after you set Application.Visible = True.

Если вы создадите экземпляр Project из другого приложения и зарегистрируете какое-либо событие уровня приложения до того как присвоите свойству Visible объекта Application значение True, свойства и методы дочерних объектов объекта Application не будут работать.If you instantiate Project from another application and register an application-level event before setting the Visible property of the Application object to True, the properties and methods of child objects of Application do not work. Например, свойство Application.ActiveProject.Name будет недоступно.For example, Application.ActiveProject.Name is not accessible.

Многие свойства и методы, возвращающие наиболее распространенные объекты пользовательского интерфейса, такие как активный проект, представленные свойством активепрожект , можно использовать без квалификатора объекта Application .Many of the properties and methods that return the most common user-interface objects, such as the active project—represented by the ActiveProject property—can be used without the Application object qualifier. Например, вместо записи Application.ActiveProject.Visible = True можно написатьActiveProject.Visible = TrueFor example, instead of writing Application.ActiveProject.Visible = True you can write ActiveProject.Visible = True

СобытияEvents

МетодыMethods

ИмяName

СвойстваProperties

ИмяName

Поддержка и обратная связьSupport and feedback

Есть вопросы или отзывы, касающиеся Office VBA или этой статьи?Have questions or feedback about Office VBA or this documentation? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.Please see Office VBA support and feedback for guidance about the ways you can receive support and provide feedback.