将任务从一个项目复制到另一个项目

时间:2021-02-01 09:07:46

标签: vba copy-paste ms-project

我是 MS Projects 中 VBA 的新手,所以我有一个非常简单的问题。 我想从 Project1 复制一个任务并在 Project2 中创建一个包含所有字段信息的新任务。

我一次只能弄清楚如何复制一个字段(例如“名称”),但如何复制所有字段?

Sub CopyTask()

Dim source As Project
Dim destination As Project

Set source = Application.Projects("Project1")
Set destination = Application.Projects("Project2")

destination.Tasks.Add.Name = source.Tasks(1).Name
    
End Sub

1 个答案:

答案 0 :(得分:0)

您可以遍历所有字段 (300+) 并逐条传输信息,但使用 EditCopyEditPaste 是最好的方法。

此示例代码从源项目复制第一个任务并将其粘贴到目标项目。 (可选)对目标项目使用 SelectRow 方法来控制其粘贴位置。

Sub CopyTask()

    Dim source As Project
    Dim destination As Project

    Set source = Application.Projects("Project1")
    Set destination = Application.Projects("Project2")

    source.Activate
    SelectRow Row:=1, RowRelative:=False
    EditCopy

    destination.Activate
    EditPaste

End Sub

注意:人们可能认为有一种“更简洁”的方法可以做到这一点,但 Project API 并不像 Excel API 那样全面。

相关问题