【问题标题】:Detect user initiated copy检测用户启动的副本
【发布时间】:2019-01-05 18:07:35
【问题描述】:

我已将Win API Clipboard work-around 用于 VB 剪贴板中的错误,但在这样做之后意识到它并没有真正涵盖我需要的内容。

我真正需要的是一种方法来检测用户是否在启动宏过程之前手动启动了范围复制 [CTRL+C]。 Excel 为我们提供了复制单元格周围的行军蚂蚁,该单元格也是活动单元格,但到目前为止,我无法辨别单元格边框属性中的任何区别,指示行军蚂蚁或其他。

测试 WIN API 剪贴板作为辅助解决方法可能会有所帮助,但最好检测正在复制的活动 Excel。

【问题讨论】:

    标签: excel vba


    【解决方案1】:

    试试这个:

    MsgBox Application.CutCopyMode = xlCopy
    

    【讨论】:

      【解决方案2】:

      感谢 Excel 英雄,工作很棒。

      还尝试了 Application.CommandBars("Standard").Controls("&Undo").List(1) 在“Excel VBA How to detect if something was pasted in a Worksheet”中提出的解决方案,但我的 Excel 2007 不包含 List 属性。鉴于您的解决方案更简单,我没有继续解决 List 问题。

      是的,但如果 List 属性确实存在,撤消同样会显示“复制”字符串。

      【讨论】:

      • 这仅检测粘贴,而不检测正在进行的首选活动副本。
      猜你喜欢
      • 1970-01-01
      • 2018-03-18
      • 2015-12-06
      • 2011-08-29
      • 1970-01-01
      • 1970-01-01
      • 2015-03-02
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多