【问题标题】:MS Project VSTO: Faster way to read resource assignmentsMS Project VSTO:更快地读取资源分配
【发布时间】:2014-01-17 12:20:07
【问题描述】:

我希望能够使用 VSTO 阅读 MS Project 中任务的资源分配(每天)

MS Project VSTO 为我们提供了 TimeScaleValues API,让我们可以读取任务的资源分配。然后我们可以使用循环来迭代每一天。

这样做的问题是,对于每个任务的开始和结束日期跨越数月的 WBS,它会导致严重的减速(很多天来迭代 x 个任务 x 每个任务的资源数)。

我想知道是否有更快的 API 来回读所有分配,这可能会将每天为给定任务的资源分配的小时数以逗号分隔的列表形式返回?

【问题讨论】:

    标签: vsto ms-project


    【解决方案1】:

    我认为您正在使用唯一可用的 APi 来做您需要的事情,但这里有一些提示(您可能已经在做)来优化性能:

    • 在针对一项任务遍历所有分配之前,请检查您要分析的值(例如工作值)对于该任务是否不为零。如果它是零,那么您不需要遍历单个分配。
    • 在获取 assignment 的时间分段值之前,请检查 assignment.work 是否不为零。如果它为零,那么您知道所有时间分段值也将为零,因此无需循环遍历时间分段值。
    • 确保在作业开始日期和结束日期之间进行时间调整。这将最大限度地减少 API 循环的周期数。

    已尽可能优化它,但我仍然觉得它是一项缓慢的工作,因此我确保有一个进度条/状态更新,以便在执行时让用户了解情况。

    不是您要找的答案,但希望对您有所帮助。

    【讨论】:

    • 是的,我遵循上述大部分规则,并且确实在辅助线程上显示了一个进度对话框。我已向 MS Project 团队提出请求,看看他们是否可以提供更快/更好的方式来执行此操作,并希望他们能提出更好的 API。
    • 对不起,我帮不上忙,但请告诉我们您的进展情况。
    猜你喜欢
    • 1970-01-01
    • 2021-07-07
    • 1970-01-01
    • 1970-01-01
    • 2019-03-11
    • 2011-08-23
    • 1970-01-01
    • 2014-05-14
    • 1970-01-01
    相关资源
    最近更新 更多