zoukankan      html  css  js  c++  java
  • C#操作mpp文件代码参考

    代码如下:

    using System;
    using System.Collections.Generic;
    using System.Text;
    using Microsoft.Office.Interop.MSProject;
    
    namespace ConsoleApplication
    {
        class Program
        {
            static void Main(string[] args)
            {
                Program pro = new Program();
                pro.readMpp();
                // pro.callMacro();
                //pro.createMpp();
            }
    //调用mpp中定义的宏
            public void callMacro()
            {
                Object missing = Type.Missing;
                ApplicationClass prj = new ApplicationClass();
    //打开mpp文件
                prj.FileOpen("C:/Documents and Settings/Administrator/My Documents/test.mpp",
                    false, missing, missing, missing, missing, missing, missing, missing,
                    missing, missing, PjPoolOpen.pjPoolReadWrite, missing, missing, missing, missing);
    //调用名称为testMacro
                prj.Macro("testMacro");
    //关闭,但不保存mpp
                prj.FileClose(PjSaveType.pjDoNotSave, false);
                prj.Quit(PjSaveType.pjDoNotSave);
            }
    
            public void readMpp()
            {
                Object missing = Type.Missing;
                ApplicationClass prj = new ApplicationClass();
                prj.FileOpen("D:/test.mpp",
                    false, missing, missing, missing, missing, missing, missing, missing,
                    missing, missing, PjPoolOpen.pjPoolReadWrite, missing, missing, missing, missing);
                foreach (Project proj in prj.Projects)
                {
                    foreach (Task task in proj.Tasks)
                    {
                        System.Console.WriteLine("|" + task.Name + "|" + task.UniqueID + "|" + task.ResourceNames + "|");
                    }
                }
                prj.FileClose(PjSaveType.pjSave, false);
                prj.Quit(PjSaveType.pjSave);
                System.Console.Read();
            }
    
            public void createMpp()
            {
                Object missing = Type.Missing;
                ApplicationClass prj = new ApplicationClass();
                PjFileFormat format = PjFileFormat.pjMPP;//format定义   
                prj.Visible = true;
                prj.FileNew(Type.Missing, Type.Missing, Type.Missing, false);
                Project myProject = prj.ActiveProject;
                Task task = null;
                task = myProject.Tasks.Add("zhi", 1);
                task.Start = "2008-8-1";
                task.Finish = "2008-8-18";
                task.SetField(PjField.pjTaskNotes, "Task1");
    
                task = null;
                task = myProject.Tasks.Add("wenzhixing", 2);
                task.Start = "2008-8-8";
                task.Finish = "2008-8-28";
                task.ActualStart = "2008-9-8 8:00";
                task.ActualFinish = "2008-9-28 17:00";
                task.OutlineLevel = 2;
                task.SetField(PjField.pjTaskResourceNames, "wenzhi");
    
                task = null;
                task = myProject.Tasks.Add("wen", 3);
                task.Start = "2008-8-11";
                task.Finish = "2008-8-18";
                task.SetField(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(PjField.pjTaskResourceNames, "wenzhi");
    
                prj.FileSaveAs("C:/Documents and Settings/Administrator/My Documents/mjm.mpp",
                    format, missing, false, missing, missing, missing, missing,
                    missing, missing, PjPoolOpen.pjPoolReadWrite, missing, missing, missing, missing, missing, missing, missing, missing);
            }
        }
    }
    
    
    

  • 相关阅读:
    java_IO流之 NIO
    No enclosing instance of type Outer is accessible. Must qualify the allocation with an enclosing instance of type Outer (e.g. x.new A() where x is an instance of Outer)
    JAVA I/O流 之入门
    10年老司机经验总结--程序员兼职的那些事
    python 去除html 超链接href 如何实现?
    《模式分类(原书第二版)》pdf格式下载电子书免费下载
    通知-招财猫问题通知专用
    Centos6.5 安装 python3.5 虚拟环境 virtualenvwrapper
    5.区块链平台以太坊从入门到精通之 以太网区块链网络
    4.区块链平台以太坊从入门到精通之 以太币
  • 原文地址:https://www.cnblogs.com/kidfruit/p/1877016.html
Copyright © 2011-2022 走看看