vba - 将任务从一个项目复制到另一个项目
问题描述
我是 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+) 并逐段传输信息,但使用EditCopy和EditPaste是最好的方法。
此示例代码从源项目复制第一个任务并将其粘贴到目标项目。可以选择在目标项目上使用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 那样全面。
推荐阅读
- wcf - 工作组上的 WCF
- django - Django JSONField 嵌套大于操作
- vim - 对于 Vim,有没有像 Rails Inflector 这样的插件可以帮助我操作字符串?
- reactjs - 反应从外部脚本添加动画交互式背景
- python - scrapy 响应与页面源完全不同
- python - 在 pytest 函数中使用 subprocess.run() 会导致任何测试问题吗?
- python - Postgres“CREATE TABLE AS(SELECT ...)”卡住了
- powershell - 无法使用空组捕获工作站详细信息
- flutter - 检测设备是否会在 Flutter 中显示软键盘
- reactjs - 反应打字稿和孩子