Debugging
This commit is contained in:
parent
b6af208531
commit
1039ef5073
3 changed files with 529 additions and 6 deletions
|
@ -1,6 +1,6 @@
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
|
<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
|
||||||
<script:module xmlns:script="http://openoffice.org/2000/script" script:name="journals" script:language="StarBasic">Private sub journalsMark3
|
<script:module xmlns:script="http://openoffice.org/2000/script" script:name="journals" script:language="StarBasic">Private sub journalsMark5
|
||||||
End sub
|
End sub
|
||||||
|
|
||||||
Dim templateName As String
|
Dim templateName As String
|
||||||
|
@ -139,6 +139,7 @@ Private Sub makeUpIssue
|
||||||
'ThisComponent.FootnoteSettings.FootnoteCounting=1
|
'ThisComponent.FootnoteSettings.FootnoteCounting=1
|
||||||
'setHeadingsOutlineLevels
|
'setHeadingsOutlineLevels
|
||||||
statusIndicator.end()
|
statusIndicator.end()
|
||||||
|
MsgBox "Сборка выпуска завершена."
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
Private Sub setPageNumbers()
|
Private Sub setPageNumbers()
|
||||||
|
@ -690,7 +691,6 @@ Private Sub takeDownOrpahns
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
Private Sub takeLineIn
|
Private Sub takeLineIn
|
||||||
Globalscope.BasicLibraries.LoadLibrary( "Publishing" )
|
|
||||||
Dim oViewCursor As Object
|
Dim oViewCursor As Object
|
||||||
Dim oTextCursor As Object
|
Dim oTextCursor As Object
|
||||||
dim oEndPage As Object
|
dim oEndPage As Object
|
||||||
|
@ -1074,8 +1074,6 @@ Private Sub updateLastPageFields
|
||||||
statusIndicator.end()
|
statusIndicator.end()
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Function insertUserField(cursor,fieldName,fieldValue)
|
Function insertUserField(cursor,fieldName,fieldValue)
|
||||||
Dim oField As Object 'Field to insert
|
Dim oField As Object 'Field to insert
|
||||||
Dim oFieldMaster As Object
|
Dim oFieldMaster As Object
|
||||||
|
@ -1096,5 +1094,530 @@ Function insertUserField(cursor,fieldName,fieldValue)
|
||||||
oTextCursor.Text.insertTextContent(oTextCursor, oField, False)
|
oTextCursor.Text.insertTextContent(oTextCursor, oField, False)
|
||||||
End Function
|
End Function
|
||||||
|
|
||||||
|
Function updateUserField(fieldName,fieldValue)
|
||||||
|
Dim oFieldMaster As Object
|
||||||
|
Dim oMasters As Object
|
||||||
|
oMasters = ThisComponent.getTextFieldMasters()
|
||||||
|
If oMasters.hasByName("com.sun.star.text.FieldMaster.User" & "." & fieldName) Then
|
||||||
|
oFieldMaster = oMasters.getByName("com.sun.star.text.FieldMaster.User" & "." & fieldName)
|
||||||
|
oFieldMaster.Content = fieldValue
|
||||||
|
EndIf
|
||||||
|
End Function
|
||||||
|
|
||||||
|
Sub createPageStyleByExample(newName)
|
||||||
|
dim document as object
|
||||||
|
dim dispatcher as object
|
||||||
|
document = ThisComponent.CurrentController.Frame
|
||||||
|
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")
|
||||||
|
dim args1(1) as new com.sun.star.beans.PropertyValue
|
||||||
|
args1(0).Name = "Param"
|
||||||
|
args1(0).Value = newName
|
||||||
|
args1(1).Name = "Family"
|
||||||
|
args1(1).Value = 8
|
||||||
|
dispatcher.executeDispatch(document, ".uno:StyleNewByExample", "", 0, args1())
|
||||||
|
end Sub
|
||||||
|
|
||||||
|
sub sendRM
|
||||||
|
dim document as Object
|
||||||
|
dim dispatcher as Object
|
||||||
|
document = ThisComponent.CurrentController.Frame
|
||||||
|
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")
|
||||||
|
dispatcher.executeDispatch(document, ".uno:Delete", "", 0, Array())
|
||||||
|
end Sub
|
||||||
|
|
||||||
|
sub backspace
|
||||||
|
dim document as object
|
||||||
|
dim dispatcher as object
|
||||||
|
document = ThisComponent.CurrentController.Frame
|
||||||
|
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")
|
||||||
|
dispatcher.executeDispatch(document, ".uno:SwBackspace", "", 0, Array())
|
||||||
|
end Sub
|
||||||
|
Sub shrinkPageContent
|
||||||
|
Dim oViewCursor As Object 'View cursor
|
||||||
|
Dim oTextCursor As Object 'Text cursor
|
||||||
|
Dim oViewCurInitPosition As Object
|
||||||
|
Dim oSaveEndSelection 'Text cursor
|
||||||
|
Dim oEnum 'Cursor enumeration
|
||||||
|
Dim oPar 'Current paragraph
|
||||||
|
Dim sTextContent$ 'Service name for text content.
|
||||||
|
Dim scaleWidthShrinkValue As Integer
|
||||||
|
Dim scaleCharHeight As Integer
|
||||||
|
Dim scaleIntervalHeight As Integer
|
||||||
|
Dim kernShrinkValue As Integer
|
||||||
|
Dim startOfPara As Boolean
|
||||||
|
'saveCurrentVersion
|
||||||
|
kernShrinkValue = 8
|
||||||
|
scaleWidthShrinkValue = 7
|
||||||
|
scaleCharHeight = 2
|
||||||
|
scaleIntervalHeight = 3
|
||||||
|
sTextContent = "com.sun.star.text.TextContent"
|
||||||
|
oViewCursor = ThisComponent.CurrentController.getViewCursor()
|
||||||
|
oViewCurInitPosition = oViewcursor.Text.createTextCursorByRange(oViewCursor)
|
||||||
|
'Check if we are at start of paragraph go to the end of previous paragraph
|
||||||
|
If oViewCursor.Text.createTextCursorByRange(oViewCursor).isStartOfParagraph() Then
|
||||||
|
oViewCursor.goLeft(1,false)
|
||||||
|
If Len(oViewCursor.String) <> 1 Then
|
||||||
|
oViewCursor.goRight(1,false)
|
||||||
|
End If
|
||||||
|
End If
|
||||||
|
|
||||||
|
|
||||||
|
'Move right to select left and right characters and save position to the right
|
||||||
|
oViewCursor.goRight(1,false)
|
||||||
|
oSaveEndSelection = oViewCursor.Text.createTextCursorByRange(oViewCursor)
|
||||||
|
'Select last 2 characters
|
||||||
|
oViewCursor.goLeft(2,true)
|
||||||
|
If Len(oViewCursor.String) = 2 Then
|
||||||
|
oLastChars = oViewCursor.Text.createTextCursorByRange(oViewCursor)
|
||||||
|
'Insert hyphen if needed
|
||||||
|
insertHyphen(oLastChars,oViewCursor)
|
||||||
|
End If
|
||||||
|
'Return to initial position
|
||||||
|
oViewCursor.gotoRange(oSaveEndSelection,false) 'Go to end of text to check page changes
|
||||||
|
oViewCursor.goLeft(1,false)
|
||||||
|
'Set saved position to initial state
|
||||||
|
oSaveEndSelection = oViewCursor.Text.createTextCursorByRange(oViewCursor)
|
||||||
|
|
||||||
|
|
||||||
|
oViewCursor.jumpToPreviousPage()
|
||||||
|
oViewCursor.jumpToStartOfPage()
|
||||||
|
oTextCursor = oViewCursor.Text.createTextCursorByRange(oViewCursor)
|
||||||
|
'If one of textRanges is Footnote or Endnote we can't select them so it is better to exit now
|
||||||
|
If oTextCursor.Text.supportsService("com.sun.star.text.Endnote") OR oTextCursor.Text.supportsService("com.sun.star.text.Footnote") Or oTextCursor.Text.supportsService("com.sun.star.text.CellProperties") Then
|
||||||
|
shrinkPageContent = false
|
||||||
|
oViewCursor.gotoRange(oViewCurInitPosition,false)
|
||||||
|
Exit Sub
|
||||||
|
EndIf
|
||||||
|
If oSaveEndSelection.Text.supportsService("com.sun.star.text.Endnote") OR oSaveEndSelection.Text.supportsService("com.sun.star.text.Footnote") Or oTextCursor.Text.supportsService("com.sun.star.text.CellProperties") Then
|
||||||
|
shrinkPageContent = false
|
||||||
|
oViewCursor.gotoRange(oViewCurInitPosition,false)
|
||||||
|
Exit Sub
|
||||||
|
EndIf
|
||||||
|
oTextCursor.gotoRange(oSaveEndSelection,true)
|
||||||
|
oViewCursor.gotoRange(oSaveEndSelection,false) 'Go to end of text to check page changes
|
||||||
|
|
||||||
|
If shrinkIntervalHeight(oTextCursor,oViewCursor,scaleIntervalHeight) Then
|
||||||
|
oTextCursor = oViewCursor.Text.createTextCursorByRange(oViewCursor)
|
||||||
|
If oTextCursor.isEndOfParagraph() Then
|
||||||
|
pos1 = oViewCursor.getPage()
|
||||||
|
oViewCursor.goRight(1,false)
|
||||||
|
pos2 = oViewCursor.getPage()
|
||||||
|
'If we moved right to the next para and page haven't changed insert pageBreak
|
||||||
|
If pos1 = pos2 Then
|
||||||
|
insertPageBreak
|
||||||
|
End If
|
||||||
|
Else
|
||||||
|
insertPageBreak
|
||||||
|
If Not IsNull(oTextCursor.ParaFirstLineIndent) Then
|
||||||
|
oTextCursor.ParaFirstLineIndent = 0
|
||||||
|
End If
|
||||||
|
|
||||||
|
End If
|
||||||
|
|
||||||
|
Exit Sub
|
||||||
|
End If
|
||||||
|
If shrinkCharHeight(oTextCursor,oViewCursor,scaleCharHeight) Then
|
||||||
|
oTextCursor = oViewCursor.Text.createTextCursorByRange(oViewCursor)
|
||||||
|
If oTextCursor.isEndOfParagraph() Then
|
||||||
|
pos1 = oViewCursor.getPage()
|
||||||
|
oViewCursor.goRight(1,false)
|
||||||
|
pos2 = oViewCursor.getPage()
|
||||||
|
'If we moved right to the next para and page haven't changed insert pageBreak
|
||||||
|
If pos1 = pos2 Then
|
||||||
|
insertPageBreak
|
||||||
|
End If
|
||||||
|
Else
|
||||||
|
insertPageBreak
|
||||||
|
If Not IsNull(oTextCursor.ParaFirstLineIndent) Then
|
||||||
|
oTextCursor.ParaFirstLineIndent = 0
|
||||||
|
End If
|
||||||
|
|
||||||
|
End If
|
||||||
|
|
||||||
|
Exit Sub
|
||||||
|
End If
|
||||||
|
If shrinkKern(oTextCursor,oViewCursor,kernShrinkValue) Then
|
||||||
|
oTextCursor = oViewCursor.Text.createTextCursorByRange(oViewCursor)
|
||||||
|
If oTextCursor.isEndOfParagraph() Then
|
||||||
|
pos1 = oViewCursor.getPage()
|
||||||
|
oViewCursor.goRight(1,false)
|
||||||
|
pos2 = oViewCursor.getPage()
|
||||||
|
'If we moved right to the next para and page haven't changed insert pageBreak
|
||||||
|
If pos1 = pos2 Then
|
||||||
|
insertPageBreak
|
||||||
|
End If
|
||||||
|
Else
|
||||||
|
insertPageBreak
|
||||||
|
If Not IsNull(oTextCursor.ParaFirstLineIndent) Then
|
||||||
|
oTextCursor.ParaFirstLineIndent = 0
|
||||||
|
End If
|
||||||
|
|
||||||
|
End If
|
||||||
|
|
||||||
|
Exit Sub
|
||||||
|
End If
|
||||||
|
|
||||||
|
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Sub splitPages
|
||||||
|
Dim oViewCursor As Object 'View cursor
|
||||||
|
Dim oText 'Text object in current document
|
||||||
|
Dim oSaveEndSelection 'Text cursor
|
||||||
|
'saveCurrentVersion
|
||||||
|
oViewCursor = ThisComponent.CurrentController.getViewCursor()
|
||||||
|
Dim saveFirstLineIndent As Boolean
|
||||||
|
|
||||||
|
'Check if we are at start of paragraph go to the end of previous paragraph
|
||||||
|
If oViewCursor.Text.createTextCursorByRange(oViewCursor).isEndOfParagraph() Then
|
||||||
|
oViewCursor.goRight(1,false)
|
||||||
|
End If
|
||||||
|
If oViewCursor.Text.createTextCursorByRange(oViewCursor).isStartOfParagraph() Then
|
||||||
|
saveFirstLineIndent = true
|
||||||
|
Else
|
||||||
|
saveFirstLineIndent = false
|
||||||
|
End If
|
||||||
|
|
||||||
|
oViewCursor.goRight(1,false)
|
||||||
|
oSaveEndSelection = oViewCursor.Text.createTextCursorByRange(oViewCursor)
|
||||||
|
'Select last 2 characters
|
||||||
|
oViewCursor.goLeft(2,true)
|
||||||
|
|
||||||
|
If Len(oViewCursor.String) = 2 Then
|
||||||
|
'Insert hyphen if needed
|
||||||
|
oLastChars = oViewCursor.Text.createTextCursorByRange(oViewCursor)
|
||||||
|
insertHyphen(oLastChars,oViewCursor)
|
||||||
|
End If
|
||||||
|
'Return to initial position
|
||||||
|
oViewCursor.gotoRange(oSaveEndSelection,false) 'Go to end of text to check page changes
|
||||||
|
oViewCursor.goLeft(1,false)
|
||||||
|
insertPageBreak
|
||||||
|
If Not saveFirstLineIndent Then
|
||||||
|
oTextCursor = oViewCursor.Text.createTextCursorByRange(oViewCursor)
|
||||||
|
If Not IsNull(oTextCursor.ParaFirstLineIndent) Then
|
||||||
|
oTextCursor.ParaFirstLineIndent = 0
|
||||||
|
End If
|
||||||
|
End If
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Function shrinkScaleWidth(oTextCursor,oViewCursor,iterations) As Boolean
|
||||||
|
Dim oParEnum 'paragraph enumeration
|
||||||
|
Dim oPar 'current paragraph
|
||||||
|
Dim oSecEnum 'sections enumeration
|
||||||
|
Dim oParSection 'paragraph text section
|
||||||
|
Dim pageNum As Integer
|
||||||
|
pageNum = oViewCursor.getPage()
|
||||||
|
For i = 1 To iterations Step 1
|
||||||
|
oParEnum = oTextCursor.createEnumeration()
|
||||||
|
Do While oParEnum.hasMoreElements()
|
||||||
|
oPar = oParEnum.nextElement()
|
||||||
|
If oPar.supportsService("com.sun.star.text.Paragraph") Then
|
||||||
|
oPar.charScaleWidth = 100 - i
|
||||||
|
If pageNum <> oViewCursor.getPage() Then
|
||||||
|
shrinkScaleWidth = true
|
||||||
|
Exit Function
|
||||||
|
End If
|
||||||
|
End If
|
||||||
|
Loop
|
||||||
|
Next i
|
||||||
|
shrinkScaleWidth = false
|
||||||
|
End Function
|
||||||
|
|
||||||
|
Function shrinkKern(oTextCursor,oViewCursor,iterations) As Boolean
|
||||||
|
Dim oParEnum 'paragraph enumeration
|
||||||
|
Dim oPar 'current paragraph
|
||||||
|
Dim oSecEnum 'sections enumeration
|
||||||
|
Dim oParSection 'paragraph text section
|
||||||
|
Dim pageNum As Integer
|
||||||
|
pageNum = oViewCursor.getPage()
|
||||||
|
For i = 2 To iterations Step 2
|
||||||
|
oParEnum = oTextCursor.createEnumeration()
|
||||||
|
Do While oParEnum.hasMoreElements()
|
||||||
|
oPar = oParEnum.nextElement()
|
||||||
|
If oPar.supportsService("com.sun.star.text.Paragraph") Then
|
||||||
|
oPar.CharKerning = 0 - i
|
||||||
|
If pageNum <> oViewCursor.getPage() Then
|
||||||
|
shrinkKern = true
|
||||||
|
Exit Function
|
||||||
|
End If
|
||||||
|
End If
|
||||||
|
Loop
|
||||||
|
Next i
|
||||||
|
shrinkKern = false
|
||||||
|
End Function
|
||||||
|
|
||||||
|
Function shrinkCharHeight(oTextCursor,oViewCursor,iterations) As Boolean
|
||||||
|
Dim oParEnum 'paragraph enumeration
|
||||||
|
Dim oPar 'current paragraph
|
||||||
|
Dim oSecEnum 'sections enumeration
|
||||||
|
Dim oParSection 'paragraph text section
|
||||||
|
Dim pageNum As Integer
|
||||||
|
pageNum = oViewCursor.getPage()
|
||||||
|
For i = 1 To iterations Step 1
|
||||||
|
oParEnum = oTextCursor.createEnumeration()
|
||||||
|
Do While oParEnum.hasMoreElements()
|
||||||
|
oPar = oParEnum.nextElement()
|
||||||
|
If oPar.supportsService("com.sun.star.text.Paragraph") Then
|
||||||
|
oPar.charHeight = roundHeight(oPar.charHeight) - 0.1
|
||||||
|
If pageNum <> oViewCursor.getPage() Then
|
||||||
|
shrinkCharHeight = true
|
||||||
|
Exit Function
|
||||||
|
End If
|
||||||
|
End If
|
||||||
|
Loop
|
||||||
|
Next i
|
||||||
|
shrinkCharHeight = false
|
||||||
|
End Function
|
||||||
|
|
||||||
|
Function roundHeight(nHeight)
|
||||||
|
Dim lHeight As Double
|
||||||
|
Dim hHeight As Double
|
||||||
|
lHeight = Int(nHeight)
|
||||||
|
hHeight = Int(nHeight)
|
||||||
|
|
||||||
|
Dim i%
|
||||||
|
i=1
|
||||||
|
Do While lHeight < nHeight And hHeight < nHeight
|
||||||
|
lHeight = + i/10 + 0.001
|
||||||
|
hHeight = + (i+0.5)/10
|
||||||
|
i=i+1
|
||||||
|
Loop
|
||||||
|
roundHeight=lHeight
|
||||||
|
End Function
|
||||||
|
|
||||||
|
|
||||||
|
Function shrinkIntervalHeight(oTextCursor,oViewCursor,iterations) As Boolean
|
||||||
|
Dim oParEnum 'paragraph enumeration
|
||||||
|
Dim oPar 'current paragraph
|
||||||
|
Dim oSecEnum 'sections enumeration
|
||||||
|
Dim oParSection 'paragraph text section
|
||||||
|
Dim pageNum As Integer
|
||||||
|
Dim lineSpacing
|
||||||
|
pageNum = oViewCursor.getPage()
|
||||||
|
For i = 1 To iterations Step 1
|
||||||
|
oParEnum = oTextCursor.createEnumeration()
|
||||||
|
Do While oParEnum.hasMoreElements()
|
||||||
|
oPar = oParEnum.nextElement()
|
||||||
|
If oPar.supportsService("com.sun.star.text.Paragraph") Then
|
||||||
|
lineSpacing = oPar.ParaLineSpacing
|
||||||
|
If lineSpacing.Mode = 3 Then
|
||||||
|
lineSpacing.Height = lineSpacing.Height * 0.98
|
||||||
|
oPar.ParaLineSpacing = lineSpacing
|
||||||
|
End If
|
||||||
|
If pageNum <> oViewCursor.getPage() Then
|
||||||
|
shrinkIntervalHeight = true
|
||||||
|
Exit Function
|
||||||
|
End If
|
||||||
|
End If
|
||||||
|
Loop
|
||||||
|
Next i
|
||||||
|
shrinkIntervalHeight = false
|
||||||
|
End Function
|
||||||
|
|
||||||
|
Sub savecursor
|
||||||
|
Dim oViewCursor As Object 'View cursor
|
||||||
|
Dim oTextCursor 'Text cursor
|
||||||
|
Dim oSaveEndSelection 'Text cursor
|
||||||
|
Dim oEnum 'Cursor enumeration
|
||||||
|
Dim oText 'Text object in current document
|
||||||
|
Dim oPar 'Current paragraph
|
||||||
|
Dim sTextContent$ 'Service name for text content.
|
||||||
|
sTextContent = "com.sun.star.text.TextContent"
|
||||||
|
oViewCursor = ThisComponent.CurrentController.getViewCursor()
|
||||||
|
oSaveEndSelection = oViewCursor.Text.createTextCursorByRange(oViewCursor)
|
||||||
|
REM oViewCursor.getText.insertString(oViewCursor.getStart(), CHR$(257), False)
|
||||||
|
'If Not oViewCursor.jumpToPreviousPage() Then Exit Sub
|
||||||
|
oViewCursor.jumpToPreviousPage()
|
||||||
|
oViewCursor.jumpToStartOfPage()
|
||||||
|
|
||||||
|
'oViewCursor.goUp(10,true)
|
||||||
|
'oViewCursor.getPage()
|
||||||
|
oTextCursor = oViewCursor.Text.createTextCursorByRange(oViewCursor)
|
||||||
|
'oTextCursor.gotoStart(false)
|
||||||
|
oTextCursor.gotoRange(oSaveEndSelection,true)
|
||||||
|
|
||||||
|
oParEnum = oTextCursor.createEnumeration()
|
||||||
|
|
||||||
|
Do While oParEnum.hasMoreElements()
|
||||||
|
Dim oSubSection
|
||||||
|
Dim oSecEnum
|
||||||
|
|
||||||
|
Do While oParEnum.hasMoreElements()
|
||||||
|
oPar = oParEnum.nextElement()
|
||||||
|
oPar.charScaleWidth = oPar.charScaleWidth - 1
|
||||||
|
Dim charHeight
|
||||||
|
charHeight= oPar.charHeight
|
||||||
|
Dim lineSpacing
|
||||||
|
lineSpacing = oPar.ParaLineSpacing
|
||||||
|
MsgBox lineSpacing.Mode & lineSpacing.Height
|
||||||
|
If oPar.supportsService("com.sun.star.text.Paragraph") Then
|
||||||
|
nPars = nPars + 1
|
||||||
|
oSecEnum = oPar.createEnumeration()
|
||||||
|
s = s & nPars & ":"
|
||||||
|
Do While oSecEnum.hasMoreElements()
|
||||||
|
oParSection = oSecEnum.nextElement()
|
||||||
|
oParSection.charScaleWidth = oParSection.charScaleWidth - 1
|
||||||
|
oParSection.CharHeight = oParSection.CharHeight * 0.99
|
||||||
|
s = s & oParSection.TextPortionType & " Scale " & oParSection.CharScaleWidth & " Scale " & oParSection.CharHeight & ":"
|
||||||
|
Loop
|
||||||
|
s = s & CHR$(10)
|
||||||
|
If nPars MOD 10 = 0 Then
|
||||||
|
MsgBox s, 0, "Paragraph Text Sections"
|
||||||
|
s = ""
|
||||||
|
End If
|
||||||
|
End If
|
||||||
|
Loop
|
||||||
|
Loop
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
sub insertPageBreak
|
||||||
|
rem ----------------------------------------------------------------------
|
||||||
|
rem define variables
|
||||||
|
dim document as object
|
||||||
|
dim dispatcher as object
|
||||||
|
rem ----------------------------------------------------------------------
|
||||||
|
rem get access to the document
|
||||||
|
document = ThisComponent.CurrentController.Frame
|
||||||
|
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")
|
||||||
|
|
||||||
|
rem ----------------------------------------------------------------------
|
||||||
|
dispatcher.executeDispatch(document, ".uno:InsertPagebreak", "", 0, Array())
|
||||||
|
|
||||||
|
|
||||||
|
end sub
|
||||||
|
|
||||||
|
Sub insertHyphen(oTextCursor,oViewCursor)
|
||||||
|
Dim lastChars
|
||||||
|
'lastChars = oTextCursor.getString()
|
||||||
|
replacementhyp
|
||||||
|
'MsgBox lastChars
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
sub replacementhyp
|
||||||
|
rem ----------------------------------------------------------------------
|
||||||
|
rem define variables
|
||||||
|
dim document as object
|
||||||
|
dim dispatcher as object
|
||||||
|
rem ----------------------------------------------------------------------
|
||||||
|
rem get access to the document
|
||||||
|
document = ThisComponent.CurrentController.Frame
|
||||||
|
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")
|
||||||
|
|
||||||
|
rem ----------------------------------------------------------------------
|
||||||
|
dim args1(21) as new com.sun.star.beans.PropertyValue
|
||||||
|
args1(0).Name = "SearchItem.StyleFamily"
|
||||||
|
args1(0).Value = 2
|
||||||
|
args1(1).Name = "SearchItem.CellType"
|
||||||
|
args1(1).Value = 0
|
||||||
|
args1(2).Name = "SearchItem.RowDirection"
|
||||||
|
args1(2).Value = true
|
||||||
|
args1(3).Name = "SearchItem.AllTables"
|
||||||
|
args1(3).Value = false
|
||||||
|
args1(4).Name = "SearchItem.SearchFiltered"
|
||||||
|
args1(4).Value = false
|
||||||
|
args1(5).Name = "SearchItem.Backward"
|
||||||
|
args1(5).Value = false
|
||||||
|
args1(6).Name = "SearchItem.Pattern"
|
||||||
|
args1(6).Value = false
|
||||||
|
args1(7).Name = "SearchItem.Content"
|
||||||
|
args1(7).Value = false
|
||||||
|
args1(8).Name = "SearchItem.AsianOptions"
|
||||||
|
args1(8).Value = false
|
||||||
|
args1(9).Name = "SearchItem.AlgorithmType"
|
||||||
|
args1(9).Value = 1
|
||||||
|
args1(10).Name = "SearchItem.SearchFlags"
|
||||||
|
args1(10).Value = 71680
|
||||||
|
args1(11).Name = "SearchItem.SearchString"
|
||||||
|
args1(11).Value = "([a-zA-Zа-яА-Я])([a-zA-Zа-яА-Я])"
|
||||||
|
args1(12).Name = "SearchItem.ReplaceString"
|
||||||
|
args1(12).Value = "$1$2"
|
||||||
|
args1(13).Name = "SearchItem.Locale"
|
||||||
|
args1(13).Value = 255
|
||||||
|
args1(14).Name = "SearchItem.ChangedChars"
|
||||||
|
args1(14).Value = 2
|
||||||
|
args1(15).Name = "SearchItem.DeletedChars"
|
||||||
|
args1(15).Value = 2
|
||||||
|
args1(16).Name = "SearchItem.InsertedChars"
|
||||||
|
args1(16).Value = 2
|
||||||
|
args1(17).Name = "SearchItem.TransliterateFlags"
|
||||||
|
args1(17).Value = 1024
|
||||||
|
args1(18).Name = "SearchItem.Command"
|
||||||
|
args1(18).Value = 3
|
||||||
|
args1(19).Name = "SearchItem.SearchFormatted"
|
||||||
|
args1(19).Value = false
|
||||||
|
args1(20).Name = "SearchItem.AlgorithmType2"
|
||||||
|
args1(20).Value = 2
|
||||||
|
args1(21).Name = "Quiet"
|
||||||
|
args1(21).Value = true
|
||||||
|
|
||||||
|
dispatcher.executeDispatch(document, ".uno:ExecuteSearch", "", 0, args1())
|
||||||
|
|
||||||
|
|
||||||
|
end sub
|
||||||
|
sub saveCurrentVersion
|
||||||
|
rem ----------------------------------------------------------------------
|
||||||
|
rem define variables
|
||||||
|
dim document as object
|
||||||
|
dim dispatcher as object
|
||||||
|
rem ----------------------------------------------------------------------
|
||||||
|
rem get access to the document
|
||||||
|
document = ThisComponent.CurrentController.Frame
|
||||||
|
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")
|
||||||
|
|
||||||
|
rem ----------------------------------------------------------------------
|
||||||
|
dim args1(0) as new com.sun.star.beans.PropertyValue
|
||||||
|
args1(0).Name = "VersionComment"
|
||||||
|
args1(0).Value = "Вставка разрыва страниц"
|
||||||
|
|
||||||
|
dispatcher.executeDispatch(document, ".uno:Save", "", 0, args1())
|
||||||
|
|
||||||
|
end sub
|
||||||
|
|
||||||
|
Sub removeEmptyPage
|
||||||
|
|
||||||
|
Dim oViewCursor As Object
|
||||||
|
oViewCursor = ThisComponent.CurrentController.getViewCursor()
|
||||||
|
oViewCursor.jumpToStartOfPage()
|
||||||
|
Dim oTextCursor As Object
|
||||||
|
oTextCursor = oViewCursor.Text.createTextCursorByRange(oViewCursor)
|
||||||
|
oViewCursor.jumpToEndOfPage()
|
||||||
|
oViewCursor.goToRange(oTextCursor,true)
|
||||||
|
|
||||||
|
If oViewCursor.isCollapsed Then
|
||||||
|
oViewCursor.goLeft(1,false)
|
||||||
|
SendRM()
|
||||||
|
Else
|
||||||
|
oViewCursor.jumpToEndOfPage()
|
||||||
|
|
||||||
|
End If
|
||||||
|
oViewCursor.collapseToEnd()
|
||||||
|
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Function getPageStyleNameFromEnum(enumElement)
|
||||||
|
If enumElement.pageDescName = "" AND Not IsEmpty(enumElement.getPropertyValue("PageStyleName")) Then
|
||||||
|
getPageStyleNameFromEnum = enumElement.pageStyleName
|
||||||
|
Else
|
||||||
|
getPageStyleNameFromEnum = enumElement.pageDescName
|
||||||
|
EndIf
|
||||||
|
End Function
|
||||||
|
|
||||||
|
Function getPageNumber(cursor)
|
||||||
|
Dim oField 'Field to insert
|
||||||
|
oTextCursor = cursor.Text.createTextCursorByRange(cursor.Start)
|
||||||
|
oField = ThisComponent.createInstance("com.sun.star.text.textfield.PageNumber")
|
||||||
|
oField.NumberingType = 4
|
||||||
|
oField.SubType = com.sun.star.text.PageNumberType.CURRENT
|
||||||
|
oTextCursor.Text.insertTextContent(oTextCursor, oField, False)
|
||||||
|
getPageNumber = oField.getPresentation(false)
|
||||||
|
oTextCursor.Text.removeTextContent(oField)
|
||||||
|
End Function
|
||||||
|
|
||||||
|
|
||||||
</script:module>
|
</script:module>
|
Loading…
Add table
Reference in a new issue