已建立文本的页码

本文关键字:文本 建立 | 更新日期: 2023-09-27 18:28:53

在word文档(.docx,.doc)中有多个查找和替换文本的示例,但如何查找所查找文本所在的页面?

谢谢,Mohsen

已建立文本的页码

您可以对Find()的结果使用Information(Word.WdInformation.wdActiveEndAdjustedPageNumber)方法,并将其强制转换为int,以获得找到文本的PageNumber。

张贴你的代码,我会更新它以返回页码。

这里有一个例子:

currentPageNumber = word.ActiveDocument.ActiveWindow.Selection.Range.Information(
            Microsoft.Office.Interop.Word.WdInformation.wdActiveEndAdjustedPageNumber)

以下是用于获取PageNumber的枚举器的MSDN文档。根据您的需要,您可能希望使用与PageNumbers相关的2个枚举器中的1个。

    public void FindLoop()
    {
        Word.Application wordApp = new Word.Application();
        wordApp.Visible = false;
        object missing = System.Type.Missing;
        object saveChanges = Word.WdSaveOptions.wdSaveChanges;
        Word.Documents docs = wordApp.Documents;
        docs.Open(filePathAndName, ReadOnly: true);
        int intFound = 0;
        Word.Range rng = wordApp.ActiveDocument.Content;   // this = wordApp.ActiveDocument
        rng.Find.ClearFormatting();
        rng.Find.Forward = true;
        rng.Find.Text = this.textBoxSearch.Text.Trim();
        try
        { 
            rng.Find.Execute(
                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);
            while (rng.Find.Found)
            {
                intFound++;
                rng.Find.Execute(
                    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);
            }
            MessageBox.Show("Strings found: " + intFound.ToString());
            wordApp.ActiveDocument.Close(saveChanges, ref missing, ref missing);
        }
        catch (Exception ex) 
        {
            MessageBox.Show(ex.ToString());
            wordApp.ActiveDocument.Close(saveChanges, ref missing, ref missing);
            //wordApp.Application.Quit(ref missing, ref missing, ref missing);
        }
    }