1、先将Project 的 dll 自制粘贴到工程项目的Bin文件夹下:
我的Dll在安装目录 F:/Program Files/Microsoft Visual Studio 9.0/Visual Studio Tools for Office/PIA/Office11/Microsoft.Office.Interop.MSProject.dll 里.
2、然后在工程项目中引用Dll
3、再:using MSProject=Microsoft.Office.Interop.MSProject;
一个读取的例子:
MSProject.ApplicationClass prj = new MSProject.ApplicationClass();
string prjFileName = @"d:/质量.mpp";
prj.FileOpen(prjFileName, true, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, MSProject.PjPoolOpen.pjPoolReadOnly, Type.Missing, Type.Missing, Type.Missing, Type.Missing);
foreach (MSProject.Project proj in prj.Projects)
{
foreach (MSProject.Task task in proj.Tasks)
{
string str = "";
int iTaskLevel = task.OutlineLevel;
for (int j = 0; j < iTaskLevel; j++)
{
str += "---";
}
Response.Write(str + task.Name + "++++++" + task.Start + "+++++" + task.Finish + task.ResourceNames.ToString() + "<br/>");
}
}
prj.FileClose(MSProject.PjSaveType.pjDoNotSave, false);
prj.Quit(MSProject.PjSaveType.pjDoNotSave);
一个生成Project 文档的例子:
MSProject.ApplicationClass prj = new MSProject.ApplicationClass();
prj.Visible = true;
prj.FileNew(Type.Missing, Type.Missing, Type.Missing, false);
MSProject.Project myProject = prj.ActiveProject;
MSProject.Task task=null;
task = myProject.Tasks.Add("zhi",1);
task.Start = "2008-8-1";
task.Finish = "2008-8-18";
task.SetField(MSProject.PjField.pjTaskNotes, "Task1");
task = null;
task = myProject.Tasks.Add("wenzhixing",2);
task.Start = "2008-8-8";
task.Finish = "2008-8-28";
task.OutlineLevel = 2;
task.SetField(MSProject.PjField.pjTaskResourceNames, "wenzhixing,wen,zhi");
task = null;
task = myProject.Tasks.Add("wen", 3);
task.Start = "2008-8-11";
task.Finish = "2008-8-18";
task.SetField(MSProject.PjField.pjTaskNotes, "Task2");
task.Notes += "hehe";
task.OutlineLevel = 1;
task = null;
task = myProject.Tasks.Add("wen", 4);
task.Start = "2008-8-18";
task.Finish = "2008-8-28";
task.OutlineLevel = 2;
task.SetField(MSProject.PjField.pjTaskResourceNames, "wenzhixing,wen,zhi");