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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 05.12.2009, 17:50   #1
G_George
Новичок
Джуниор
 
Регистрация: 05.12.2009
Сообщений: 2
По умолчанию Можно ли программно предопределять стиль отдельных слов в строковом выражении?

Уважаемые господа,
Существует ли возможность программно предопределять стиль отдельных слов в строковом выражении? задача следующая: из буфера в текст Word вставляется фраза, полученная из любого приложения, например "Съешь еще одну булочку". Первое слово фразы, вставляемой в текст, должно иметь стиль Bold Italic. Предполагаю, что алгоритм может быть следующим:
1. strCLipText=GetFromClipboard
2 Trim(strCLipText)
3 strArray=split(strClipText," ")
4 strOutput=<Bold><Italic>strArray(0) </Bold></Italic> + strArray(1...n)
5 Locate Place at Text
6 Selection.InsertAfter strOutput
Но как задать форматирование в стрoке 4 - я для наглядности применил форматирование по примеру HTML.
C уважением к сообществу
G_George вне форума Ответить с цитированием
Старый 05.12.2009, 21:04   #2
viter.alex
Балуюсь кодами
Участник клуба
 
Аватар для viter.alex
 
Регистрация: 09.01.2009
Сообщений: 1,837
По умолчанию

Нет, программно это невозможно. Если бы была возможность создать Range без привязки к документу, заполнить его, отформатировать, а затем вставить в документ, тогда возможно. Но…
Если перед вставкой текста Selection сжать (Selection.Collapse wdCollapseEnd), то можно сделать так:
Код:
Selection.InsertAfter strCLipText
Selection.Words.First.Font.Italic = True
Selection.Words.First.Font.Bold = True
Лучше день потерять — потом за пять минут долететь!©
viter.alex вне форума Ответить с цитированием
Старый 05.12.2009, 21:11   #3
G_George
Новичок
Джуниор
 
Регистрация: 05.12.2009
Сообщений: 2
По умолчанию

Спасибо большое за оперативный ответ. Печально, что более элегантного метода нет. Вашу идею использую для написания макроса. Еще раз спасибо.
С уважением...
G_George вне форума Ответить с цитированием
Старый 06.12.2009, 15:47   #4
Aent
Форумчанин
 
Аватар для Aent
 
Регистрация: 17.07.2009
Сообщений: 519
По умолчанию

Можно в тексте разместить поля, отформатировать и затем в цикле по
вставляемой строке только менять значения
Aent вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как можно программно выйти из ждущего режима xakkkkker Win Api 1 13.03.2009 17:26
Количество разных слов в тексте) Если можно сразу код pascal1994 Помощь студентам 1 05.02.2009 10:06
Можно ли как то узнать координаты ярлыков и папок и программно перемещать их? [Smarik] Win Api 3 21.12.2008 12:50
Можно ли программно переименовать папку Rusl92 Общие вопросы Delphi 3 13.09.2008 12:52
Можно программно создать dll из текстового файла? hamann-2006 Помощь студентам 2 29.10.2007 10:41