#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