摘要
- 文章編號:20050305
- 投稿日期:2005/02/25
- 作者:董世尊、廖韋傑、陳冠廷、陳雅鳳、廖韋傑
- 備註:
Microsoft Project 物件模型大局觀(摘自Microsoft Project Online Help)
Microsoft Project物件模型重要類別:
Project為代表Microsoft Project中之「專案」的類別,Projects為Project的集合物件;使用
Projects(Index),可以傳回單一的 Project 物件,其中 Index
是專案的索引號碼或專案的名稱。下面範例在所有開啟的專案之間切換,並記憶每個專案的全名,然後顯示結果。
Dim Temp As Long, Names As String
For Temp = 1 To Projects.Count
Projects(Temp).Activate
Names = Names & Projects(Temp).FullName & vbCrLf
Next Temp
MsgBox Names
代表一個任務或多個任務。Task 物件是 Tasks 集合物件的一個成員。使用 Tasks(Index),可以傳回單一的 Task 物件,其中 Index 是任務的索引號碼或任務的名稱。下面範例列印使用中專案裡每個任務分派到的資源名稱。
Dim Temp As Long, A As Assignment
Dim TaskName As String, Assigned As String, Results As String
For Temp = 1 To ActiveProject.Tasks.Count
TaskName = "Task: " & ActiveProject.Tasks(Temp).Name & vbCrLf
For Each A In ActiveProject.Tasks(Temp).Assignments
Assigned = A.ResourceName & ListSeparator & " " & Assigned
Next A
Results = Results & TaskName & "Resources: " & _
Left$(Assigned, Len(Assigned) - Len(ListSeparator & " ")) & vbCrLf & vbCrLf
TaskName = ""
Assigned = ""
Next Temp
MsgBox Results
代表一個或多個資源。Resource 物件是 Resources 集合物件的一個成員。
使用 Resources(Index),可以傳回單一的 Resource 物件,其中 Index 是資源的索引號碼或資源的名稱。下面範例列出使用中專案所有資源的名稱。
Dim R As Long, Names As String
For R = 1 To ActiveProject.Resources.Count
Names = ActiveProject.Resources(R).Name & ", " & Names
Next R
Names = Left$(Names, Len(Names) - Len(ListSeparator & " "))
MsgBox Names