I need to delete a few pages in a word document dynamically, the page numbers will be fetched from a configuration file. How can i delete a particular page.
问问题
7564 次
3 回答
2
这是您需要的 VBA 宏。您可以轻松地将其翻译成 C#
Selection.HomeKey wdStory
Selection.GoTo What:=wdGoToPage, Count:=3
Selection.Bookmarks("\Page").Select
Selection.Delete
上面代码中的3就是我要删除的页码。您可以使用 for 循环并开始按降序删除页面(如果您使用升序,页码确实会发生变化,您最终会删除除打算删除的内容之外的内容)。
希望这可以帮助。
于 2013-07-29T06:21:46.843 回答
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();
}
于 2013-07-30T03:53:28.140 回答
0
它删除第 1、4、7 页。我想删除第 1、3、5 页。
这很简单:当您删除第 1 页时,您的第 3 页将变为第 2 页,如果您仍然删除第 3 页,那么您实际上删除了以前的第 4 页,依此类推
只需在您的代码中反转数组,您就可以了 {5,3,1}
于 2014-11-14T09:13:40.113 回答