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

Excel中Richtextbox执行Ctrl-C复制或拖放操作时崩溃求助

Excel使用Richtx32.ocx的RichTextBox控件执行复制/剪切/拖放后10秒崩溃

环境

  • 操作系统:Windows 11 Pro 23H2
  • 使用控件:Richtx32.ocx
  • Office版本:Office 365

操作步骤

  • 新建Excel工作簿
  • 创建UserForm1
  • 在UserForm1中插入RichTextBox控件
  • 执行以下VBA代码显示窗体:
Sub RTBX()
    With Userform1
        .Richtextbox.Show 0
    End With
End Sub
  • 在RichTextBox中输入任意文本
  • 尝试执行复制/剪切或拖放文本操作

问题现象

完成上述操作后,Excel会在10秒左右无响应并崩溃,且操作过程中RichTextBox的KeyPress或KeyDown事件完全未触发。已尝试Office 365的两种官方修复(快速修复、联机修复),问题仍存在。

解决方案尝试

1. 替换兼容性更好的控件

Richtx32.ocx是老旧的ActiveX控件,对Windows 11和现代Office 365的适配性很差,优先考虑替换:

  • 如果不需要富文本格式,直接改用Office原生的TextBox控件,完全规避兼容性问题
  • 若必须使用富文本,可以尝试第三方的.NET富文本控件(需通过COM互操作在VBA中调用,需注意控件注册)

2. 手动接管复制/剪切逻辑,绕过控件默认行为

通过拦截鼠标和键盘事件,自己实现复制/剪切的逻辑,避免触发控件自带的崩溃流程:

' 粘贴到UserForm的代码模块中
Private Sub RichTextBox1_MouseUp(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
    ' 处理右键复制
    If Button = 2 Then
        If RichTextBox1.SelLength > 0 Then
            Clipboard.SetText RichTextBox1.SelText
        End If
    End If
End Sub

Private Sub RichTextBox1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
    ' 处理Ctrl+C复制、Ctrl+X剪切
    If Shift = 2 Then
        Select Case KeyCode
            Case vbKeyC
                If RichTextBox1.SelLength > 0 Then
                    Clipboard.SetText RichTextBox1.SelText
                End If
                KeyCode = 0 ' 阻止控件默认处理
            Case vbKeyX
                If RichTextBox1.SelLength > 0 Then
                    Clipboard.SetText RichTextBox1.SelText
                    RichTextBox1.SelText = ""
                End If
                KeyCode = 0 ' 阻止控件默认处理
        End Select
    End If
End Sub

注意:这个方法只能覆盖右键复制、Ctrl+C/X的场景,拖放操作的处理需要额外拦截相关事件,且无法彻底解决控件本身的底层兼容性问题,只能作为临时 workaround。

3. 重新注册适配版本的控件

如果一定要用Richtx32.ocx,尝试重新注册适配Windows 11的版本:

  1. 下载与你的Office位数(32/64位)匹配的Richtx32.ocx兼容版本
  2. 以管理员身份打开命令提示符,执行注册命令:
regsvr32 "C:\你的控件路径\Richtx32.ocx"
  1. 重启Excel后测试问题是否缓解

内容的提问来源于stack exchange,提问作者JoshuaR

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.14 14:17:07