首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >ms-project如何将资源自定义域复制到任务自定义域

ms-project如何将资源自定义域复制到任务自定义域
EN

Stack Overflow用户
提问于 2019-02-19 00:19:47
回答 1查看 329关注 0票数 1

在MS Project (2013)中,有人可以演示如何将资源自定义域(从资源视图选项卡)复制到子项目任务的自定义域(任务视图选项卡)?我发现以下内容要从分配字段(资源使用情况视图)复制到任务字段,但我不知道如何对资源字段进行寻址...

代码语言:javascript
运行
复制
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

编辑:非常感谢瑞秋。对于将来的ref,这里是循环通过子项目的完整答案:

代码语言:javascript
运行
复制
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
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-02-19 02:54:01

Assignment对象具有返回Resource对象的Resource属性:

代码语言:javascript
运行
复制
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
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54751416

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档