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

多次正常运行后触发Run time error 1004的原因求助

InkPicture粘贴Excel单元格触发Run-time error 1004的成因

问题说明

开发功能时,将InkPicture区域绘制的内容保存至指定单元格,代码初期可正常运行数次,但一段时间后弹出Run time error 1004(提示“Microsoft Excel无法粘贴数据”),错误定位在sh.Paste代码行。

涉及代码

Private Sub CommandButton1_Click()
Dim sh As Worksheet
Dim c As Range
Set sh = ThisWorkbook.Sheets("Database")
    For Each c In Range("J2:J20")
        If c.Value = "" Then
           c.Value = Now()
            InkPicture1.Ink.ClipboardCopy
            c.Select
            sh.Paste
            MsgBox "The signature has been saved!", vbOKOnly + vbInformation, "Signature"
            Exit For
        End If
    Next c
            
End Sub

可能成因

  • 剪贴板状态异常:Ink.ClipboardCopy依赖系统剪贴板存储墨迹数据,多次操作后剪贴板可能未被正确清空、释放,出现数据残留或损坏,导致Excel无法读取有效粘贴内容。
  • 粘贴上下文冲突:代码用c.Select切换选中单元格,但Paste操作依赖当前活动工作表和选中状态,多次循环或后台交互可能导致活动上下文混乱,粘贴目标与实际上下文不匹配。
  • 对象资源泄漏:重复执行剪贴板操作和工作表交互,未及时释放Range、Worksheet等对象资源,长期运行后Excel对象资源耗尽,引发粘贴失败。
  • 墨迹格式兼容性问题:多次复制后,InkPicture的剪贴板数据格式可能出现偏移,Excel无法识别或解析该格式,导致粘贴报错。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.20 19:36:32