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

问题描述 投票:0回答:1

在我的一个Access应用程序中,我希望用户能够在文本框中删除单词。文本框现在启用了Rich Text,其中可以加粗,下划线,更改颜色等,但Strike Through不可用。

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

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

有没有人知道或可以告诉我:

  1. 文本框(“常规”或ActiveX)是否具有允许使用tom访问它们的钩子?
  2. 如果Access中的文本框没有此功能,是否还有其他方法可以在条目中获得Strike Through功能?
  3. 有哪些vba示例可以帮助我这个?

非常感谢您输入v / r,Johnny

vba ms-access richtextbox
1个回答
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(COMBINING LONG STROKE OVERLAY)来实现,使组合结果可见。如果你有其他格式,它会破坏它,但我认为可以通过一些解析来处理。

© www.soinside.com 2019 - 2024. All rights reserved.