C# 操作 Project

来源:互联网 发布:苹果手机受限软件 编辑:程序博客网 时间:2024/05/08 03:44

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");

 

 

 

 

原创粉丝点击