我需要动态删除word文档中的几个页面,页面编号将从配置文件中获取。如何删除特定页面。
答案 0 :(得分:2)
这是您需要的VBA宏。您可以轻松将其翻译为C#
Selection.HomeKey wdStory
Selection.GoTo What:=wdGoToPage, Count:=3
Selection.Bookmarks("\Page").Select
Selection.Delete
上面代码中的<3>是我要删除的页码。您可以使用for循环并开始按降序删除页面(如果您使用升序,页码会更改,您将最终删除除要删除的内容之外的其他内容。)
希望这有帮助。
答案 1 :(得分:0)
Its deleting pages 1,4,7.where i want to delete pages 1,3,5.
int num = objWordDoc.ComputeStatistics(stat, ref missing);
int[] a = { 1,3,5};
for (int i = 0; i < a.Length; i++)
{
object page_num = a[i];
objWordDoc.Application.Selection.GoTo(Word.WdGoToItem.wdGoToPage, Word.WdGoToDirection.wdGoToAbsolute, num, page_num);
objWordDoc.Application.Selection.Bookmarks[@"\Page"].Select();
objWordDoc.Application.Selection.Delete();
}
答案 2 :(得分:0)
删除第1,4,7页。我想删除第1,3,5页。
这很简单:当您删除第1页时,您的第3页将变为第2页,如果您仍然删除第3页,那么您实际上删除了第4页 等等
只需在代码中反转数组即可,{5,3,1}