Чем заменить richtx32.ocx?

Программирование на Visual Basic for Applications
Кукша
Начинающий
Начинающий
 
Сообщения: 24
Зарегистрирован: 04.10.2005 (Вт) 11:40

Чем заменить richtx32.ocx?

Сообщение Кукша » 27.06.2017 (Вт) 16:37

Используя ActivX-компоненту richtx32.ocx, столкнулся с кучей неудобств.
Можно ли каким-то другим способом получить RichTextBox в диалоговом окне VBA в MS Word?
Например в system32 есть richtx20.dll или msftedit.dll, но непонятно как ими воспользоваться в VBA...
Или подскажите любой другой способ работы с RTF в диалоговых окнах макросов MS Word.

В качестве почти оффтопика те самые неудобства:
1) зарегистрировать richtx32.ocx для простого пользователя часто затруднительно - побороть UAC не всякий может.
2) не могу вставить RTF-текст из буфера обмена в элемент RichTextBox, кроме как через эмуляцию клавиш Shift+Insert ( у такой эмуляции лезут непредсказуемые глюки).

ЗЫ: помогите пожалуйста, реально пользователей жалко, ибо проект некоммерческий...

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16473
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Re: Чем заменить richtx32.ocx?

Сообщение Хакер » 27.06.2017 (Вт) 16:50

Кукша писал(а):1) зарегистрировать richtx32.ocx для простого пользователя часто затруднительно - побороть UAC не всякий может.

Используй подход «ActiveX без регистрации» с помощью SxS-резолвинга за счёт манифестов.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

Кукша
Начинающий
Начинающий
 
Сообщения: 24
Зарегистрирован: 04.10.2005 (Вт) 11:40

Re: Чем заменить richtx32.ocx?

Сообщение Кукша » 27.06.2017 (Вт) 17:29

Хакер, очень бы хотелось на пример рабочего кода VBA посмотреть...

Кукша
Начинающий
Начинающий
 
Сообщения: 24
Зарегистрирован: 04.10.2005 (Вт) 11:40

Re: Чем заменить richtx32.ocx?

Сообщение Кукша » 29.06.2017 (Чт) 2:03

Нашёл всё-таки как это делается:
https://msdn.microsoft.com/VBA/Access-V ... -clipboard
но поскольку там задано
CF_TEXT = 1
, то вставляется голый текст.
А как вставить RTF? В стандартных типах данных клипборда я RTF не вижу...

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16473
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Re: Чем заменить richtx32.ocx?

Сообщение Хакер » 06.07.2017 (Чт) 14:59

Не ходил по ссылке, но пробовал ли ты vbCFRTF?
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.


Вернуться в VBA

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

Сейчас этот форум просматривают: SemrushBot и гости: 9

    TopList