2012-06-25 135 views
1

我在MS Word互操作中遇到問題。我使用的是VC++,但我也會接受C#中的建議。Word文檔中的頁腳頁碼

在使用SaveAs方法時,在頁腳中給出頁碼的Word文檔中,我得到一個隨機頁碼而不是正確的,任何人都可以幫助我。

我也嘗試使用PageNumbers.GetStartNumber和Range.GetInformation方法沒有運氣。

如何獲取Word中頁腳的實際頁碼?

回答

1

謝謝,我能用這段代碼解決它。在VC++中

Selection oSelection = m_oApp.GetSelection(); 
Sections ss = oSelection.GetSections(); 
Section s = ss.GetFirst(); 
HeadersFooters hf = s.GetHeaders(); 
HeaderFooter hfItem = hf.Item(1); 
PageNumbers ps = hfItem.GetPageNumbers(); 

//to get the First pageNumber 

long nNo = ps.GetStartingNumber(); 
HeadersFooters footers = s.GetFooters(); 
HeaderFooter footer = footers.Item(1); 
Range r = footer.GetRange(); 

//to get the First page footer text 
CString strFooterText = r.GetText(); 
1

這不是C#或VC++,但VBA版本會這樣。頁碼可能是一個字段,所以使用選擇,如果你有。

Public Sub GetPageNumber() 
    On Error GoTo MyErrorHandler 

    Dim currentDocument As Document 
    Set currentDocument = ActiveDocument 

    Debug.Print Selection.Sections(1).Footers(wdHeaderFooterPrimary).Range.Text 'Or... 
    Debug.Print Selection.Sections(1).Footers(wdHeaderFooterPrimary).Range.Fields(1).Result 

    Exit Sub 

MyErrorHandler: 
    MsgBox "GetPageNumber" & vbCrLf & vbCrLf & "Err = " & Err.Number & vbCrLf & "Description: " & Err.Description 
End Sub 
相關問題