Мне нужно запустить код при сохранении проекта - PullRequest
0 голосов
/ 24 октября 2019

Я уже написал это в 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

1 Ответ

0 голосов
/ 25 октября 2019

События MS Project работают так же, как в Excel. Попробуйте событие Project BeforeSave или Project Open .

В VB Editor откройте модуль для ThisProject, выберите Project в левом раскрывающемся списке в верхней части окна кода, затем выберите событие, которое вы хотите использовать, из правой капливниз список. Это создаст процедуру для обработчика событий;добавьте туда свой код.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...