如何在按钮单击上调用MSPROJECT事件 [英] How to Call MSPROJECT event on Button Click

查看:84
本文介绍了如何在按钮单击上调用MSPROJECT事件的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我在解决方案中添加了Office 2010 MS项目,并生成了以下代码,如何在单击按钮时调用此代码

I added office 2010 MS project in my solution and below code is generated, how can I call this code on button click

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Xml.Linq;
using MSProject = Microsoft.Office.Interop.MSProject;
using Office = Microsoft.Office.Core;

namespace FirstProjectAddIn
{
    public partial class ThisAddIn
    {

      public   void Application_NewProject(Microsoft.Office.Interop.MSProject.Project pj)
        {
            MSProject.Task newTask = pj.Tasks.Add
                ("This text was added by using code", missing);
            newTask.Start = DateTime.Now;
            newTask.Duration = "3";
            newTask.ResourceNames = "MAnoj, Kelly Krout";
        }

        public  void ThisAddIn_Startup(object sender, System.EventArgs e)
        {
           // this.Application.NewProject += new Microsoft.Office.Interop.MSProject._EProjectApp2_NewProjectEventHandler(Application_NewProject);

        }

        public void ThisAddIn_Shutdown(object sender, System.EventArgs e)
        {
        }

        #region VSTO generated code

        /// <summary>
        /// Required method for Designer support - do not modify
        /// the contents of this method with the code editor.
        /// </summary>
        private void InternalStartup()
        {
            this.Startup += new System.EventHandler(ThisAddIn_Startup);
            this.Shutdown += new System.EventHandler(ThisAddIn_Shutdown);
        }
        
        #endregion
    }
}

推荐答案

尝试类似的方法.
Try something like this.
//...
    FirstProjectAddIn.ThisAddIn addin = new FirstProjectAddIn.ThisAddIn();
    Microsoft.Office.Interop.MSProject.Application prj_app = new Microsoft.Office.Interop.MSProject.ApplicationClass();
    if (prj_app != null){
        prj_app.Visible = false; // Make MS Project application invisible
        // ... create new or load existing project
        Microsoft.Office.Interop.MSProject.Project p = new Microsoft.Office.Interop.MSProject.Project();
        addin.Application_NewProject(p);
        //...
        // exiting app
        prj_app.Quit(Microsoft.Office.Interop.MSProject.PjSaveType.pjSave);
    }
//...


这篇关于如何在按钮单击上调用MSPROJECT事件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆