如何获取页码?

mon*_*oys 4 c# interop

我有这个代码:

Microsoft.Office.Interop.Word.Application app = new Microsoft.Office.Interop.Word.Application();
object nullobj = System.Reflection.Missing.Value;
object file = openFileDialog1.FileName;
Microsoft.Office.Interop.Word.Document doc = app.Documents.Open(
  ref file, ref nullobj, ref nullobj,
  ref nullobj, ref nullobj, ref nullobj,
  ref nullobj, ref nullobj, ref nullobj,
  ref nullobj, ref nullobj, ref nullobj,
  ref nullobj, ref nullobj, ref nullobj);
doc.ActiveWindow.Selection.WholeStory();
doc.ActiveWindow.Selection.Copy();
IDataObject data = Clipboard.GetDataObject();
string text = data.GetData(DataFormats.Text).ToString();
textBox2.Text = text;
doc.Close(ref nullobj, ref nullobj, ref nullobj);
app.Quit(ref nullobj, ref nullobj, ref nullobj);
Run Code Online (Sandbox Code Playgroud)

但它不会返回页码.我怎样才能获得页码?

Eri*_*itz 6

我想这是一个更好的解决方案

Microsoft.Office.Interop.Word.Application app = new Microsoft.Office.Interop.Word.Application();
object nullobj = System.Reflection.Missing.Value;
object file = openFileDialog1.FileName;
Microsoft.Office.Interop.Word.Document doc = app.Documents.Open(
  ref file, ref nullobj, ref nullobj,
  ref nullobj, ref nullobj, ref nullobj,
  ref nullobj, ref nullobj, ref nullobj,
  ref nullobj, ref nullobj, ref nullobj,
  ref nullobj, ref nullobj, ref nullobj);
doc.ActiveWindow.Selection.WholeStory();
doc.ActiveWindow.Selection.Copy();
IDataObject data = Clipboard.GetDataObject();

// get number of pages
Microsoft.Office.Interop.Word.WdStatistic stat = Microsoft.Office.Interop.Word.WdStatistic.wdStatisticPages;
int pages = doc.ComputeStatistics(stat, Type.Missing);

string text = data.GetData(DataFormats.Text).ToString();
textBox2.Text = text;
doc.Close(ref nullobj, ref nullobj, ref nullobj);
app.Quit(ref nullobj, ref nullobj, ref nullobj);
Run Code Online (Sandbox Code Playgroud)