【问题标题】:MSP resource assignment issue using vba使用 vba 的 MSP 资源分配问题
【发布时间】:2020-07-01 07:10:46
【问题描述】:

我正在开发大量宏来从 MSP 文件和 Excel 文件中读取工作负载数据,以更新总体规划和资源池(都是 MSP)。

我的 Excel 文件都有相同的模板和列表任务、开始日期、结束日期和分配的资源,看起来像这样

任务由宏创建,包含开始日期和结束日期。这部分工作正常。甚至大纲级别也可以正常工作。

宏读取 Excel 的第 12 列中的数据以获取资源名称(存储在一个数组中)并与资源池中列出的名称交叉检查名称(存储在第二个数组 ResPoolArr 以及相应的 ID 中)。

我的问题是 Ta.Assignments.Add ResourceID:=ResPoolArr(RowResPoolArr, 1), Units:=1 在我获得有效 ID 时返回“资源不存在”错误(例如 ResPoolArr(RowResPoolArr, 1) = 50)

我还尝试了另一种方法,使用 Ta.Resources.Add(),但它也不起作用。

【问题讨论】:

  • 你可以尝试构建minimal reproducible example吗?
  • 1) 为什么strs前和Next后都有*? 2) 某些关键字没有大写(tasks, id),这表明该属性可能无法正确识别。对于注入,最好在 MS Project 中创建代码,以便对其进行全面测试,然后将其移动到将要注入的文本文件中。
  • 另外,请尝试:Set ResAs = ta.Assignments.Add(ResourceID:=Proj.Resources(assign(0)).ID)。

标签: vba ms-project


【解决方案1】:

Ta.Assignments.Add Ta.id, ResPoolArr(RowResPoolArr, 1) 工作并解决了我的问题

【讨论】:

    猜你喜欢
    • 2011-10-25
    • 1970-01-01
    • 1970-01-01
    • 2018-03-01
    • 1970-01-01
    • 1970-01-01
    • 2018-11-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多