Как вставить форматированный текст в RichTexBox?

Программирование на Visual Basic for Applications
Кукша12
Новичок
Новичок
 
Сообщения: 47
Зарегистрирован: 09.08.2006 (Ср) 16:43

Как вставить форматированный текст в RichTexBox?

Сообщение Кукша12 » 07.09.2006 (Чт) 10:58

Как вставить форматированный текст в RichTexBox?
В смысле есть разукрашенный текст в основном окне документа(жирный, разноцветный, с курсивом...) Мне нужно вставить его в таком же виде в диалоговое окно RichTexBox, поправить, и потом вставить обратно с теми украшательствами, которые остались/образовались в RichTexBox.

RichTexBox воспринимает вставку из буфера вручную с сохранением форматирования, но сделать это программно я не могу, формат теряется.

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 07.09.2006 (Чт) 10:59

И как же делаем программно?
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

Кукша12
Новичок
Новичок
 
Сообщения: 47
Зарегистрирован: 09.08.2006 (Ср) 16:43

Сообщение Кукша12 » 07.09.2006 (Чт) 11:10

GSerg писал(а):И как же делаем программно?


Ну, начал с ...Box.Text = Selection.Text - не вышло, потом пытался с фокусом ввода, сохранением форматирования и прочим. Вставка срабатывала, но формат терялся.
Просто у меня вообще нет примеров, как это делать правильно, тыкаюсь наобум, иначе бы и не спрашивал.

Viper
Артефакт VBStreets
Артефакт VBStreets
Аватара пользователя
 
Сообщения: 4394
Зарегистрирован: 12.04.2005 (Вт) 17:50
Откуда: Н.Новгород

Сообщение Viper » 07.09.2006 (Чт) 11:19

а мысль попробовать записать макрос при выполнении копирования форматированного текста не приходила в светлую голову автора?
Весь мир матрица, а мы в нем потоки байтов!

Кукша12
Новичок
Новичок
 
Сообщения: 47
Зарегистрирован: 09.08.2006 (Ср) 16:43

Сообщение Кукша12 » 07.09.2006 (Чт) 11:36

!Viper! писал(а):записать макрос при выполнении копирования форматированного текста


Ну, я так и думал, что кто-нить это посоветует...
С момента вызова диалогового окна запись команд в макрос прекращается вплоть до его закрытия. Может я что вырубил по незнанию...
!Viper, попробуй сам, прежде чем советовать - если у тебя срабатывает, стало быть я не прав - буду искать что напортил и буду тебе премного благодарен...

Viper
Артефакт VBStreets
Артефакт VBStreets
Аватара пользователя
 
Сообщения: 4394
Зарегистрирован: 12.04.2005 (Вт) 17:50
Откуда: Н.Новгород

Сообщение Viper » 07.09.2006 (Чт) 11:52

Есть такая фишка. :( Побороть можно сделав тестовую форму с RichTextBox не в VBA а в VB. Запускаешь проект с формой, а в Word запускаешь запись макроса и делаешь действия по копированию.
Весь мир матрица, а мы в нем потоки байтов!

Кукша12
Новичок
Новичок
 
Сообщения: 47
Зарегистрирован: 09.08.2006 (Ср) 16:43

Сообщение Кукша12 » 07.09.2006 (Чт) 12:40

Понял, спасибо. Одна беда - нет у меня VB, не нужен был никогда и соответственно не шарю я как в нём это делается...

Может, есть где русское руководство по RichTextBox?
(ну хоть англицкое)

Viper
Артефакт VBStreets
Артефакт VBStreets
Аватара пользователя
 
Сообщения: 4394
Зарегистрирован: 12.04.2005 (Вт) 17:50
Откуда: Н.Новгород

Сообщение Viper » 07.09.2006 (Чт) 14:25

В RichTextBox есть свойство RTFText, это как раз для текста с форматированием. В Selection имеется свойство FormattedText. Не пробовал соединить эти свойства?

По поводу описания - MSDN или поиск по форуму или в Google
Весь мир матрица, а мы в нем потоки байтов!

Кукша12
Новичок
Новичок
 
Сообщения: 47
Зарегистрирован: 09.08.2006 (Ср) 16:43

Сообщение Кукша12 » 08.09.2006 (Пт) 12:42

удалено автором
Последний раз редактировалось Кукша12 08.09.2006 (Пт) 12:43, всего редактировалось 1 раз.

Кукша12
Новичок
Новичок
 
Сообщения: 47
Зарегистрирован: 09.08.2006 (Ср) 16:43

Сообщение Кукша12 » 08.09.2006 (Пт) 12:42

Пробовал в том числе и так:

Forma.Okno.TextRTF = Selection.FormattedText

Текст вставляется, формат - нет

Пробовал ещё DataObject, но там тоже самое. В нём метод GetFormat показывает только наличие какого-то формата...

Нужна команда тупой вставки из буфера обмена в окно RichTextBox!

Кукша12
Новичок
Новичок
 
Сообщения: 47
Зарегистрирован: 09.08.2006 (Ср) 16:43

Сообщение Кукша12 » 08.09.2006 (Пт) 15:05

Сделал:

Private Sub UserForm_Initialize()
VoprosZamena.Ishodnoe.SetFocus
SendKeys "^v", True
End Sub


Вернуться в VBA

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 9

    TopList