Ищете простой текстовый редактор для VBA - PullRequest
3 голосов
/ 24 ноября 2011

Я бы хотел, чтобы мои пользователи могли вводить форматированный текст (жирным шрифтом, курсивом и подчеркиванием, но, вероятно, не более того) в поле ввода в пользовательской форме VBA.

Я не хочупользователю нужно что-то устанавливать, поэтому мне нужно, чтобы это было чем-то, что использует то, что Office или Windows уже предоставляют.Очевидным кандидатом является встроенный в Windows элемент управления Rich Edit .

. Я провел быструю проверку и убедился, что могу создать окно этого типа из VBA, но в этом ему не хватает:весь пользовательский интерфейс и т. д. Я действительно мог бы использовать пример того, как я могу затем превратить это во что-то пригодное для использования.

Я рад рассмотреть альтернативные элементы управления, если они гарантированно не требуют никакогоустановка (кроме как часть файла Excel, содержащая остальную часть моего кода VBA).Он должен работать на Windows XP и выше, а также на Office 2003 и выше.

Ответы [ 3 ]

1 голос
/ 01 декабря 2011

Вы можете просто попробовать сделать простой интерфейс самостоятельно.Добавьте командную кнопку в форму, которая выделит выделенный текст в элементе управления rich edit.Или добавьте командную кнопку, которая будет курсивом или скопировать или вставить.Ваше воображение - ваш предел.

Я проверял Rich Edit Version 1.0 в Excel 2010 и мог получить доступ к тексту в элементе управления.

0 голосов
/ 14 декабря 2011

Поместите это здесь, чтобы исключить это ...

Кажется, что "Microsoft InkEdit Control", который доступен из "Дополнительные элементы управления" на панели инструментов, является надмножеством Rich Text Edit.control (как следует из названия, он также поддерживает Ink).

Трудно сказать, широко ли он установлен - он на моей машине с XP / 2003, но не на моей машине с 2K / 2K.(Я видел, что сказано, что он установлен с Vista и Win7, но, очевидно, есть и более ранние версии).

В любом случае, я исключаю это, потому что использование элемента управления приводит к сообщению во время выполнения дляЭффект, что элемент управления ActiveX является «небезопасным» (предположительно, связан с известной проблемой с самим элементом управления Rich Text).

0 голосов
/ 29 ноября 2011

Открыв окно панели инструментов в редакторе Visual Basic в Excel, выберите в меню «Инструменты» -> «Дополнительные элементы управления».Установите флажок рядом с MSREdit Class.Это добавит элемент управления расширенным текстом к вашей панели инструментов.Оттуда вы можете добавить его в пользовательскую форму.

Я тестировал этот элемент управления как в Office 2003 в Windows XP, так и в Office 2010 в Windows 7. Похоже, вам все равно нужно будет предоставить пользовательский интерфейс для разрешения пользователювыделять жирным шрифтом, курсивом и подчеркиванием.

Он принимает вставку (через Ctrl+V) некоторого форматированного текста, который я скопировал из Word, но я не мог понять, как заставить его переключать форматирование шрифта при вводе текста в элемент управления.

...