hanlihui

博客园 首页 新随笔 联系 订阅 管理

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

 

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/wenzhixing/archive/2008/09/11/2911461.aspx

posted on 2009-11-18 09:25  韩立慧  阅读(1588)  评论(0编辑  收藏  举报