C#擷取Word文檔頁數,並跳轉到指定的頁面擷取內容,且插入分頁符

來源:互聯網
上載者:User

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


//用Regex分割段落

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);

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.