对您的问题的简短回答是,没有优雅的方式来完成您想要实现的目标。
Word 将文档的内容与其布局严重分开。就 Word 而言,文档没有页面;相反,页面是通过以某种方式(例如打印视图)查看文档而从文档中衍生出来的东西。该Pages集合属于控制布局的Pane界面(例如,通过 访问Application.ActiveWindow.ActivePane)。因此,没有任何方法Page允许您更改(或删除)导致页面存在的内容。
如果您可以控制您在代码中处理的文档,我建议您在文档中定义代表要以编程方式删除的部分的部分。节是一种更好的结构,因为它们代表内容,而不是布局(一个节又可能包含分页符)。如果您要这样做,您可以使用以下代码删除特定部分:
object missing = Type.Missing;
foreach (Microsoft.Office.Interop.Word.Section section in doc.Sections) {
if (/* some criteria */) {
section.Range.Delete(ref missing, ref missing);
break;
}
}
Run Code Online (Sandbox Code Playgroud)