Truy cập số chú thích cuối trang trong VBA (Microsoft Word)
Paul đang cố gắng sử dụng Word VBA để trả về số chú thích của chú thích cuối trang có điểm chèn. Trong trường hợp của anh ấy, có thể phần chú thích chứa nhiều hơn một đoạn văn. Paul tự hỏi liệu có cách nào để xác định số chú thích này trong VBA không.
Có thể xác định số lượng chú thích bằng cách sử dụng thuộc tính Index của đối tượng chú thích cuối trang. Đây là một cách nhanh chóng để chứng minh thông tin này có thể hữu ích như thế nào:
Sub GetFootnoteNumber() Dim f As Footnote Dim sTemp As String sTemp = "The insertion point is not in a footnote" For Each f In ActiveDocument.Footnotes If Selection.InRange(f.Range) Then sTemp = "The insertion point is in footnote " & f.Index End If Next MsgBox sTemp End Sub
Lưu ý rằng macro bước qua từng chú thích cuối trang trong tài liệu. Nếu xác định được rằng lựa chọn (điểm chèn) nằm trong một chú thích cụ thể, thì thuộc tính Index của chú thích cuối trang đó được sử dụng để đưa một thông báo vào biến sTemp. Sau khi thực hiện xong việc lặp qua các chú thích, biến sTemp sẽ được hiển thị trong một hộp thông báo.
Nếu bạn có nhiều chú thích cuối trang trong tài liệu của mình, bạn có thể không muốn lặp lại tất cả chúng. Trong trường hợp đó, bạn có thể sử dụng thuộc tính Thông tin của vùng lựa chọn để xác định xem điểm chèn hiện có nằm trong chú thích hay không, theo cách này:
Sub GetFootnoteNum() Dim J As Integer Dim sTemp As String sTemp = "The insertion point is not in a footnote" If Selection.Information(wdInFootnote) Then J = Selection.Paragraphs(1).Range.Footnotes(1).Index sTemp = "The insertion point is in footnote " & J End If MsgBox sTemp End Sub
Ngoài ra, bạn có thể lấy thông tin khác về một chú thích cụ thể bằng cách mở rộng các thuộc tính của chú thích đó mà bạn truy cập. Macro sau không chỉ trả về số chú thích mà còn trả về quy tắc đánh số, kiểu đánh số và số bắt đầu cho chú thích cuối trang:
Sub GetFootnoteInfo() Dim f As Footnote Dim sTemp As String sTemp = "The insertion point is not in a footnote" If Selection.Information(wdInFootnote) Then Set f = Selection.Paragraphs(1).Range.Footnotes(1) sTemp = "Footnote number: " & f.Index & vbCr With f.Range.FootnoteOptions sTemp = sTemp & "Numbering Rule: " & .NumberingRule & vbCr & _ "Numbering Style: " & .NumberStyle & vbCr & _ "Starting Number: " & .StartingNumber End With End If MsgBox sTemp End Sub
_Lưu ý: _
Nếu bạn muốn biết cách sử dụng các macro được mô tả trên trang này (hoặc trên bất kỳ trang nào khác trên các trang WordTips), tôi đã chuẩn bị một trang đặc biệt bao gồm thông tin hữu ích.
WordTips là nguồn của bạn để đào tạo Microsoft Word hiệu quả về chi phí.
(Microsoft Word là phần mềm xử lý văn bản phổ biến nhất trên thế giới.) Mẹo này (5906) áp dụng cho Microsoft Word 2007, 2010, 2013, 2016, 2019 và Word trong Office 365.