2014-02-26 142 views
2

我需要VBA代碼來刪除除第一個Word文檔以外的所有部分(頁面)在Word中刪除頁面

爲此,我使用下面的代碼。

For Each oSec In ActiveDocument.Sections 
    If oSec.Index <> 1 Then 
     oSec.Range.Delete 
    End If 
Next oSec 

這項工作但不刪除第二部分只刪除其內容。 如果我刪除代碼中的條件,它會刪除第一頁的內容。

我想保留第一頁的內容。

請告訴我我在哪裏犯錯。

回答

2

刪除時需要包含分節符。嘗試改變這一行:

oSec.Range.Delete 

到這一個:

ActiveDocument.Range(oSec.Range.Start - 1, oSec.Range.End).Delete 

BTW,你不要以爲頁面=節,他們是不同類型的文檔單位。

+0

您好KazJow,感謝您的回覆。你的代碼爲我工作。我曾在Excel-VBA中工作過,但在Word中是新的。所以我不知道基本。如何理解頁面和部分之間的區別。我沒有在Word宏中找到像頁面一樣的任何對象... – compyutech

+1

是的,確切地說,頁面存在,但它們是文檔的可視部分。如果你想檢查頁數,你可以用這種方式檢查它:'ActiveDocument.Windows(1).Panes(1).Pages.Count'。 –