尝试从 Excel 文件导入数据时,MS Project 2010 冻结

MS Project 2010 freezes when trying to import data from Excel file

多年来,我一直在使用宏将数据从 .xls 文件导入到 MS Project。问题是,由于未知原因,它只适用于 MS Project 2003。当我在 MS Project 2010 上尝试 运行 它时,在导入过程完成之前的那一刻 MS Project 只是冻结,之后没有任何反应。

更奇怪的是,即使没有宏(如果我尝试使用文件 -> 打开 -> ... 手动导入数据)它仍然不起作用,而在 MS Project 2003 中两种方式工作正常。

在我看来,问题似乎与 VBA 无关,但我将 post 宏放在此处,以便你们无论如何都能看到它。

这里有一些我认为可能很重要的进一步信息:

  1. 我正在使用自定义 mpp 模板。
  2. 我正在使用自定义导入地图。
  3. 我尝试使用 FileOpenEx 方法,但它仍然不起作用。
  4. 我要导入的 .xls 文件包含三个工作表,用于任务、资源和分配。
  5. 我尝试将文件另存为 .xlsx,因为我使用的是较新版本的 Project,但这并没有改变任何内容。
  6. 我认为它最终会失败,因为如果我尝试手动执行它,我可以在 MS Project table 旁边的时间线图表上看到工作是如何显示的。

这是宏:

Dim filename As String

FileNew Template:="", FileNewWorkpane:=True

FileOpen Name:="PATH TO THE TEMPLATE FILE", _
    ReadOnly:=False

FileOpen Name:="PATH TO FILE TO IMPORT", _
    ReadOnly:=False, map:="MY CUSTOM MAPNAME"

filename = "C:\Imported.mpp"

Set fs = CreateObject("Scripting.FileSystemObject")

If fs.FileExists(namedoc) Then

    Dim OldName, NewName
    
    nomfile = 1
    
    OldName = filename: NewName = "C:\Imported old Copy 1.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"

如有任何建议,我们将不胜感激。提前致谢!

问题出在我使用的自定义字段上。我有四个 Outline_Code 列用于存储一些文本信息。

我将它们替换为四个文本字段(Text1、Text2、Text3、Text4),现在数据已导入!