【发布时间】:2022-07-08 00:33:59
【问题描述】:
我的工作簿中有四列。例如ID 列可以忽略。
| ID | Task Name | Resource Names | Predecessors |
|---|---|---|---|
| 1 | Task1 | Employee1 | 2 |
| 2 | SubTask1 | Employee2 | |
| 3 | Task2 | Employee1 | 4,5 |
| 4 | SubTask2 | Employee2 | |
| 5 | SubTask3 | Employee2 |
我希望创建一个 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
为了回答前人的问题,我目前正在做一个涉及多层次的电子原理图设计项目。因此,要在层次结构上工作,我需要确保在进行下一个层次之前完成子层次结构的活动,因此我将前辈的详细信息从原理图导出到 Excel 中。
【问题讨论】:
-
我不确定如何在 MS Project 的“资源名称”和“前身”中定义内容。它目前仅适用于任务。顺便说一句,我不是脚本人,主要是在网上搜索一些想法并尝试启用它:)。谢谢
标签: excel vba import export ms-project