我在 MS Word 互操作中遇到问题。我正在使用 VC++,但我也会接受 C# 中的建议。
当我使用 SaveAs 方法时,在页脚中给出页码的 word 文档中,我得到的是随机页码而不是正确的页码,任何人都可以帮助我。
我也尝试过使用 PageNumbers.GetStartNumber 和 Range.GetInformation 方法,但没有成功。
如何从Word中获取页脚中的实际页码?
我在 MS Word 互操作中遇到问题。我正在使用 VC++,但我也会接受 C# 中的建议。
当我使用 SaveAs 方法时,在页脚中给出页码的 word 文档中,我得到的是随机页码而不是正确的页码,任何人都可以帮助我。
我也尝试过使用 PageNumbers.GetStartNumber 和 Range.GetInformation 方法,但没有成功。
如何从Word中获取页脚中的实际页码?
这不是 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
谢谢,我能够使用此代码解决它。在 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();