Application オブジェクト (Project)

Project アプリケーション全体を表します。 Application オブジェクトには次のものが含まれます。

  • アプリケーション全体にわたる設定およびオプション ([ツール] メニューの [オプション] ダイアログ ボックスのオプションなど)。

  • 最上位レベルのオブジェクトを取得するプロパティ (ActiveCellActiveProject など)。

  • アプリケーション全体にわたる要素で操作を実行するメソッド (表示、選択、編集操作など)。

Application オブジェクトの使い方

Application プロパティ を使用 して、アプリケーション 内の Application オブジェクトをProject。 次の使用例は、Application オブジェクトに対して Windows プロパティを使用します。

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

別のアプリケーションから Project を使用する: 遅延バインド

次の使用例は、実行時に Microsoft Project の Application オブジェクトを作成し、新しいプロジェクトの作成、タスクの追加、プロジェクトの保存を行った後、Project を閉じます。 たとえば、Word の CreateProject_Lateエディター (VBE) の ThisDocument モジュールに、Visual Basicマクロをコピーして貼り付けます。

注意

アプリケーションは実行時にのみ MSProject.Application タイプ ライブラリにクエリを実行しますので、Microsoft IntelliSense は使用できません。遅いバインドではパフォーマンスが比較的低下します。 JavaScript や VBScript などのスクリプト言語では、遅いバインドが必要です。 VBScript では、汎用の Object データ型と Variant データのみを サポートしています。 VBA および他のコンパイル済み言語のパフォーマンスを向上するには、初期バインドを使用して、ライブラリタイプ ライブラリへの参照Projectする必要があります。

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アプリケーションは表示されることなくバックグラウンドで動作します。

別のアプリケーションから Project を使用する: 事前バインド

事前バインドは設計時にタイプ ライブラリを読み込むため、パフォーマンスは高くなります。 事前バインドを使用するには、作業中のアプリケーションから Project アプリケーションへの参照を設定する必要があります。 たとえば、Word ドキュメントの VBE で、[ツール] メニューの[参照] をクリックし、[利用可能な参照] リストをスクロールし、[Microsoft Project 15.0 オブジェクト ライブラリ] チェック ボックスをオンにします。

次の使用例は、プロジェクトを別のアプリケーション (Excelなど) から開き、タスクを追加し、プロジェクトを保存して閉じます。

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

解説

重要

アプリケーション レベルのイベントの場合は、設定後に イベント ハンドラーを 登録します Application.Visible = True

Application オブジェクトの Visible プロパティを True に設定する前に、別のアプリケーションから Project をインスタンス化して、アプリケーション レベルのイベントを登録すると、Application オブジェクトの子オブジェクトのプロパティとメソッドが機能しません。 たとえば、Application.ActiveProject.Name にはアクセスできません。

ActiveProject プロパティで表されるアクティブ なプロジェクトなど、最も一般的なユーザー インターフェイス オブジェクトを返すプロパティとメソッドの多くは 、Application オブジェクト修飾子なしで使用できます。 たとえば、書き込みではなく Application.ActiveProject.Visible = True 、書き込み可能 ActiveProject.Visible = True

イベント

メソッド

名前

プロパティ

名前

サポートとフィードバック

Office VBA またはこの説明書に関するご質問やフィードバックがありますか? サポートの受け方およびフィードバックをお寄せいただく方法のガイダンスについては、Office VBA のサポートおよびフィードバックを参照してください。