我是第一次使用MPP文件的VB开发人员。
我的代码从Excel读取数据并成功写入一些列和行的mpp文件。
1)如何选择MPP文件中的单个单元格,因为我有一个场景,我将与下一个行单元格进行比较并进行一些操作
2)为什么我们在mpp文件中没有自定义列(如计算机名,光盘名等),它给出了错误
3)如何缩进单元格使一个单元格成为其他单元格下面的其他单元格,它应该遍历循环
删除所有任务的代码
For Each oSubTasks In oTasks
If Not oSubTasks Is Nothing Then
oSubTasks.Delete
End If
Next oSubTasks
获取列值的代码
For Each oSubTasks In oTasks
'if the frist row is blank
If oSubTasks.GetField(FieldNameToFieldConstant("Duration")) = "" Then Exit For
If oSubTasks.GetField(FieldNameToFieldConstant("Duration")) <> "" Then
Mpplastrow = Mpplastrow + 1
End If
Next oSubTasks
自定义列的代码获取错误
If oSubTasks.GetField(FieldNameToFieldConstant("computer name")) = sh1.Cells(rw, primecol).Value Then
' oTask.SetField FieldID:=oApp.FieldNameToFieldConstant("computer name"), Value:=sh1.Cells(rw, primecol).Value
'Else
' oTask.SetField FieldID:=oApp.FieldNameToFieldConstant("computer name"), Value:=sh1.Cells(rw, primecol).Value
'End If
答案 0 :(得分:0)
要阅读每个MSP任务的缩进级别,并且能够在内部(或外部)缩进,请尝试类似下面的代码:
Option Explicit
Sub IndentTasks()
Dim Tsk As Task
For Each Tsk In ThisProject.Tasks
Select Case Tsk.OutlineLevel '<-- read the current taks Outline Level
Case 1
If Tsk.ID <> 1 Then
Tsk.OutlineIndent '<-- indent inside (to the right)
End If
Case Is > 6 '<-- don;t want your Project to be too indented inside
Tsk.OutlineOutdent '<-- indent outside (to the left)
End Select
Next Tsk
End Sub