次の方法で共有


Application.ProjectTaskNew イベント (Project)

新しいタスクが作成されたときに発生します。

構文

ProjectTaskNew( _pj_, _ID_ )

expressionApplication オブジェクトを 表す変数。

パラメーター

名前 必須 / オプション データ型 説明
pj 必須 Project タスクが作成されたプロジェクトを指定します。
ID 必須 長整数型 (Long) 作成されたタスクの ID を指定します。

戻り値

Nothing

注釈

VBA を外部からプロジェクト レベルのイベントをトラップすることができます。

次の使用例は、 ProjectTaskNew イベントがプロジェクト レベルのイベントをトラップする方法を示しています。 この例では、 App_ProjectTaskNew イベント ハンドラーは、 変更 イベント ハンドラーを使用して ProjTaskNew のグローバル変数を設定します。 ProjectResourceNew イベントと ProjectAssignmentNew イベントで同様のコードを使用します。

  1. EventClassModule をという名前のクラス モジュールを作成し、次のコードを挿入します。
Option Explicit 
Option Base 1 

Public WithEvents App As Application 
Public WithEvents Proj As Project 

Dim NewTaskIDs() As Integer 
Dim NumNewTasks As Integer 

Dim ProjTaskNew As Boolean 

Private Sub App_ProjectTaskNew(ByVal pj As Project, ByVal ID As Long) 
  NumNewTasks = NumNewTasks + 1 

  If ProjTaskNew Then 
      ReDim Preserve NewTaskIDs(NumNewTasks) As Integer 
  Else 
      ReDim NewTaskIDs(NumNewTasks) As Integer 
  End If 

  NewTaskIDs(NumNewTasks) = ID 

  ProjTaskNew = True 
End Sub 

Private Sub Proj_Change(ByVal pj As Project) 
  Dim NewTaskID As Variant 

  If ProjTaskNew Then 
      For Each NewTaskID In NewTaskIDs 
          MsgBox "New Task Name: " & ActiveProject.Tasks.UniqueID(NewTaskID).Name 
      Next NewTaskID 

      NumNewTasks = 0 

      ProjTaskNew = False 
  End If 
End Sub
  1. 他のモジュールで、次のコードを挿入します。
Option Explicit 

Dim X As New EventClassModule 

Sub Initialize_App() 
  Set X.App = MSProject.Application 
  Set X.Proj = Application.ActiveProject 
End Sub
  1. イベントのリッスンを開始するのには Initialize_App の手順を実行します。

  2. タスクを作成します。 イベント ハンドラーでは、新しいタスクが追加されるたびにメッセージ ボックスが表示されます。

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

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