Ответ: Интерлиньяж в Corel X3
А я вот очень люблю с клавиатуры менять интерлиньяж, написал себе давнодавно такой вот комплект, учитывающий тип интерлиньяжа (точный или в процентах)
DecreaseLineSpacing минус 0.1 ед.изм (или 1%) Ctrl-NumPad 1
IncreaseLineSpacing плюс 0.1 ед.изм (или 1%) Ctrl-NumPad 7
DecreaseLineSpacing10 минус 1 ед.изм (или 10%) Ctrl-NumPad 3
IncreaseLineSpacing10 плюс 0.1 ед.изм (или 1%) Ctrl-NumPad 9
такое использование клавиш обусловлено тем, что в кореле уже есть полезные функции у Ctrl-Numpad 2,4,6,8
P.S. у абзацев эти макросы меняют только внутриабзацный интерлиньяж, а не перед/после абзаца - те меняю стандартным способом, т.к. редко надо
Код:
Sub DecreaseLineSpacing() : changeLineSpacingByStep -1, -0.1: End Sub
Sub IncreaseLineSpacing() : changeLineSpacingByStep 1, 0.1: End Sub
Sub DecreaseLineSpacing10() : changeLineSpacingByStep -10, -1: End Sub
Sub IncreaseLineSpacing10() : changeLineSpacingByStep 10, 1: End Sub
Sub changeLineSpacingByStep(pct, inc)
Dim sr As ShapeRange, s As Shape, p As TextRange, l
Set sr = ActiveSelectionRange: On Error GoTo clsbsDONE
ActiveDocument.BeginCommandGroup "change line spacing by " + CStr(pct) + "%" + " (" + CStr(inc) + " pt)"
Optimization = True
EventsEnabled = False
ActiveDocument.SaveSettings
ActiveDocument.PreserveSelection = False
For Each s In sr
If s.Type = cdrTextShape Then
If s.Text.IsArtisticText Then
With s.Text.Story
l = 0
Select Case .LineSpacingType
Case cdrPointLineSpacing: l = .LineSpacing + inc
Case cdrPercentOfPointSizeLineSpacing: l = .LineSpacing + pct
Case cdrPercentOfCharacterHeightLineSpacing: l = .LineSpacing + pct
Case cdrMixedLineSpacing: l = .LineSpacing
End Select
If Round(l, 3) > 0 Then .LineSpacing = l
End With
Else
For Each p In s.Text.Story.Paragraphs: l = 0
Select Case p.LineSpacingType
Case cdrPointLineSpacing: l = p.LineSpacing + inc
Case cdrPercentOfPointSizeLineSpacing: l = p.LineSpacing + pct
Case cdrPercentOfCharacterHeightLineSpacing: l = p.LineSpacing + pct
Case cdrMixedLineSpacing: l = p.LineSpacing
End Select
If Round(l, 3) > 0 Then p.LineSpacing = l
Next p
End If
End If
Next s
clsbsDONE:
ActiveDocument.PreserveSelection = True
ActiveDocument.RestoreSettings
EventsEnabled = True
Optimization = False
Application.CorelScript.RedrawScreen
ActiveDocument.EndCommandGroup
End Sub
для тех кто не любит коды - готовый gms внутри wx_TextSpacing.zip
Вот!