Csharp/C Sharp/Office/Word

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

Create Word CommandBars

<source lang="csharp"> /*

* 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!!!");
   }
 }

}

      </source>


Modify Word Document Properties

<source lang="csharp"> /*

* 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();
   }
 }

}

      </source>


Run Active Object

<source lang="csharp"> /*

* 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();
   }
 }

}

      </source>