Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Как вставить ударение?

23K
11 сентября 2007 года
akokin
11 / / 08.07.2007
Как вставить ударение для выделенного символа? Я делаю так:
 
Код:
Selection.InsertSymbol Font:="Times New Roman", CharacterNumber:=769, Unicode:=True

Но в результате заменяется выделенное слово.
Если я вставляю дополнительно:
 
Код:
Selection.Collapse direction:=wdCollapseEnd

то ничего не происходит.

Подскажите пожалуйста.
Спасибо.
248
11 сентября 2007 года
Dmitry2064
590 / / 06.12.2006
У меня сработало так (сдвинул курсор с выделения вправо):

[COLOR="Navy"]Selection.MoveRight Unit:=wdCharacter, Count:=1 'сдвинули
Selection.InsertSymbol Font:="Times New Roman", CharacterNumber:=769, Unicode:=True[/COLOR]
23K
11 сентября 2007 года
akokin
11 / / 08.07.2007
Цитата: Dmitry2064
У меня сработало так (сдвинул курсор с выделения вправо):

[COLOR="Navy"]Selection.MoveRight Unit:=wdCharacter, Count:=1 'сдвинули
Selection.InsertSymbol Font:="Times New Roman", CharacterNumber:=769, Unicode:=True[/COLOR]



Отлично. Работает. Спасибо.

23K
14 сентября 2007 года
akokin
11 / / 08.07.2007
А вот как теперь удалить знак ударения в выделенной букве или массово в тексте? Спасибо.
Я так понимаю, что нужно сначала найти символ, а потом его удалить. Или я не прав?
248
14 сентября 2007 года
Dmitry2064
590 / / 06.12.2006
По идее вот так:
[COLOR="Navy"]With Selection.Find
'.Font.Name = "Times New Roman" 'можно и не указывать
.Text = Chr(769) 'почему-то при номере 769 не работает, а если задать какой-нить 122(z) или 161 (Ў), то без проблем.
.Replacement.Text = ""
.Forward = True
.Wrap = wdFindStop
.Format = True
End With
Selection.Find.Execute Replace:=wdReplaceAll 'меняем сразу все[/COLOR]

Т.е. надо уточнять, как искать с таким номером, как 769. Либо надо как-то дополнительно описывать искомую строку. :(
23K
14 сентября 2007 года
akokin
11 / / 08.07.2007
Символ 769 особенный, что-ли. Не хочет ни в какую.
Попытался так определить, какой символ содержится в выделении:
 
Код:
Dim selAscW As Long
selAscW = AscW(Selection.Characters(1))
If Selection.Type = wdSelectionNormal Then
   MsgBox prompt:=selAscW, Title:="Проверка выделения"
End If

Получается код выделенной буквы. А то, что над ней есть еще один символ - не определяется.
А может мы не в том направлении копаем?
248
14 сентября 2007 года
Dmitry2064
590 / / 06.12.2006
Предлагаю плюнуть на 769-й и ставить ударение так:
 
Код:
Sub Udarenie()
    Selection.TypeText Text:="`"
    Selection.MoveLeft Unit:=wdCharacter, Count:=1
    Selection.MoveLeft Unit:=wdCharacter, Count:=1, Extend:=wdExtend
    With Selection.Font
        .Spacing = -4.5
    End With
    Selection.MoveRight Unit:=wdWord, Count:=3
End Sub

Другое дело, что потом придется удалять такие ударения тоже макросом с установкой в каждом случае нормальной плотности букв (.Spacing = 0).
23K
17 сентября 2007 года
akokin
11 / / 08.07.2007
нет, знак ударения есть и его надо вставлять. Впрочем, я уже нашел решение, вставляющее и удаляющее знак ударения в выделенной букве.
Спасибо.
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог