Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
10.12.2019, 22:54
|
|||
---|---|---|---|
|
|||
Как на VBA сформировать RTF в диалоговом окне? |
|||
#18+
Нужно в диалоговом окне выделить определённое слово и покрасить его красным (ну или синим). Вопрос - как это сделать? Я умею делать такое только через Rich TextBox Control, но этот контрол не доступен в 64 битном MS Word :(. Есть мысль использовать стандартный контрол MSREdit, но в нём я не могу программно изменить свойства части текста - можно лишь выделить подстроку определённой длины и всё - никаких инструментов и свойств нет... Вот и возникла мысль скопировать выделенное слово в переменную, поддерживающую RTF. Там его обрамить в некие RTF-теги чтобы изменить цвет и вставить обратно в контрол MSREdit вместо выделенного. Вот только как это сделать - знаний не хватает... Люди добрые, научите пожалуйста уму-разуму :-) Если изначальная задача решается другим способом - буду безмерно счастлив! ... |
|||
:
Нравится:
Не нравится:
|
|||
|
11.12.2019, 17:43
|
|||
---|---|---|---|
|
|||
Как на VBA сформировать RTF в диалоговом окне? |
|||
#18+
... |
|||
:
Нравится:
Не нравится:
|
|||
|
11.12.2019, 22:55
|
|||
---|---|---|---|
|
|||
Как на VBA сформировать RTF в диалоговом окне? |
|||
#18+
ЦЦа , вообще, я думал, что нужен именно Rich Text. Копируется кусок текста из основного документа в окно, где вносятся некие изменения, а потом этот изменённый кусок вставляется обратно. А слово, из-за которого этот кусок может быть исправлен должно быть подсвечено и в диалоговом окне и в конечном отредактированном куске. То есть, обратно нужно вставлять в том же формате, в котором взяли, чтобы в документе ничего не поломалось, а в Ворде это именно Rich Text, насколько я понимаю. Это корректорское приложение, там не получается просто Text изменить - не видны внесённые правки... Помечается кстати не просто синим, а RGB-цветом (1,2,255), чтобы потом была возможность разом убрать все эти красные метки и не затронуть просто красный текст исходного документа. Это я к тому, что в приведённом примере например есть код вроде .blue("blue text") - он как раз перепутается с обычным синим из исходного документа... А в контол какого типа надо выводить .Msg из приведённого примера? Я не видел такого способа... что это за пример и с чем едят это чудо? В смысле, как пользоваться и где про этот способ почитать? --- ... |
|||
:
Нравится:
Не нравится:
|
|||
|
12.12.2019, 11:17
|
|||
---|---|---|---|
|
|||
Как на VBA сформировать RTF в диалоговом окне? |
|||
#18+
kuksha, э... Выглядит как попытка изобрести уже готовый велосипед - режим рецензирования Word-а. Зачем? ... |
|||
:
Нравится:
Не нравится:
|
|||
|
12.12.2019, 23:43
|
|||
---|---|---|---|
|
|||
Как на VBA сформировать RTF в диалоговом окне? |
|||
#18+
ЦЦа , нет. Если интересно, то это любительское некоммерческе приложение: восстановление буквы Ё в тексте (довольно качественно - даже в каких-то редакциях пользуются, насколько я знаю по переписке), подбор русских замен иностранным словам (нет, это не совсем подбор синонимов - тут всё сложнее...), оценка % иноязычных слов в документе... Посмотреть это творение можно по ссылке --- А что по теме вопроса? Есть соображения? ... |
|||
:
Нравится:
Не нравится:
|
|||
|
19.12.2019, 15:07
|
|||
---|---|---|---|
|
|||
Как на VBA сформировать RTF в диалоговом окне? |
|||
#18+
kuksha ЦЦа , нет. kuksha восстановление буквы Ё в тексте (довольно качественно - даже в каких-то редакциях пользуются, насколько я знаю по переписке), подбор русских замен иностранным словам (нет, это не совсем подбор синонимов - тут всё сложнее...), оценка % иноязычных слов в документе... --- kuksha А что по теме вопроса? Есть соображения? kuksha Если изначальная задача решается другим способом - буду безмерно счастлив! ... |
|||
:
Нравится:
Не нравится:
|
|||
|
19.12.2019, 15:23
|
|||
---|---|---|---|
|
|||
Как на VBA сформировать RTF в диалоговом окне? |
|||
#18+
kuksha, Относительно RTF. Можно окно соответствующего системного класса засунуть в диалог на основе MSForms. Ни на что не претендующий пример прилагаю. Но в 64-битном VBA на (почти) ровном месте возникает ошибка при отправке окну сообщения и вызове callback-функции. Может, получать текст в формате RTF для данного приложения и не нужно, но ошибка тем более досадная, что имеет вероятностный характер. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
19.12.2019, 23:36
|
|||
---|---|---|---|
|
|||
Как на VBA сформировать RTF в диалоговом окне? |
|||
#18+
ЦЦа Хорошо, чем не устраивает диалог более-менее стандартного spell checker-а?. 1. Если изменение заведомо только в ОДНОМ слове, то есть в "ёфикаторе", то всё правильно. В этом случае нужно постоянно следить, чтобы строка с заменяемым словом была выше диалогового окна - гиморно, но решаемо. 2. Но, в инструменте замены иностранных слов на русские этот способ не подходит - очень часто там половину предложения надо менять, замена только одного слова не прокатывает. Поэтому я копирую всё предложение в диалоговое окно и после исправления вставляю обратно всё что редактор наизменял. Увы, и мне и пользователям удобнее иметь дело с одним способом правки, так что... Да, можно сделать так, чтобы правки вносились прямо в текст, но там были какие-то сбои с немодальным окном... То ли цикл не останавливался и пролетал "насквозь", то ли с коонтитулами были грабли... Разработка велась несколько лет назад и сейчас не смогу написать что за грабли были при этом способе. Но, точно помню, что ломал ноги и перешёл на модальные окна... Так что, хотелось бы разобраться с изменение цвета слова через прямое изменение RTF , прежде чем опять возвращаться к немодальным окнам и опять наступить на старые грабли... ... |
|||
:
Нравится:
Не нравится:
|
|||
|
20.12.2019, 00:03
|
|||
---|---|---|---|
|
|||
Как на VBA сформировать RTF в диалоговом окне? |
|||
#18+
kuksha хотелось бы разобраться с изменение цвета слова через прямое изменение RTF Берёте спецификацию RTF (местный парсер корёжит прямую ссылку, см. External links), читаете, вносите цвет в таблицу цветов (colortbl) и ставите контрольное слово (cfN/cbN) перед своим словом. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
20.12.2019, 08:38
|
|||
---|---|---|---|
|
|||
Как на VBA сформировать RTF в диалоговом окне? |
|||
#18+
ЦЦа, за пару ключевых слов спасибо, но как увидеть исходный RTF-код из документа Word и вставить обратно? Сейчас я копирую туда и обратно через клипборд и не вижу исходного RTF, а его изменение идёт через вызовы внутренних методов RichTx32-контрола... ... |
|||
:
Нравится:
Не нравится:
|
|||
|
|
start [/forum/topic.php?fid=61&tablet=1&tid=2171946]: |
0ms |
get settings: |
12ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
32ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
40ms |
get tp. blocked users: |
2ms |
others: | 285ms |
total: | 404ms |
0 / 0 |