12
2020
07

C#获取Word文档操作

using MSWord = Microsoft.Office.Interop.Word;  

MSWord.Application wordApp; //Word应用程序变量

MSWord.Document wordDoc;    //Word文档变量

Object Nothing = Missing.Value;  //初始化

wordApp = new MSWord.ApplicationClass();

wordDoc = wordApp.Documents.Add(ref Nothing, ref Nothing, refNothing, ref Nothing); // 新建Word

 

// 打开已存在的Word

object FileName = strPath;

object readOnly = false;

object isVisible = true;

wordDoc = wordApp.Documents.Open(ref FileName, ref Nothing, refreadOnly, ref Nothing, ref Nothing, ref Nothing, ref Nothing, ref Nothing, refNothing, ref Nothing, ref Nothing, ref isVisible, ref Nothing, ref Nothing, refNothing, ref Nothing);  



// 计算Word文档页数

MSWord.WdStatistic stat = MSWord.WdStatistic.wdStatisticPages;

int num = wordDoc.ComputeStatistics(stat, ref  Nothing);



// 跳转到指定书签

object what = MSWord.WdGoToItem.wdGoToBookmark;

object BookMarkName = "BookMark1";

wordDoc.ActiveWindow.Selection.GoTo(ref what, ref Nothing, refNothing, ref BookMarkName);

MessageBox.Show(wordDoc.ActiveWindow.Selection.Paragraphs[1].Range.Text.ToString()); 



//跳转到指定页

object What = MSWord.WdGoToItem.wdGoToPage;

object Which = MSWord.WdGoToDirection.wdGoToNext;

object Name = "1"; // 页数

wordDoc.ActiveWindow.Selection.GoTo(ref What, ref Which, refNothing, ref Name); // 第二个参数可以用Nothing

MessageBox.Show(wordDoc.ActiveWindow.Selection.Paragraphs[1].Range.Text.ToString()); 

MessageBox.Show(wordDoc.ActiveWindow.Selection.Sentences[1].Text.ToString());

MessageBox.Show(wordDoc.ActiveWindow.Selection.Paragraphs[1].Range.Sentences[1].Text.ToString());



MessageBox.Show(wordDoc.Content.Paragraphs[8].Range.Text.ToString());
MessageBox.Show(wordDoc.Content.Paragraphs[8].Range.Sentences[1].Text.ToString());





//插入段落并分页

Word.Paragraph oPara4;
oPara4 = mydoc.Content.Paragraphs.Add(ref oMissing);
oPara4.Range.Text = "附图一:";
oPara4.Range.Font.Name = "宋体";
oPara4.Range.Font.Size = 10.5f; 
oPara4.Range.InsertParagraphAfter();
insertChart(saveDocPath);//插入excel-chart
oPara4.Range.InsertParagraphAfter();


//插入分页符
insertBreakNextPage();



//用正则表达式分割段落

string string2 = "  段落1。\r\n 段落2。\r\n 段落3。";
string[] Paras = System.Text.RegularExpressions.Regex.Split(string2, @"\r\n");



//插入回车符

word.Selection.TypeParagraph();

//插入回格符

word.Selection.TypeBackspace();

//跳转到文档结尾

object wd_story = Word.WdUnits.wdStory;

word.Selection.EndKey(ref wd_story, ref oMissing);


« 上一篇下一篇 »

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。