【发布时间】:2019-07-18 19:33:36
【问题描述】:
在 Excel 工作表中,我正在使用 VBA 遍历 MS Project 文件中的任务。
我发现我的代码运行良好,直到我遇到一个没有名称但错误让我感到困惑的 MS Project 任务。当我删除这些未命名的任务时,错误就消失了。
我尝试添加一个 if 语句:If prj.Tasks(i).UniqueID Is Nothing Then 来捕获此错误,但我收到了一个 Type mismatch 错误。
Dim i As Integer
Dim TaskID As Long
Dim ExcelRow As Integer
For i = 1 To prj.Tasks.Count
TaskID = prj.Tasks(i).UniqueID 'This line is highlighted when I debug
ExcelRow = GetRowByUniqueID(TaskID)
Debug.Print ExcelRow
我的错误是未设置对象变量(错误 91)。我对此感到困惑,因为我的印象是所有任务都有一个唯一的 ID。当我在 Microsoft Project 中打开 .mpp 文件时,我可以看到任务没有名称,但在唯一 ID 列中具有唯一 ID。
编辑:我刚刚意识到这不是prj.Tasks(i).UniqueID 的问题,而是prj.Tasks(i) 的问题。 i在Task数量范围内,怎么可能不设置这个变量?
【问题讨论】:
标签: excel vba ms-project