Render.ru

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

devust

Пользователь сайта
Рейтинг
2
#1
Доброго времени суток!

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

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

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

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
тоже не прокатывает

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

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

devust

Пользователь сайта
Рейтинг
2
#2
Нашёл ответ:
s.Text.FontPropertiesInRange(3, 4).Position = cdrSuperscriptFontPosition

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