在Access中使用Microsoft的文本对象模型

时间:2019-03-13 17:41:14

标签: vba ms-access richtextbox

在我的一个Access应用程序中,我希望用户能够删除文本框中的单词。这些文本框现已启用“富文本格式”,可以在其中加粗,加下划线,更改颜色等,但“删除线”不可用。

我当时以为文本对象模型是可行的方法,但是找不到用vba编写的代码在任何地方使用的示例。

我在我的应用程序中引用了文本对象模型(tom)。但是,然后,我无法将对象引用设置为已用鼠标选择的句子。

有没有认识或可以向我展示的人:

  1. “常规”或ActiveX文本框是否都具有允许使用tom访问它们的钩子?

  2. 如果Access中的文本框不具有此功能,是否还有其他方法可以使条目中的删除线功能得到实现?

  3. 哪里有vba示例可以帮助我解决这个问题?

非常感谢您的输入 v / r, 约翰尼

1 个答案:

答案 0 :(得分:0)

我无法为您提供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(合并长笔画叠加)来实现此目的,使合并结果可见。如果您有其他格式,它将破坏它,但是我认为可以通过一些解析来处理。