Применить стиль к выделенному тексту, а не к выбранному блоку - PullRequest
0 голосов
/ 21 января 2019

это будет легко для любого эксперта VBA, так что, извините за вопрос новичка!У меня есть код для сжатия текста в текстовое поле.На данный момент код сжал весь текст внутри текстового поля, но я хочу, чтобы код работал только для выделенного текста.Как я могу изменить этот код, чтобы он работал?

Большое спасибо заранее!PJ

Sub CondenseText ()

On Error GoTo Catch


Dim o As Shape, b As Boolean
Set o = ActiveWindow.Selection.ShapeRange(1)
If Not o Is Nothing Then
    With o
        .TextFrame2.TextRange.Font.Spacing = .TextFrame2.TextRange.Font.Spacing - 0.1
    End With
End If
Exit Sub

Catch: если Err.Number = -2147188160, то MsgBox CG_NOTHING_SELECTED End Sub

1 Ответ

0 голосов
/ 21 января 2019
Sub CondenseText()

Dim oTextRange2 As TextRange2

' You can check Selection.Type rather than relying
' on an errorhandler if you like
If ActiveWindow.Selection.Type = ppSelectionText Then

    Set oTextRange2 = ActiveWindow.Selection.TextRange2

    If Not oTextRange2 Is Nothing Then
        oTextRange2.Font.Spacing = oTextRange2.Font.Spacing - 0.1
    End If

' and you could add an Else clause with msg for the 
' user here if you like:
Else
    MsgBox "Yo! Select some text first, OK?"    
End If

End Sub
...