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

问题描述

我是 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

解决方法

您可以遍历所有字段 (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 那样全面。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...