ms-project как скопировать пользовательские поля ресурса в пользовательские поля задачи - PullRequest
0 голосов
/ 18 февраля 2019

В MS Project (2013) кто-нибудь может показать мне, как скопировать настраиваемое поле ресурса (из вкладки представления ресурсов) в настраиваемое поле задач подпроекта (вкладка представления задач)?Нашел следующее для копирования из поля назначения (представление использования ресурса) в поле задачи, но я не знаю, как обратиться к полю ресурса ...

Sub CopyAssignmentFieldToTask()
Dim t As Task
Dim ts As Tasks
Dim a As Assignment
Set ts = ActiveProject.Tasks
For Each t In ts
If Not t Is Nothing Then
t.Text5 = ""
For Each a In t.Assignments
'change the following line to use
'for a different custom field
t.Text5 = t.Text5 & ", " & a.Text5
Next a
End If
Next t
End Sub

источник: http://zo -d.com/blog/archives/programming/working-with-task-and-assignment-fields-vba.html

edit: большое спасибо Рэйчел ... за будущие ссылки, вот полный ответкоторый перебирает подпроекты:

Sub CopyResourceUnitstoTasksv2()
Dim t As Task
Dim a As Assignment
Dim mProj As Project

Set mProj = ActiveProject
For Each Subproject In mProj.Subprojects
For Each t In ActiveProject.Tasks
    If Not t Is Nothing Then
        For Each a In t.Assignments
            t.Number2 = a.Resource.Number1
        Next a
    End If
Next t
Next Subproject
End Sub

1 Ответ

0 голосов
/ 18 февраля 2019

Объект Назначение имеет свойство Resource , которое возвращает объект Resource :

Sub CopyResourceFieldToTask()
    Dim t As Task
    Dim a As Assignment
    Dim t5 As String
    For Each t In ActiveProject.Tasks
        If Not t Is Nothing Then
            t5 = vbNullString
            For Each a In t.Assignments
                t5 = t5 & ", " & a.Resource.Text5
            Next a
            If Len(t5) > 2 Then
                t.Text5 = Mid(t5, 3)
            Else
                t.Text5 = vbNullString
            End If
        End If
    Next t
End Sub
...