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

MS Project 2010导入Excel数据时程序冻结无响应问题求助

解决方案

1. 重构自定义导入映射

  • 直接在Project 2010环境中新建空白项目,重新手动创建一套完整的导入映射,不要直接沿用从2003版本导出的旧映射。2003到2010的字段底层ID存在兼容性问题,尤其是涉及*分配(Assignment)*类的自定义字段、工时计算字段,旧映射会触发后台字段匹配死循环。
  • 导入时拆分测试:先单独导入任务表、再单独导入资源表、最后单独导入分配表,逐一定位是哪个表的映射规则触发的冻结。

2. 关闭导入阶段的自动计算与实时视图渲染

  • 导入前先修改Project 2010全局配置:点击「文件>选项>日程」,把计算模式改为「手动」,取消勾选「打开项目时自动计算所有项目」。
  • 导入前切换到纯文本的「任务工作表」视图,关闭时间线、甘特图、资源图表等需要实时渲染的视图,你观察到的时间线显示完成后立刻卡顿,大概率是导入最后一步的视图实时重算触发的渲染崩溃,导入完成后再手动触发计算、切回所需视图即可。

3. 调整VBA导入逻辑,修复代码问题

你现有代码缺少2010版本COM接口调用需要的等待逻辑,还存在变量笔误问题,修改后的参考代码如下:

Dim filename As String
' 提前关闭屏幕刷新、自动计算、自动调配,减少卡顿概率
Application.ScreenUpdating = False
Application.Calculation = pjManual
Application.AutoLevel = False

FileNew Template:="", FileNewWorkpane:=False ' 关闭新建任务窗格,减少不必要加载
FileOpen Name:="PATH TO THE TEMPLATE FILE", ReadOnly:=False
DoEvents ' 等待模板完全加载
' 增加模板加载完成校验,避免后续操作提前触发
While Application.ActiveProject Is Nothing
    DoEvents
Wend

' 导入数据时指定合并参数,避免导入文件直接替换当前打开的模板
FileOpenEx Name:="PATH TO FILE TO IMPORT", ReadOnly:=False, Map:="MY CUSTOM MAPNAME", Merge:=pjMerge
DoEvents
' 等待导入完成再执行后续保存逻辑
While Application.ActiveProject.Tasks.Count = 0 And Application.ActiveProject.Resources.Count = 0
    DoEvents
Wend

filename = "C:\Imported.mpp"
Set fs = CreateObject("Scripting.FileSystemObject")
' 修复原代码的变量笔误:原代码写的namedoc是未定义变量,会导致判断逻辑失效
If fs.FileExists(filename) Then
    Dim OldName, NewName, nomfile As Integer
    nomfile = 1
    OldName = filename
    NewName = "C:\Imported old Copy " & nomfile & ".mpp"
    While fs.FileExists(NewName)
        nomfile = nomfile + 1
        NewName = "C:\Imported old Copy " & nomfile & ".mpp"
    Wend
    Name OldName As NewName
End If

FileSaveAs Name:="C:\Imported.mpp", FormatID:="MSProject.MPP"
' 恢复原有配置
Application.ScreenUpdating = True
Application.Calculation = pjAutomatic
Application.AutoLevel = True

4. 排查Excel源文件的异常数据

  • 检查分配表中是否存在无效的任务ID、资源ID,比如引用了不存在的任务/资源,2003对这类错误会自动忽略,2010会触发循环校验导致崩溃。
  • 检查所有工时、日期字段是否有非法值,比如日期超出Project支持的范围(1984年之前或者2149年之后)、工时为负数等。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 07:57:02