Я уже написал это в Excel с Workbook_BeforSave, и это работает, но в Project я не знаю, как это сделать, потому что это не работает так же. Мне просто нужно, чтобы мой код запускался при сохранении проекта
Private Sub Workbook_Open()
Dim PtjR As Integer
Dim PtjP As Integer
Dim FechaRI As Date
Dim FechaRF As Variant
Dim FechaPI As Date
Dim FechaPF As Date
Dim ListaT As String
Dim ListaTT As String
Dim t As Task
For Each t In ActiveProject.Tasks
If t.Text1 = "Subtarea" Then
FechaPI = DateValue(t.Start)
FechaPF = DateValue(t.Finish)
PtjR = t.PercentComplete
PtjP = Round((DateValue(Now) - FechaPI) / (FechaPF - FechaPI), 2) * 100
If PtjP >= 100 Then
PtjP = 100
ElseIf PtjP < 0 Then
PtjP = 0
Else
PtjP = Round((DateValue(Now) - FechaPI) / (FechaPF - FechaPI), 2) * 100
End If
If PtjR < PtjP Then
ListaT = ListaT & vbNewLine & vbNewLine & "La tarea " & t.Name & " se encuentra en DELATE, lleva " & PtjR & "% y debería llevar" & " " & PtjP & "%."
If FechaPF - DateValue(Now) < 0 Then
ListaT = ListaT & ". Esta tarea debió terminar hace " & -(FechaPF - DateValue(Now)) & " días."
ElseIf FechaPF - DateValue(Now) <= 7 Then
ListaT = ListaT & ". Esta tarea termina en " & FechaPF - DateValue(Now) & " días."
End If
End If
Else
End If
Next t
MsgBox ListaT, vbCritical, "Advertencia"
End Sub