diff --git a/ePublishing/Footnotes.xba b/ePublishing/Footnotes.xba index e5cc79c..6ef73e9 100644 --- a/ePublishing/Footnotes.xba +++ b/ePublishing/Footnotes.xba @@ -34,7 +34,7 @@ Sub openFootNotesDialog dialog.dispose() End Sub -Sub setFootnotesNumberingFrom(dialog) +Sub setFootnotesNumberingFrom(dialog As Object) Dim statusIndicator as Object Dim targetLevel As Integer Dim stringLevelInput As String @@ -93,8 +93,9 @@ Sub setNotesPaginatedNumbering(noteType As Integer, pageNums() As Integer) enum2 = enum1Element.createEnumeration While enum2.hasMoreElements thisPortion = enum2.nextElement - If isTargetNote(thisPortion, noteType) Then - curPage = getPageNumber(thisPortion) + If isTargetNote(thisPortion, noteType) Then + curPage = getPageNumber(thisPortion) + If ( IsInArray(pageNums, CInt(curPage) ) ) Then If (curPage <> prevPage) Then curNum = 1 prevPage = curPage @@ -104,16 +105,14 @@ Sub setNotesPaginatedNumbering(noteType As Integer, pageNums() As Integer) If label = "" Then footnoteText.setLabel(CStr(curNum)) curNum = curNum + 1 - Else labelNum = CLng(label) If labelNum > 0 Then - footnoteText.setLabel(CStr(curNum)) - curNum = curNum + 1 EndIf EndIf + EndIf EndIf Wend ElseIf enum1Element.supportsService("com.sun.star.text.TextTable") Then @@ -128,8 +127,9 @@ Sub setNotesPaginatedNumbering(noteType As Integer, pageNums() As Integer) While cellEnum2.hasMoreElements thisPortion = cellEnum2.nextElement If isTargetNote(thisPortion, noteType) Then - curPage = getPageNumber(thisPortion) - If (curPage <> prevPage) Then + curPage = getPageNumber(thisPortion) + If ( IsInArray(pageNums, CInt(curPage) ) ) Then + If (curPage <> prevPage) Then curNum = 1 prevPage = curPage EndIf @@ -146,6 +146,7 @@ Sub setNotesPaginatedNumbering(noteType As Integer, pageNums() As Integer) curNum = curNum + 1 EndIf EndIf + EndIf EndIf Wend EndIf @@ -274,7 +275,7 @@ Sub getPageNumsFrom(inputString As String, pageNums() As Integer) Next i End Sub -Function IsInArray(array, content) +Function IsInArray(array As Variant, content As Variant) As Boolean IsInArray = false For i = LBound(array) To UBound(array) inArr = array(i)