You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何修改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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.15 10:13:16