diff --git a/description.xml b/description.xml index 1a56e85..0c1b914 100644 --- a/description.xml +++ b/description.xml @@ -3,7 +3,7 @@ xmlns:dep="http://openoffice.org/extensions/description/2006" xmlns:xlink="http://www.w3.org/1999/xlink"> - + Инструменты для создания электронных изданий diff --git a/ePublishing/Album.xba b/ePublishing/Album.xba index f58593f..e648d8d 100644 --- a/ePublishing/Album.xba +++ b/ePublishing/Album.xba @@ -79,6 +79,7 @@ Sub replacePageStyleByPortrait(pageStyleName As String) Dim oldPageStyle As Object Dim textEnumeration As Object Dim enumerationElement As Object + Dim i As Integer pageStyles = ThisComponent.StyleFamilies.getByName("PageStyles") oldPageStyle = pageStyles.getByName(pageStyleName) For i = 0 To pageStyles.getCount() - 1 diff --git a/ePublishing/Archive.xba b/ePublishing/Archive.xba index 60f8a1e..ce87b1a 100644 --- a/ePublishing/Archive.xba +++ b/ePublishing/Archive.xba @@ -5,14 +5,19 @@ End Sub Sub resetNotesStyle - Dim oDescriptor 'The search descriptor - dim dispatcher as Object + Dim oDescriptor As Object + Dim dispatcher As Object + Dim x As Integer + Dim oViewCursor As Object + Dim document As Object + Dim allNotes As Object + Dim aNote As Object + Dim oEnum As Object + Dim oCurPar As Object dispatcher = createUnoService("com.sun.star.frame.DispatchHelper") - dim document as Object - document = ThisComponent.CurrentController.Frame - Dim oViewCursor As Object 'View cursor + document = ThisComponent.CurrentController.Frame oViewCursor = ThisComponent.CurrentController.getViewCursor() - allNotes= thisComponent.FootNotes + allNotes = thisComponent.FootNotes for x = 0 to allNotes.Count -1 aNote = allNotes.getByIndex(x) aNote.Anchor.CharStyleName="Footnote anchor" @@ -100,15 +105,16 @@ Function RND_String OutputString="" randomize - for i = 1 to 20 - - Select Case i - Case 5, 8, 11, 14 - OutputString=OutputString+"-" - Case Else - TempString=Hex(int(rnd*256)) - if len(TempString)<2 then TempString=TempString+"0" - OutputString=OutputString+TempString + For i = 1 to 20 + Select Case i + Case 5, 8, 11, 14 + OutputString=OutputString+"-" + Case Else + TempString=Hex(int(rnd*256)) + If len(TempString) < 2 Then + TempString=TempString+"0" + EndIf + OutputString=OutputString+TempString End Select next i @@ -198,15 +204,15 @@ End Sub Function isLowerCase(character) If (character = "") Then - charNum = ASC(""+0) - Else - charNum = ASC(character) - End If - If ((charNum > 1071 AND charNum < 1104) Or (charNum > 60 AND charNum < 123)) Then - isLowerCase = true - Exit Function - EndIf - isLowerCase = false + charNum = ASC(""+0) + Else + charNum = ASC(character) + End If + If ((charNum > 1071 AND charNum < 1104) Or (charNum > 60 AND charNum < 123)) Then + isLowerCase = true + Exit Function + EndIf + isLowerCase = false End Function Sub balancePara(Optional targetPara As Object) @@ -312,10 +318,10 @@ Sub convertBookmarksToFootnotes() Dim backward As Object linkPrefix = "footnote-" backLinkSuffix = "-backlink" + Dim i As Integer bookmarkName = ThisComponent.Links.ElementNames(6) bookmarks = ThisComponent.Links.getByName(bookmarkName) -' Mri bookmarks bookmarkNames = bookmarks.getElementNames() For i = LBound(bookmarkNames) To Ubound(bookmarkNames) bookmarkName = bookmarkNames(i) @@ -423,7 +429,7 @@ Sub replaceParaStyle Dim oViewCursor As Object Dim enum1 As Object Dim oTextCursor As Object - + Dim i As Integer oStyles = ThisComponent.StyleFamilies paraStyles = oStyles.getByName(oStyles.elementNames(1)) oViewCursor = ThisComponent.CurrentController.getViewCursor() @@ -484,7 +490,10 @@ Sub replaceParaStyle End Sub -function getIndex(a, v) +Function getIndex(a, v) + Dim id As Integer + Dim nRight As Integer + Dim nLen As Integer id = 0 nRight = uBound(a) nLen = len(v) @@ -497,34 +506,42 @@ function getIndex(a, v) end if wend getIndex = -1 -end function +End Function -sub subShellSort(mArray) +Sub subShellSort(mArray) - dim n as integer, h as integer, i as integer, j as integer, t as string, Ub as integer, LB as Integer + Dim n As Integer + Dim h As Integer + Dim i As Integer + Dim j As Integer + Dim t As String + Dim Ub As Integer + Dim LB As Integer Lb = lBound(mArray) Ub = uBound(mArray) ' compute largest increment n = Ub - Lb + 1 h = 1 - if n > 14 then - do while h < n - h = 3 * h + 1 - loop - h = h \ 3 - h = h \ 3 - end if - do while h > 0 - for i = Lb + h to Ub - t = mArray(i) - for j = i - h to Lb step -h - if strComp(mArray(j), t, 0) < 1 then exit for - mArray(j + h) = mArray(j) - next j - mArray(j + h) = t - next i - h = h \ 3 - loop -end sub + If n > 14 then + do while h < n + h = 3 * h + 1 + loop + h = h \ 3 + h = h \ 3 + End If + Do While h > 0 + For i = Lb + h to Ub + t = mArray(i) + For j = i - h to Lb step -h + If strComp(mArray(j), t, 0) < 1 then + Exit For + EndIf + mArray(j + h) = mArray(j) + Next j + mArray(j + h) = t + Next i + h = h \ 3 + Loop +End Sub \ No newline at end of file diff --git a/ePublishing/Footnotes.xba b/ePublishing/Footnotes.xba index 1f1df6c..4ff9d91 100644 --- a/ePublishing/Footnotes.xba +++ b/ePublishing/Footnotes.xba @@ -130,6 +130,8 @@ Sub setFootnotesNumberingLevel(level) End Sub Private Sub doNotTrack + Dim dispatcher As Object + Dim document As Object dispatcher = createUnoService("com.sun.star.frame.DispatchHelper") document = ThisComponent.CurrentController.Frame dim trackProperties(0) as new com.sun.star.beans.PropertyValue diff --git a/ePublishing/TOCLinks.xba b/ePublishing/TOCLinks.xba index 80d1aac..d04d723 100644 --- a/ePublishing/TOCLinks.xba +++ b/ePublishing/TOCLinks.xba @@ -1,9 +1,10 @@ -Sub markTOC2 +Sub markTOC4 End Sub Sub makeOutlineLinks + Dim i As Integer For i = 1 To 10 makeLinksWithLevel(i) Next i @@ -100,6 +101,7 @@ Function getOutlineWithLevel(curNum) Dim cellEnum2 As Object Dim par() As Object Dim parName As String + Dim cellEnumElement As Object parName = "Contents " + curNum enum1 = ThisComponent.Text.createEnumeration While enum1.hasMoreElements @@ -132,7 +134,8 @@ Function getOutlineWithLevel(curNum) End Function Sub addToArray(xArray(),vNextElement) - Dim iUB%,iLB% + Dim iUB As Integer + Dim iLB As Integer iLB = lBound(xArray()) iUB = uBound(xArray()) If iLB > iUB then diff --git a/ePublishing/journals.xba b/ePublishing/journals.xba index 23deda6..5fb61a7 100644 --- a/ePublishing/journals.xba +++ b/ePublishing/journals.xba @@ -1,6 +1,6 @@ -Private sub journalsMark5 +Private sub journalsMark7 End sub Dim templateName As String @@ -15,6 +15,16 @@ Dim sectionName As String Private Sub makeUpIssue turnOffTracking Dim description As String + Dim i As Integer + Dim statusIndicator as Object + Dim oViewCursor As Object + Dim oTextCursor As Object + Dim articleEndPosition As Object + Dim page As String + Dim firstPage As String + Dim tmp As String + Dim nSections As Long + description = "Вы уверены, что хотите запустить сборку выпуска ?" If NOT confirm(description) Then Exit Sub @@ -25,20 +35,9 @@ Private Sub makeUpIssue PQ = "ВФ" imagesRelativePath = "/Links/Header/" allImagesRelativePath = "/Links/Header-icons/" - - Dim statusIndicator as Object statusIndicator = ThisComponent.getCurrentController.StatusIndicator - Dim oViewCursor As Object - Dim oTextCursor As Object - Dim articleEndPosition As Object oViewCursor = ThisComponent.CurrentController.getViewCursor() - Dim page As String - Dim firstPage As String - - Dim tmp As String - sectionName = "" - Dim nSections As Long oFilename = ThisComponent.Location 'Exit if no sections in document or document not saved @@ -60,11 +59,11 @@ Private Sub makeUpIssue ' Add article for each section 'Go to article first page - page = findFirstPageNumberWithStyle("Первая страница статьи") - firstPage = page - oViewCursor.jumpToPage(page) - oTextCursor = oViewCursor.Text.createTextCursorByRange(oViewCursor) - statusIndicator.Start("Сборка выпуска начата, подождите",30) + page = findFirstPageNumberWithStyle("Первая страница статьи") + firstPage = page + oViewCursor.jumpToPage(page) + oTextCursor = oViewCursor.Text.createTextCursorByRange(oViewCursor) + statusIndicator.Start("Сборка выпуска начата, подождите",30) For i = 1 To 25 'Find section file FilePath = findArticleFile(path,i) @@ -166,14 +165,14 @@ Private Sub setPageNumbersDeprecated() End Sub -Private Sub setAtricleVars(i) +Private Sub setAtricleVars(i As Integer) 'updateUserField("article" + i + "LastPage", CStr(getArticleLastPage()) ) updateUserField("article" + i + "UDK", getUDK()) updateUserField("author" + i + "Copyright", getCopyright() ) 'updateUserField("rightHeader" + i , getTitleHeader() ) End Sub -Private Function lastPageNum(i) +Private Function lastPageNum(i As Integer) Dim docLastPage As Integer Dim curPageNum As Integer Dim oViewCursor As Object @@ -301,7 +300,7 @@ Private Function getArticleHeader() oViewCursor.goToRange(oSavePosition, false) End Function -Private Function getSectionX(section) +Private Function getSectionX(section As String) Dim oViewCursor As Object Dim oSavePosition As Object Dim startPage As String @@ -341,7 +340,7 @@ End Function -Private Sub setArticlePageStyles(i) +Private Sub setArticlePageStyles(i As Integer) Dim oViewCursor As Object Dim oTextCursor As Object Dim oText As Object @@ -387,7 +386,7 @@ Private Sub setArticlePageStyles(i) End Sub -Private Sub setFirstPageMetadata(curStyle,i) +Private Sub setFirstPageMetadata(curStyle As Object,i As Integer) Dim oViewCursor As Object Dim oSavePosition As Object Dim savePageName As String @@ -414,7 +413,7 @@ Private Sub setFirstPageMetadata(curStyle,i) sendRM() End Sub -Private Sub setDefaultFirstPageMetadata(curStyle,i) +Private Sub setDefaultFirstPageMetadata(curStyle As Object,i As Integer) Dim oViewCursor As Object Dim oHeaderTable As Object Dim oFooterTable As Object @@ -453,7 +452,7 @@ Private Sub setDefaultFirstPageMetadata(curStyle,i) End Sub -Private Sub setPHAFirstPageMetadata(curStyle,i) +Private Sub setPHAFirstPageMetadata(curStyle As Object,i As Integer) Dim oViewCursor As Object Dim oHeader As Object Dim oFooterTable As Object @@ -1018,7 +1017,7 @@ Private Sub updateLastPageFields Dim strPos As Integer Dim articleNum As Integer Dim curNum As Integer - Dim pageNum As Integer + Dim pageNum As String Dim textCursor As Object Dim lastPages%( 100 ) For i = 0 to 100 @@ -1061,7 +1060,6 @@ Private Sub updateLastPageFields EndIf EndIf EndIf - EndIf 'TODO: 'OR enum1Element.supportsService("com.sun.star.text.TextTable") @@ -1608,8 +1606,9 @@ Function getPageStyleNameFromEnum(enumElement) EndIf End Function -Function getPageNumber(cursor) - Dim oField 'Field to insert +Function getPageNumber(cursor As Object) As String + Dim oField As Object + Dim oTextCursor As Object oTextCursor = cursor.Text.createTextCursorByRange(cursor.Start) oField = ThisComponent.createInstance("com.sun.star.text.textfield.PageNumber") oField.NumberingType = 4