2013年9月11日 星期三

[轉貼] C#操作Word完全攻略

出處:http://www.360doc.com/content/09/0510/10/64176_3440638.shtml

前提:導入COM庫:Microsoft word 11.0 Object Library.
引用裡面就增加了:

創建新Word
            object oMissing = System.Reflection.Missing.Value;
            Word._Application oWord;
            Word._Document oDoc;
            oWord 
= new Word.Application();
            oWord.Visible 
= true;
            oDoc 
= oWord.Documents.Add(ref oMissing, ref oMissing,
                
ref oMissing, ref oMissing);

打開文檔:
            object oMissing = System.Reflection.Missing.Value;
            Word._Application oWord;
            Word._Document oDoc;
            oWord 
= new Word.Application();
            oWord.Visible 
= true;
            
object fileName = @"E:\CCCXCXX\TestDoc.doc";
            oDoc 
= oWord.Documents.Open(ref fileName,
            
ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing,
            
ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing,
            
ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing);

導入模板
            object oMissing = System.Reflection.Missing.Value;
            Word._Application oWord;
            Word._Document oDoc;
            oWord 
= new Word.Application();
            oWord.Visible 
= true;
            
object fileName = @"E:\XXXCCX\Test.doc";
            oDoc 
= oWord.Documents.Add(ref fileName, ref oMissing,
                            
ref oMissing, ref oMissing);


.添加新表
            object oMissing = System.Reflection.Missing.Value;
            Word._Application oWord;
            Word._Document oDoc;
            oWord 
= new Word.Application();
            oWord.Visible 
= true;
            oDoc 
= oWord.Documents.Add(ref oMissing, ref oMissing,
                
ref oMissing, ref oMissing);

            
object start = 0;
            
object end = 0;
            Word.Range tableLocation 
= oDoc.Range(ref start, ref end);
            oDoc.Tables.Add(tableLocation, 
34ref oMissing, ref oMissing);

.表插入行
            object oMissing = System.Reflection.Missing.Value;
            Word._Application oWord;
            Word._Document oDoc;
            oWord 
= new Word.Application();
            oWord.Visible 
= true;
            oDoc 
= oWord.Documents.Add(ref oMissing, ref oMissing,
                
ref oMissing, ref oMissing);

            
object start = 0;
            
object end = 0;
            Word.Range tableLocation 
= oDoc.Range(ref start, ref end);
            oDoc.Tables.Add(tableLocation, 
34ref oMissing, ref oMissing);

            Word.Table newTable 
= oDoc.Tables[1];
            
object beforeRow = newTable.Rows[1];
            newTable.Rows.Add(
ref beforeRow);

.單元格合並
            object oMissing = System.Reflection.Missing.Value;
            Word._Application oWord;
            Word._Document oDoc;
            oWord 
= new Word.Application();
            oWord.Visible 
= true;
            oDoc 
= oWord.Documents.Add(ref oMissing, ref oMissing,
                
ref oMissing, ref oMissing);

            
object start = 0;
            
object end = 0;
            Word.Range tableLocation 
= oDoc.Range(ref start, ref end);
            oDoc.Tables.Add(tableLocation, 
34ref oMissing, ref oMissing);

            Word.Table newTable 
= oDoc.Tables[1];
            
object beforeRow = newTable.Rows[1];
            newTable.Rows.Add(
ref beforeRow);

            Word.Cell cell 
= newTable.Cell(11);
            cell.Merge(newTable.Cell(
12));

.單元格分離
            object oMissing = System.Reflection.Missing.Value;
            Word._Application oWord;
            Word._Document oDoc;
            oWord 
= new Word.Application();
            oWord.Visible 
= true;
            oDoc 
= oWord.Documents.Add( oMissing, ref oMissing,
                
ref oMissing, ref oMissing);

            
object start = 0;
            
object end = 0;
            Word.Range tableLocation 
= oDoc.Range(ref start, ref end);
            oDoc.Tables.Add(tableLocation, 
34ref oMissing, ref oMissing);

            Word.Table newTable 
= oDoc.Tables[1];
            
object beforeRow = newTable.Rows[1];
            newTable.Rows.Add(
ref beforeRow);

            Word.Cell cell 
= newTable.Cell(11);
            cell.Merge(newTable.Cell(
12));

            
object Rownum = 2;
            
object Columnnum = 2;
            cell.Split(
ref Rownum, ref  Columnnum);

通過段落控制插入
            object oMissing = System.Reflection.Missing.Value;
            
object oEndOfDoc = "\\endofdoc"/* \endofdoc is a predefined bookmark */

            
//Start Word and create a new document.
            Word._Application oWord;
            Word._Document oDoc;
            oWord 
= new Word.Application();
            oWord.Visible 
= true;
            oDoc 
= oWord.Documents.Add(ref oMissing, ref oMissing,
                
ref oMissing, ref oMissing);

            
//Insert a paragraph at the beginning of the document.
            Word.Paragraph oPara1;
            oPara1 
= oDoc.Content.Paragraphs.Add(ref oMissing);
            oPara1.Range.Text 
= "Heading 1";
            oPara1.Range.Font.Bold 
= 1;
            oPara1.Format.SpaceAfter 
= 24;    //24 pt spacing after paragraph.
            oPara1.Range.InsertParagraphAfter();

沒有留言:

張貼留言