如何修改MS-Access TextBox的wordSeparators实现双击选整行
关于MS-Access TextBox的wordSeparators设置问题
- Access的TextBox控件没有内置的wordSeparators配置选项,无法像编辑器(如VS Code的
editor.wordSeparators)那样自定义文本选择的分隔符列表,也不能通过标准设置仅将空白字符作为双击选中的分隔依据。 - 这是因为Access的TextBox底层依赖Windows原生编辑控件,其文本选择逻辑是系统级的,微软并未开放相关配置接口给用户。
你当前通过DblClick事件编写的VBA代码,是实现“双击选中整行(仅以空白/换行符为边界)”需求的可行方案。如果需要简化逻辑,可参考优化后的版本:
Private Sub Tekst0_DblClick(Cancel As Integer) Dim fullText As String, currentPos As Integer Dim startPos As Integer, endPos As Integer fullText = Tekst0.Text currentPos = Tekst0.SelStart ' 向前定位选中起始边界(跳过非空白/换行符) startPos = currentPos Do While startPos > 0 If InStr(" " & vbCrLf, Mid(fullText, startPos, 1)) = 0 Then startPos = startPos - 1 Else startPos = startPos + 1 Exit Do End If Loop If startPos = 0 Then startPos = 1 ' 处理行首的特殊情况 ' 向后定位选中结束边界(跳过非空白/换行符) endPos = currentPos Do While endPos < Len(fullText) If InStr(" " & vbCrLf, Mid(fullText, endPos + 1, 1)) > 0 Then Exit Do Else endPos = endPos + 1 End If Loop Tekst0.SelStart = startPos - 1 Tekst0.SelLength = endPos - startPos + 1 Cancel = True End Sub
内容的提问来源于stack exchange,提问作者hennep
相关产品推荐
相关产品推荐

