Csharp/C Sharp/Office/Word — различия между версиями

Материал из .Net Framework эксперт
Перейти к: навигация, поиск
м (1 версия)
 
(нет различий)

Версия 15:31, 26 мая 2010

Create Word CommandBars

/*
 * C# Programmers Pocket Consultant
 * Author: Gregory S. MacBeth
 * Email: gmacbeth@comporium.net
 * Create Date: June 27, 2003
 * Last Modified Date:
 * Version: 1
 */
using System;
using System.Windows.Forms;
using System.Runtime.InteropServices;
using System.Reflection;
using Word;
using Office = Microsoft.Office.Core;

namespace Client.Chapter_19___Office_Integration
{
  
  public class CreateCommandBars
  {
    [STAThread]
    static void Main(string[] args)
    {
      Office.rumandBarButton Button;
      Office.rumandBar CommandBar;
      object Missing = System.Reflection.Missing.Value;
      Office._CommandBarButtonEvents_ClickEventHandler ButtonHandler;
      Word.ApplicationClass MyWord = new Word.ApplicationClass();
      MyWord.Visible = true;
      CommandBar = MyWord.rumandBars.Add("MyCommandBar", Missing, Missing, Missing);
      Button = (Office.rumandBarButton)CommandBar.Controls.Add(Office.MsoControlType.msoControlButton, Missing, Missing, Missing, Missing);
      Button.Caption = "MyButton";
      Button.FaceId = 1845;
      ButtonHandler = new Office._CommandBarButtonEvents_ClickEventHandler(OnClick_Button);
      Button.Click += ButtonHandler;
      System.Windows.Forms.Application.Run();
    }
    private void OnClick_Button(Office.rumandBarButton ctrl, ref bool cancel)
    {
      MessageBox.Show("This Worked!!!");
    }
  }
}


Modify Word Document Properties

/*
 * C# Programmers Pocket Consultant
 * Author: Gregory S. MacBeth
 * Email: gmacbeth@comporium.net
 * Create Date: June 27, 2003
 * Last Modified Date:
 * Version: 1
 */
using System;
using System.Windows.Forms;
using System.Runtime.InteropServices;
using System.Reflection;
using Word;

namespace Client.Chapter_19___Office_Integration
{
  public class ModifyDocumentProperties
  {
    [STAThread]
    static void Main(string[] args)
    {
      object Missing = Missing.Value;
      object BuiltInProps;
      object CustomProps;
      Word._Document Doc;
      Word.ApplicationClass MyWord = new Word.ApplicationClass();
      MyWord.Visible = true;
      Doc = MyWord.Documents.Add(ref Missing, ref Missing, ref Missing, ref Missing);
      BuiltInProps = Doc.BuiltInDocumentProperties;
      Type TypeBuiltingProp = BuiltInProps.GetType();
      //Setting abuilt-in property
      string Prop = "Author";
      string PropValue;
      object AuthorProp = TypeBuiltingProp.InvokeMember("item", BindingFlags.Default | BindingFlags.GetProperty, null, BuiltInProps, new Object[] { Prop });
      Type TypeAuthorProp = AuthorProp.GetType();
      PropValue = TypeAuthorProp.InvokeMember("Value", BindingFlags.Default | BindingFlags.GetProperty, null, AuthorProp, new Object[]{}).ToString();
      System.Windows.Forms.Application.Run();
    }
  }
}


Run Active Object

/*
 * C# Programmers Pocket Consultant
 * Author: Gregory S. MacBeth
 * Email: gmacbeth@comporium.net
 * Create Date: June 27, 2003
 * Last Modified Date:
 * Version: 1
 */
using System;
using System.Windows.Forms;
using System.Runtime.InteropServices;
using Word;
namespace Client.Chapter_19___Office_Integration
{
  public class RunActiveObject
  {
    [STAThread]
    static void Main(string[] args)
    {
      Word._Application MyWord = (Word._Application)Marshal.GetActiveObject("Word.Application");
      MyWord.PrintPreview = true;
      System.Windows.Forms.Application.Run();
    }
  }
}