首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >VBA -从Excel向MS项目添加任务

VBA -从Excel向MS项目添加任务
EN

Stack Overflow用户
提问于 2015-01-21 21:26:33
回答 1查看 4.3K关注 0票数 2

我目前正在使用VBA从Excel工作表中打开MS-Project中的一个项目。我还添加了任务,日期,持续时间和一些更多的数据。

我的问题是,当我添加一个新任务时,该任务的默认开始时间不是项目中定义的时间(上午7:00),而是00:00。下面是我使用的代码:

代码语言:javascript
运行
复制
'Collect data
strValue = Worksheets("Display").Range("B" & i)
strStartDate = Worksheets("Display").Range("G" & i)
strEndDate = Worksheets("Display").Range("G" & i)
Strresource = Worksheets("Display").Range("C" & i)
DurTim = CDec(Worksheets("Display").Range("E" & i))
ActDurTim = CDec(Worksheets("Display").Range("F" & i))

'Define project defaults
newproj.DefaultStartTime = "7:00"
newproj.DefaultFinishTime = "16:00"
newproj.HoursPerDay = "7"

'Enter data to task
newproj.Tasks.Add (strValue)
'Check for milestone
If Worksheets("Display").Range("H" & i) = "Y" Then
    newproj.Tasks(i - 6).Milestone = False
End If
newproj.Tasks(i - 6).Start = strStartDate
newproj.Tasks(i - 6).Duration = DurTim & " hours"
newproj.Tasks(i - 6).ActualDuration = ActDurTim & "hours"
If i <> 7 Then
    newproj.Tasks(i - 6).Predecessors = newproj.Tasks(i - 6 - 1)
End If
If Not ExistsInCollection(newproj.Resources, Strresource) Then _
newproj.Resources.Add.Name = Strresource
newproj.Tasks(i - 6).ResourceNames = Strresource

我试图在任务的Ms-Project对象和项目本身中寻找解决方案,但没有成功。任何帮助都会感激不尽。

EN

回答 1

Stack Overflow用户

发布于 2015-01-27 07:40:49

当您通过代码设置任务的Start属性时,您实际上是在设置约束日期和约束类型,以便驱动计算的开始字段。并且所提供的日期具有显式(例如1/26/2015 3:25 PM)或隐式(例如1/26/2015 12:00 AM)的时间部分。

另一方面,如果您在用户界面中键入开始日期,并且没有提供时间组件,则会将默认开始时间添加到该日期以创建约束日期。

您在任务的“开始”域中实际看到的内容取决于Microsoft Project用来计算日期的以下因素:约束、前置任务/后续任务和日历(项目、任务和资源)。

从您报告的情况来看,您的项目日历似乎设置为7d24小时或类似的日历,其工作时间从午夜开始。因此,当您通过代码设置开始日期时,将添加一个带有午夜开始时间的限制日期,并且由于项目日历将该日期作为工作时间,因此任务在午夜开始。

如果要模拟设置开始日期的用户界面方法,请使用SetField方法:

代码语言:javascript
运行
复制
newproj.Tasks(i - 6).SetField pjTaskStart, strStartDate
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28068425

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档