Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Word
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 25.07.2014, 14:00   #1
strokky
Пользователь
 
Регистрация: 25.07.2014
Сообщений: 12
По умолчанию Замена числового символа на подстрочный после определенного символа

Добрый день!

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

В тексте есть выражения А1, С2, нужно чтобы цифра после буквы в таком сочетании символов стала подстрочной
strokky вне форума Ответить с цитированием
Старый 25.07.2014, 15:48   #2
shanemac51
Участник клуба
 
Аватар для shanemac51
 
Регистрация: 12.08.2010
Сообщений: 1,077
По умолчанию

ПОПРОБУЙТЕ НА КОПИИ
Код:
Sub w140725_1540()

  
Dim c1, ctraf
For Each c1 In Word.ActiveDocument.Characters
If InStr("123456789", c1) > 0 Then
If ctraf Like "[а-яА-Яa-zA-Z]" Then
    c1.Font.Subscript = wdToggle
    End If
    End If
    ctraf = c1
    Next c1
End Sub
Имя-Галина== почта shanemac51@yandex.ru скайп shanemac51 c 8-15мск будни
Сфера интересов--word-excel-access-распознавание
shanemac51 вне форума Ответить с цитированием
Старый 25.07.2014, 19:45   #3
strokky
Пользователь
 
Регистрация: 25.07.2014
Сообщений: 12
По умолчанию

Спасибо!

Но не совсем то чего хотелось бы. Макрос меняет все цифры без разбора, которые идут после букв на подстрочные, а если две цифры подряд он их пропускает, а при повторном прогоне цифры возвращает обратно в строчные, а там где было две цифры подряд меняет первую на подстрочную
strokky вне форума Ответить с цитированием
Старый 25.07.2014, 21:24   #4
strokky
Пользователь
 
Регистрация: 25.07.2014
Сообщений: 12
По умолчанию

Друзья не кидайтесь кирпичами пож, макрос в ворде пытаюсь написать первый раз, раньше только в экселе делал и то простенькие.

Попытался так. Естественно не получилось(((

Код:
Sub r116()

Dim x, с As Variant
Dim i As Long
For i = 1 To i = Len(Word.ActiveDocument.Content)
'With Word.ActiveDocument.Characters
If x(i) = "с" And IsNumeric(x(i) + 1) Then
    x (i) + 1 = c
    c.Font.Subscript = wdToggle
    End If
Next i
End Sub
strokky вне форума Ответить с цитированием
Старый 26.07.2014, 02:56   #5
Ципихович Эндрю
Старожил
 
Регистрация: 24.01.2011
Сообщений: 3,034
По умолчанию

здесь
For i = 1 To i = Len(Word.ActiveDocument.Content)
как минимум должно быть
For i = 1 To Len(Word.ActiveDocument.Content)
то есть от 1 до количества содержимого в активном документе
Ципихович Эндрю вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Удалить значения после определенного символа Banjo Microsoft Office Excel 17 04.04.2017 14:06
Как считать строчку до определенного символа? mazzahaker Общие вопросы C/C++ 3 29.03.2012 18:02
Удаление строки до определенного символа glebast Помощь студентам 25 02.03.2012 01:30
Режим строку до определенного символа Claster Помощь студентам 2 01.09.2011 15:27
Замена определенного символа в строке на заданный. vladjke C++ Builder 2 15.06.2011 00:02