【发布时间】:2012-05-09 16:47:36
【问题描述】:
有没有办法识别 MS Excel 工作表上的拖放事件?我正在寻找的是能够在您将文件(例如从桌面)拖放到 MS Excel 工作表中的单元格上(并将文件名插入到单元格中)时能够收听事件。
这完全可以用 Excel 宏来实现吗?
【问题讨论】:
-
您可以使用 UserForm 对象上的“BeforeDragOver”事件来注册拖放操作,但它可以解释的唯一数据是存储在剪贴板上的文本。我不确定这个是否有解决方案......
-
如您所述触发 DragDrop 事件要求此事件在工作簿级别可用,但情况并非如此。 DragDrop 事件仅作为表单的一部分提供,而不是工作簿或工作表。
-
我实际上看到了一些资源,让我认为这是可能的,但我自己无法让它发挥作用。你自己尝试过什么吗? Link from MSDN 就是一个例子。再说一次,我自己也不能让它发挥作用,但这看起来很有希望。
-
@Gaffi 你在这方面有什么成功吗?似乎这种拖放功能适用于添加到工作表的对象(控件)。但它不适用于 Excel
Range、Cell或Worksheet对象本身?所以,OP 答案的答案是 - 不,我猜无法识别 MS ExcelWorksheet的拖放事件 -
@Prokurors 不,我自己没有解决这个问题。
标签: events vba excel drag-and-drop