Csharp/C Sharp/Office/Word
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>