C# 操作 Project

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

 

 

 

 

發佈了38 篇原創文章 · 獲贊 2 · 訪問量 19萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章