Project.Open イベントを使用する

Microsoft Office Project 2007 では AutoOpen マクロはサポートされなくなりました。代わりに、Project.Open イベントを使用できます。Microsoft Office Project Server 2007 に接続しているかどうかによって、異なる Project_Open イベント ハンドラを実行できます。

Visual Basic Editor の左側のウィンドウですべてのノードを展開し、各プロジェクトの ThisProject オブジェクトの場所を表示します。次のそれぞれのノードの ThisProject オブジェクトに異なる Project_Open イベント ハンドラを使用することができます。

  • VBAProject (プロジェクト名.mpp) プロジェクトを開くときに各プロジェクトで実行する Project_Open イベント ハンドラを保存できます。Project Server に接続してもしなくても構いません。プロジェクトはローカル コンピュータ、ファイル共有、Windows SharePoint Services の Shared Documents ライブラリ、または Project Server に保存できます。

  • ProjectGlobal (Global.MPT) グローバル テンプレート内の Project_Open イベント ハンドラが実行されるのは、Project Server に接続せずに、ローカル コンピュータ、ファイル共有、または Windows SharePoint Services の Shared Documents ライブラリに保存されたプロジェクトを開く場合のみです。以下のコード例では、Project を起動したときと、プロジェクトを開いたときに、それぞれ異なるメッセージを表示します。

    Sub Project_Open(ByVal pj As Project)
        If (pj Is Nothing) Then
            MsgBox "Called Project_Open from Global.MPT."
        Else
            MsgBox "Global.MPT: Opened project: " & pj.Name
        End If
    End Sub
    
  • VBAProject (グローバル (+ エンタープライズのキャッシュなし)) エンタープライズ プロジェクト テンプレート内の Project_Open イベント ハンドラが実行されるのは、Project Server に接続してプロジェクトを開く場合のみです。プロジェクトはローカル コンピュータ、ファイル共有、Windows SharePoint Services の Shared Documents ライブラリ、または Project Server に保存されているものを使用できます。以下のコードは前の例と似ていますが、エンタープライズ グローバル テンプレートからさまざまなメッセージを表示します。

    Sub Project_Open(ByVal pj As Project)
        If (pj Is Nothing) Then
            MsgBox "Called Project_Open from EGlobal."
        Else
            MsgBox "EGlobal: Opened project: " & pj.Name
        End If
    End Sub
    

参照

その他の技術情報

カスタム プロジェクト ガイドの変更