- using System;
- using System.ComponentModel;
- using Microsoft.Office.Interop.Word;
- using Microsoft.Office.Core;
- using Microsoft.Office.Tools.Word;
- using Microsoft.Office.Tools;
- namespace Oficios
- {
- public class CCWordApp
- {
- private Microsoft.Office.Interop.Word.ApplicationClass oWordApplic; // a reference to Word application
- private Microsoft.Office.Interop.Word.Document oDoc; // a reference to the document
- public CCWordApp()
- {
- // activate the interface with the COM object of Microsoft Word
- oWordApplic = new Microsoft.Office.Interop.Word.ApplicationClass();
- }
- // Open a file (the file must exists) and activate it
- public void Open(string strFileName)
- {
- object fileName = strFileName;
- object readOnly = false;
- object isVisible = true;
- object missing = System.Reflection.Missing.Value;
- oDoc = oWordApplic.Documents.Open(ref fileName, ref missing, ref readOnly,
- ref missing, ref missing, ref missing, ref missing, ref missing, ref missing,
- ref missing, ref missing, ref isVisible, ref missing, ref missing, ref missing, ref missing);
- oDoc.Activate();
- }
- // Open a new document
- public void Open()
- {
- object missing = System.Reflection.Missing.Value;
- oDoc = oWordApplic.Documents.Add(ref missing, ref missing, ref missing, ref missing);
- oDoc.Activate();
- }
- public void Quit()
- {
- object missing = System.Reflection.Missing.Value;
- oWordApplic.Application.Quit(ref missing, ref missing, ref missing);
- }
- public void Save()
- {
- oDoc.Save();
- }
- public void SaveAs(string strFileName)
- {
- object missing = System.Reflection.Missing.Value;
- object fileName = strFileName;
- oDoc.SaveAs(ref fileName, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing,
- ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing);
- }
- // Save the document in HTML format
- public void SaveAsHtml(string strFileName)
- {
- object missing = System.Reflection.Missing.Value;
- object fileName = strFileName;
- object Format = (int)Microsoft.Office.Interop.Word.WdSaveFormat.wdFormatHTML;
- oDoc.SaveAs(ref fileName, ref Format, ref missing, ref missing, ref missing, ref missing, ref missing,
- ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing);
- }
- public void InsertText(string strText)
- {
- oWordApplic.Selection.TypeText(strText);
- }
- public void InsertImage(string nameImg)
- {
- }
- public void InsertLineBreak()
- {
- oWordApplic.Selection.TypeParagraph();
- }
- public void InsertLineBreak(int nline)
- {
- for (int i = 0; i < nline; i++)
- oWordApplic.Selection.TypeParagraph();
- }
- // Change the paragraph alignement
- public void SetAlignment(string strType)
- {
- switch (strType)
- {
- case "Center":
- oWordApplic.Selection.ParagraphFormat.Alignment = Microsoft.Office.Interop.Word.WdParagraphAlignment.wdAlignParagraphCenter;
- break;
- case "Left":
- oWordApplic.Selection.ParagraphFormat.Alignment = Microsoft.Office.Interop.Word.WdParagraphAlignment.wdAlignParagraphLeft;
- break;
- case "Right":
- oWordApplic.Selection.ParagraphFormat.Alignment = Microsoft.Office.Interop.Word.WdParagraphAlignment.wdAlignParagraphRight;
- break;
- case "Justify":
- oWordApplic.Selection.ParagraphFormat.Alignment = Microsoft.Office.Interop.Word.WdParagraphAlignment.wdAlignParagraphJustify;
- break;
- }
- }
- // if you use thif function to change the font you should call it again with
- // no parameter in order to set the font without a particular format
- public void SetFont(string strType)
- {
- switch (strType)
- {
- case "Bold":
- oWordApplic.Selection.Font.Bold = 1;
- break;
- case "Italic":
- oWordApplic.Selection.Font.Italic = 1;
- break;
- case "Underlined":
- oWordApplic.Selection.Font.Subscript = 0;
- break;
- }
- }
- // disable all the style
- public void SetFont()
- {
- oWordApplic.Selection.Font.Bold = 0;
- oWordApplic.Selection.Font.Italic = 0;
- oWordApplic.Selection.Font.Subscript = 0;
- }
- public void SetFontName(string strType)
- {
- oWordApplic.Selection.Font.Name = strType;
- }
- public void SetFontSize(int nSize)
- {
- oWordApplic.Selection.Font.Size = nSize;
- }
- public void InsertPagebreak()
- {
- // VB : Selection.InsertBreak Type:=wdPageBreak
- object pBreak = (int)Microsoft.Office.Interop.Word.WdBreakType.wdPageBreak;
- oWordApplic.Selection.InsertBreak(ref pBreak);
- }
- // Go to a predefined bookmark, if the bookmark doesn't exists the application will raise an error
- public void GotoBookMark(string strBookMarkName)
- {
- // VB : Selection.GoTo What:=wdGoToBookmark, Name:="nome"
- //if( oWordApplic.Selection.Bookmarks.Exists(strBookMarkName)){
- object missing = System.Reflection.Missing.Value;
- object Bookmark = (int)Microsoft.Office.Interop.Word.WdGoToItem.wdGoToBookmark;
- object NameBookMark = strBookMarkName;
- oWordApplic.Selection.GoTo(ref Bookmark, ref missing, ref missing, ref NameBookMark);
- //oWordApplic.ActiveDocument.Bookmarks.Exists(strBookMarkName);
- // Range cosa = oWordApplic.ActiveDocument.Bookmarks.get_Item(strBookMarkName).Range.Select();
- // }
- }
- public void GotoFooter(string footer, string header, string strBookMarkName)
- {
- // VB : Selection.GoTo What:=wdGoToBookmark, Name:="nome"
- //if( oWordApplic.Selection.Bookmarks.Exists(strBookMarkName)){
- object missing = System.Reflection.Missing.Value;
- object Bookmark2 = (int)Microsoft.Office.Interop.Word.WdGoToItem.wdGoToBookmark;
- object NameBookMark = strBookMarkName;
- // oWordApplic.Selection.GoTo(ref Bookmark, ref missing, ref missing, ref NameBookMark);
- //oWordApplic.ActiveDocument.Bookmarks.Exists(strBookMarkName);
- // Range cosa = oWordApplic.ActiveDocument.Bookmarks.get_Item(strBookMarkName).Range.Select();
- // }
- Microsoft.Office.Interop.Word.Document dc = oWordApplic.ActiveDocument;
- foreach (Microsoft.Office.Interop.Word.Section wordSection in dc.Sections)
- {
- object Bookmark = (int)Microsoft.Office.Interop.Word.WdGoToItem.wdGoToBookmark;
- wordSection.Headers[Microsoft.Office.Interop.Word.WdHeaderFooterIndex.wdHeaderFooterPrimary].Range.Text = header;
- wordSection.Footers[Microsoft.Office.Interop.Word.WdHeaderFooterIndex.wdHeaderFooterPrimary].Range.Text = footer;
- wordSection.Headers[Microsoft.Office.Interop.Word.WdHeaderFooterIndex.wdHeaderFooterFirstPage].Range.Text = header;
- wordSection.Footers[Microsoft.Office.Interop.Word.WdHeaderFooterIndex.wdHeaderFooterFirstPage].Range.Text = footer;
- //wordSection.Headers[Microsoft.Office.Interop.Word.WdHeaderFooterIndex.wdHeaderFooterPrimary].Range.Bookmarks.get_Item(ref headersupder).Range.Text= header;
- //wordSection.Headers[Microsoft.Office.Interop.Word.WdHeaderFooterIndex.wdHeaderFooterFirstPage].Range.Bookmarks.get_Item(ref headersupder).Range.Text = header;
- }
- }
- public void Try(string str)
- {
- object Name = str;
- }
- public void GoToTheEnd()
- {
- // VB : Selection.EndKey Unit:=wdStory
- object missing = System.Reflection.Missing.Value;
- object unit;
- unit = Microsoft.Office.Interop.Word.WdUnits.wdStory;
- oWordApplic.Selection.EndKey(ref unit, ref missing);
- }
- public void GoToTheBeginning()
- {
- // VB : Selection.HomeKey Unit:=wdStory
- object missing = System.Reflection.Missing.Value;
- object unit;
- unit = Microsoft.Office.Interop.Word.WdUnits.wdStory;
- oWordApplic.Selection.HomeKey(ref unit, ref missing);
- }
- public void GoToTheTable(int ntable)
- {
- // Selection.GoTo What:=wdGoToTable, Which:=wdGoToFirst, Count:=1, Name:=""
- // Selection.Find.ClearFormatting
- // With Selection.Find
- // .Text = ""
- // .Replacement.Text = ""
- // .Forward = True
- // .Wrap = wdFindContinue
- // .Format = False
- // .MatchCase = False
- // .MatchWholeWord = False
- // .MatchWildcards = False
- // .MatchSoundsLike = False
- // .MatchAllWordForms = False
- // End With
- object missing = System.Reflection.Missing.Value;
- object what;
- what = Microsoft.Office.Interop.Word.WdUnits.wdTable;
- object which;
- which = Microsoft.Office.Interop.Word.WdGoToDirection.wdGoToFirst;
- object count;
- count = 1;
- oWordApplic.Selection.GoTo(ref what, ref which, ref count, ref missing);
- oWordApplic.Selection.Find.ClearFormatting();
- oWordApplic.Selection.Text = "";
- }
- public void GoToRightCell()
- {
- // Selection.MoveRight Unit:=wdCell
- object missing = System.Reflection.Missing.Value;
- object direction;
- direction = Microsoft.Office.Interop.Word.WdUnits.wdCell;
- oWordApplic.Selection.MoveRight(ref direction, ref missing, ref missing);
- }
- public void GoToLeftCell()
- {
- // Selection.MoveRight Unit:=wdCell
- object missing = System.Reflection.Missing.Value;
- object direction;
- direction = Microsoft.Office.Interop.Word.WdUnits.wdCell;
- oWordApplic.Selection.MoveLeft(ref direction, ref missing, ref missing);
- }
- public void GoToDownCell()
- {
- // Selection.MoveRight Unit:=wdCell
- object missing = System.Reflection.Missing.Value;
- object direction;
- direction = Microsoft.Office.Interop.Word.WdUnits.wdLine;
- oWordApplic.Selection.MoveDown(ref direction, ref missing, ref missing);
- }
- public void GoToUpCell()
- {
- // Selection.MoveRight Unit:=wdCell
- object missing = System.Reflection.Missing.Value;
- object direction;
- direction = Microsoft.Office.Interop.Word.WdUnits.wdLine;
- oWordApplic.Selection.MoveUp(ref direction, ref missing, ref missing);
- }
- }
- }
Any ideas what can I do.
Thanks a lot.
Abraham LanderosPosted Jul 22, 2009, 7:43 PM
Abraham LanderosPosted Jul 23, 2009, 2:18 PM
pedro alonsoPosted Jul 22, 2009, 8:43 PM
No to be pushy but do you know a way to access a textbox I'm guessing should be pretty similar but with shapes and the bookmark after selecting the shape.
Gracias :)