嵌入式Excel COM对象剪贴板干扰

时间:2012-02-23 00:52:14

标签: excel com clipboard ole

我正在用C \ C ++嵌入Excel编写程序并处理它的COM对象。 这种自动化过程可以完美地操作工作表并获得excel功能。

M问题是在处理数据时我使用复制/粘贴操作,因此如果处理需要一些时间,则可能会发生干扰,因为剪贴板在正在运行的进程之间很常见

我不知道是否有办法私有化剪贴板或任何其他想法以避免此类问题

提前致谢

2 个答案:

答案 0 :(得分:1)

您无法制作私人剪贴板,并希望它能够正常剪切/复制/粘贴操作。您可以使用延迟来避免剪贴板冲突。即强制执行复制操作后,请在粘贴前等待几百毫秒。

此外,编程使用剪贴板被认为是不好的做法。提供剪贴板是为了方便用户,而不是程序员。请参阅我最喜欢的关于这个主题的引用:

  

“程序不应将数据传输到剪贴板中   没有来自用户的明确指示。“ - Charles Petzold,   编程Windows 3.1,Microsoft Press,1992

答案 1 :(得分:0)

我找到了一种方法来处理PowerShell脚本:

  • 创建调用脚本/程序的计划任务
  • 将其设置为"运行用户是否已登录"

当您运行计划任务时,Windows会在使用自己的剪贴板的后台会话中启动脚本/程序,而不会干扰您拥有的活动会话。