自动化 Ms-Project 导入向导

Automating Ms-Project Import Wizard

在 .NET 应用程序中,我使用 Microsoft.Office.Interop.MSProject 库自动将数据写入 Ms-Project .Mpp 文件。有成千上万的任务和资源分配需要创建,使用Assignments.Add这样的方法创建它们需要很长时间,总共需要 10 分钟。

在下面link中,有一个非常相似的问题,答案提到将数据导入 MS-Project 文件的最快方法是创建地图并使用“项目导入向导”。答案添加后 Automating the Wizard 是另一个主题,需要另一个问题,所以这就是那个问题;如果我创建地图并在 Excel 或 CSV 文件上创建数据,我如何自动化项目导入向导,以便它使用特定地图从该文件导入数据,而无需用户手动干预。

编辑:

只要地图存储在 global.mpt 文件中,自动导入向导创建新的项目进度表就像使用带有地图参数的 FileOpenEx 方法一样简单。这是一个让你开始的片段;根据需要进行调整:

MSProject.Application projectApplication = new MSProject.Application();
object missingValue = System.Reflection.Missing.Value;

projectApplication.FileOpenEx("<your file name here>", false, PjMergeType.pjDoNotMerge,
            missingValue, missingValue, missingValue, missingValue, missingValue,
            missingValue, missingValue, "<your map name here>", 
            PjPoolOpen.pjPoolReadOnly, missingValue, missingValue,
            missingValue, missingValue, missingValue);

注意:如果使用 FileOpenEx 方法将数据合并到活动文件中,请确保地图在该文件中。如有必要,请使用 OrganizerMoveItem 方法。