目前我的 excel 中有 4 列,即(ID 列可以忽略)
| ID | 任務名稱 | 資源名稱 | 前輩 |
|---|---|---|---|
| 1 | 任務1 | 員工1 | 2 |
| 2 | 子任務1 | 員工2 | |
| 3 | 任務2 | 員工1 | 4,5 |
| 4 | 子任務2 | 員工2 | |
| 5 | 子任務3 | 員工2 |
我希望在我的 Excel 中創建一個宏按鈕,以將內容直接匯出到 MS Project 中。我只能在網路上找到有關僅傳輸任務的共享。有人可以幫助我嗎?真的很感激。
我現有的代碼(歸功于#madschedules),其中僅包含任務。
Sub createNewMSPFromExcelData()
' First go turn on the MS Project reference library
' Declare variables
Dim pjApp As MSProject.Application
Dim pjProject As MSProject.Project
Dim pjtasklist As MSProject.Tasks
Dim pjtask As MSProject.Task
'Dim pjpredlist As MSProject.TaskDependencies
'Dim pjpredlist As TaskDependencies
Dim pjpred As TaskDependency
Dim xlrange As Range
Dim xlrow As Long
Dim counter As Integer
'open MS Project application
Set pjApp = New MSProject.Application
pjApp.Visible = True
' Add a new project file
Set pjProject = pjApp.Projects.Add
Set pjtasklist = pjProject.Tasks
'Loop through all the Excel Data in the worksheet
counter = 2
Do Until Cells(counter, 1) = ""
Debug.Print Cells(counter, 1).Value & " " & Cells(counter, 2).Value & " " & Cells(counter, 3).Value
' Add new task into MS Project from Excel Value
pjtasklist.Add (Cells(counter, 2).Value)
pjpred.Add (Cells(counter, 3).Value)
counter = counter 1
Loop
MsgBox ("There are " & pjtasklist.Count & vbNewLine & _
" tasks in our new project")
End Sub

最后,這里是將上面的表格變成時間表的代碼:
Sub createNewMSPFromExcelData()
Dim pjApp As MSProject.Application
Dim pjProject As MSProject.Project
Dim pjtasklist As MSProject.Tasks
Dim pjtask As MSProject.Task
Dim counter As Integer
Set pjApp = New MSProject.Application
pjApp.Visible = True
Set pjProject = pjApp.Projects.Add
Set pjtasklist = pjProject.Tasks
counter = 2
Do Until Cells(counter, 1) = ""
Set pjtask = pjtasklist.Add(Cells(counter, 2).Value)
pjtask.ResourceNames = Cells(counter, 3).Value
pjtask.Predecessors = Cells(counter, 4).Value
pjtask.OutlineLevel = Cells(counter, 5).Value
counter = counter 1
Loop
MsgBox ("There are " & pjtasklist.Count & vbNewLine & _
" tasks in our new project")
End Sub
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/458961.html
上一篇:ExcelVBA拼寫檢查太慢了
下一篇:VBA陣列字串匹配
