Application.ProjectBeforeTaskChange イベント (Project)
タスク フィールドの値を変更する前に発生します。
構文
式。 ProjectBeforeTaskChange
( _tsk_
, _Field_
, _NewVal_
, _Cancel_
)
expressionApplication オブジェクトを 表す変数。
パラメーター
名前 | 必須 / オプション | データ型 | 説明 |
---|---|---|---|
tsk | 必須 | Task | フィールドが変更されるタスクを指定します。 |
Field | 必須 | 長整数型 (Long) | 変更するフィールドです。 複数のフィールドを変更する場合、変更を行うたびにイベントが発生します。 使用できる定数は、 PjField クラスの定数のいずれかです。 |
NewVal | 必須 | バリアント型 (Variant) | フィールド で指定されるフィールドの新しい値。 |
Cancel | 必須 | Boolean | False イベントが発生します。 イベント プロシージャでこの引数に True を設定する場合は、 フィールド で指定されるフィールドの値は変更されません。 |
注釈
プロジェクトが別のドキュメントまたはアプリケーションに埋め込まれている場合、プロジェクト イベントは発生しません。
ProjectBeforeTaskChange イベントは、タイム スケール データを変更するとき、タスクの詳細フォーム内のデータの制約を変更するとき、基準計画を保存すると、タスク全体の行を貼り付けるとき、リソース共有元で操作するとき、基準計画が消去すると、レベルまたはアウトライン番号をアウトラインに変更すると、ガント チャート] ビューで、タスクのバーを操作することでタスクを分割すると発生しません、挿入またはサブプロジェクトを削除するとき、またはカスタム フォームを使用して変更が行われました。 イベント ハンドラーの作成方法とテスト方法を示すサンプル コードの詳細については、「Application オブジェクトおよび Project オブジェクトでイベントを使用する」を参照してください。
例
次の使用例は、タスクの期間が長くなります、どの程度でユーザーを通知します。 次の使用例では、新しいクラス モジュールと追加のコードに影響を与える必要があります。
Private Sub App_ProjectBeforeTaskChange(ByVal tsk As Task, ByVal Field As PjField, _
ByVal NewVal As Variant, Cancel As Boolean)
Dim TaskDuration As Long
TaskDuration = Val(NewVal) * 480 ' Convert days to minutes
If Field = pjTaskDuration And TaskDuration > tsk.Duration Then
If (TaskDuration - tsk.Duration) \ 480 < 1 Then
MsgBox "The task " & Chr$(34) & tsk.Name & Chr$(34) & " is now " & _
(TaskDuration - tsk.Duration) / 480 & (TaskDuration - tsk.Duration) \ 480 & _
" day(s) longer."
Else
MsgBox "The task " & Chr$(34) & tsk.Name & Chr$(34) & " is now " & _
(TaskDuration - tsk.Duration) / 480 & " day(s) longer."
End If
End If
End Sub
サポートとフィードバック
Office VBA またはこの説明書に関するご質問やフィードバックがありますか? サポートの受け方およびフィードバックをお寄せいただく方法のガイダンスについては、Office VBA のサポートおよびフィードバックを参照してください。