Использование текстовой объектной модели Microsoft в Access - PullRequest
0 голосов
/ 13 марта 2019

В одном из моих приложений Access я хочу, чтобы пользователь мог пролистывать слова в текстовых полях. В текстовых полях теперь включен форматированный текст, где можно выделить полужирный шрифт, подчеркнуть, изменить цвет и т. Д., Но зачеркивание недоступно.

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

Я ссылался на текстовую объектную модель (том) в моем приложении. Но тогда я не могу установить ссылку на объект, скажем, на предложение, которое было выделено мышью.

Есть ли кто-нибудь, кто знает или может показать мне:

  1. Есть ли в текстовых полях, «обычных» или ActiveX, хуки, которые разрешают доступ к ним с помощью тома?

  2. Если текстовые поля в Access не имеют этой возможности, есть ли другие способы, которыми я могу получить функциональность Strike Through в записях?

  3. Где примеры VBA, которые могут помочь мне в этом?

Большое спасибо за ваш вклад V / R, Джонни

1 Ответ

0 голосов
/ 13 марта 2019

Я не могу помочь вам с TOM, и я не уверен, что редактор RTF вообще может справиться с зачеркиванием - по крайней мере, количество вопросов, касающихся этого, подразумевает это. Вместо этого я предлагаю обходной путь:

Private Sub btnStrikethrough_Click()
    Me.Field1.Value = StrikeThrough(Me.Field1.Value)
End Sub

Function StrikeThrough(Text As String) As String
    For i = 1 To Len(Text)
        StrikeThrough = StrikeThrough & ChrW(822) & Mid(Text, i, 1)
    Next i
End Function

Возможно, это слишком тупо для ваших нужд, но оно пробьет ваш текст. Это делается путем вставки U + 0336 (КОМБИНИРОВАНИЕ ДЛИННОГО НАКЛОНА ХОДА) перед каждым символом, делая объединенный результат видимым. Если у вас есть другое форматирование, оно уничтожит его, но я думаю, что это можно сделать с помощью некоторого анализа.

...