首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在MPP中创建一个自定义日历,并在两个日期之间取一个工作日差异?

如何在MPP中创建一个自定义日历,并在两个日期之间取一个工作日差异?
EN

Stack Overflow用户
提问于 2017-12-21 21:28:12
回答 2查看 396关注 0票数 0

是否有方法在Microsoft中复制/创建VBA中的日历(或从MPP日历中读取),然后使用该日历计算两个日期之间的工作日差异(持续时间)?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-12-21 22:20:28

Microsoft有一个函数DateDifference,它包含三个参数:开始日期、完成日期和日历。您需要传递它calendar对象,而不是日历的字符串名称。返回值是工作分钟数,因此除以适当的数量获得小时数,通常为480小时(8小时* 60分钟)。

例如,根据项目日历,这将给出12月份的工作日数。

代码语言:javascript
复制
Application.DateDifference("12/1/17","12/31/17", ActiveProject.Calendar) / 480

这是相关的MSDN文章。

票数 0
EN

Stack Overflow用户

发布于 2017-12-21 21:38:53

如果你的日历是标准的(从周一到周五每周工作5天),你可以创建你自己的功能,比如:

代码语言:javascript
复制
Function Workdays(Start_Date As Date, End_Date As Date) AS Integer
    Dim Temp_Delta As Integer, X As Integer, Y As Integer
    Temp_Delta = End_Date - Start_Date
    Temp_Delta = 5 * (Temp_Delta \ 7)
    X = Weekday(End_Date, vbMonday)
    Y = Weekday(Start_Date, vbMonday)
    If X > 5 Then X = 5
    If Y > 5 Then Y = 5
    Temp_Delta = Temp_Delta + X - Y
    Workdays = Temp_Delta
End Function
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47932944

复制
相关文章

相似问题

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