Application.ProjectTaskNew イベント (Project)
新しいタスクが作成されたときに発生します。
構文
式。 ProjectTaskNew
( _pj_
, _ID_
)
expressionApplication オブジェクトを 表す変数。
パラメーター
名前 | 必須 / オプション | データ型 | 説明 |
---|---|---|---|
pj | 必須 | Project | タスクが作成されたプロジェクトを指定します。 |
ID | 必須 | 長整数型 (Long) | 作成されたタスクの ID を指定します。 |
戻り値
Nothing
注釈
VBA を外部からプロジェクト レベルのイベントをトラップすることができます。
例
次の使用例は、 ProjectTaskNew イベントがプロジェクト レベルのイベントをトラップする方法を示しています。 この例では、 App_ProjectTaskNew イベント ハンドラーは、 変更 イベント ハンドラーを使用して ProjTaskNew のグローバル変数を設定します。 ProjectResourceNew イベントと ProjectAssignmentNew イベントで同様のコードを使用します。
- 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
- 他のモジュールで、次のコードを挿入します。
Option Explicit
Dim X As New EventClassModule
Sub Initialize_App()
Set X.App = MSProject.Application
Set X.Proj = Application.ActiveProject
End Sub
イベントのリッスンを開始するのには Initialize_App の手順を実行します。
タスクを作成します。 イベント ハンドラーでは、新しいタスクが追加されるたびにメッセージ ボックスが表示されます。
サポートとフィードバック
Office VBA またはこの説明書に関するご質問やフィードバックがありますか? サポートの受け方およびフィードバックをお寄せいただく方法のガイダンスについては、Office VBA のサポートおよびフィードバックを参照してください。