You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

MSProject使用VBA为Duration字段赋值不符合预期问题咨询

问题根因

MS Project 中Task.Duration属性的内部存储单位为分钟,而非用户默认预期的天。你直接将数值14赋值给该字段时,等价于设置工期为14分钟。
按照默认项目配置(1个工作日=8小时)折算为天单位:14 ÷ (8×60) ≈ 0.029,四舍五入后就会显示为你看到的0.03天,和数据类型本身没有关联。

正确赋值方案
  • 方案1:固定换算系数(仅适用于项目工作日时长固定的场景)
    若确认项目始终按每天8小时配置,可直接按单位换算后赋值:
    Tsk.Duration = rate1 * 8 * 60 ' 1天=8小时=480分钟
    
  • 方案2:调用内置转换方法(兼容性更强)
    使用Application.DurationValue方法直接识别带单位的工期数值,不受项目工作日配置规则影响:
    Tsk.Duration = Application.DurationValue(CStr(rate1) & "d")
    

内容的提问来源于stack exchange,提问作者sivan ran

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.06 05:06:01