Как найти конкретный идентификатор MS project

#vba #ms-project

Вопрос:

Я хотел бы иметь возможность найти конкретный идентификатор UID в файле MS project. Я нашел приведенный ниже код, но он не работает…Я нашел это в Интернете.

 Sub FindUID()
    Dim T As Task
    Dim Temp_UID As Integer
    Dim UID As Integer
    Dim ID As Integer
    
    ActiveProject.ProjectSummaryTask.Number10 = Application.ActiveSelection.Tasks.Item(1).UniqueID
    
    UID = InputBox("Enter UID", "UID")
    ID = 1
    
    ActiveProject.AutoFilter = True
    
    
    For Each T In ActiveProject.Tasks
        Temp_UID = T.UniqueID
        If Temp_UID = UID Then
            ID = T.ID
        End If
        Debug.Print T.UniqueID
    Next T
    
    If ID <> 1 Then
        SelectRow Row:=ID, RowRelative:=False
    Else
        MsgBox "UID Not Found", vbOKOnly, "Error"
    End If
    
    ActiveProject.AutoFilter = True
    OutlineShowAllTasks
    
    
End Sub
 

Ответ №1:

Чтобы перейти к задаче, используйте метод поиска. Найти можно использовать с любым полем и различными тестами (например, равно, содержит и т. Д.). Например:

 Sub GotoUID()

    ' make sure all tasks are shown
    SummaryTasksShow True
    FilterApply "All Tasks"
    SelectAll
    OutlineShowAllTasks
    SelectBeginning
    
    Dim UID As Integer
    UID = InputBox("Enter UID", "UID")
    
    Find "Unique ID", "equals", UID
    
End Sub