1. Пользоваться форумом на планшетах и телефонах стало удобнее благодаря Tapatalk

Corel X6 VBA Верхний индекс

Тема в разделе "CorelDraw", создана пользователем devust, 12 янв 2016.

Модераторы: Артер
  1. devust

    devust Пользователь сайта

    С нами с:
    12.01.2016
    Сообщения:
    2
    Симпатии:
    0
    Баллы:
    2
    Доброго времени суток!

    Есть вопрос - никак решить не могу.
    В общем, нужно часть текста перевести в верхний индекс.

    Ну какая-то банальщина, а не работает.

    Автоматическая запись макросов, блин, не работает:

    Sub Macro4()
    ' Recorded 11.01.2016
    Dim OrigSelection As ShapeRange
    Set OrigSelection = ActiveSelectionRange
    ' Recording of this command is not supported: TextUndoRedo
    End Sub

    Это всё, что корел автоматом записал.

    Делаю так:


    Dim s As Shape
    Dim d As Document

    Set d = ActiveDocument

    For Each s In d.ActivePage.FindShapes(, cdrTextShape)

    s.Text.Range(3, 4).Position = cdrSuperscriptFontPosition

    Next s

    Не работает. Пишет ошибку:

    Run-time error '-2147024809 (80070057)':
    Значение вне диапазона. Оно должно быть в диапазоне от 0 до 1

    Почему-то здесь может быть только cdrNormalFontPosition или cdrSubscriptFontPosition
    т.е. нормальное положение и нижний индекс. А верхний?

    Есть ещё такой вариант:
    s.FontPropertiesInRange(3, 4).Position = cdrSuperscriptFontPosition
    тоже не прокатывает

    На просторах интернета есть ещё какие-то варианты, но ничего не работает.
    Вопрос: как перевести в верхний индекс?

    И ещё, почему элементарные действия сам корел в макрос не записывает.
    Там вообще много чего корел не записывает - может отключено что?
     
  2. devust

    devust Пользователь сайта

    С нами с:
    12.01.2016
    Сообщения:
    2
    Симпатии:
    0
    Баллы:
    2
    Нашёл ответ:
    s.Text.FontPropertiesInRange(3, 4).Position = cdrSuperscriptFontPosition

    Так работает. Всё, тему закрывайте )) Спасибо.
     
Модераторы: Артер

Поделиться этой страницей