关于这个主题的许多其他问题,我仍然没有找到可以避免我的问题的东西。
我想知道剪贴板在复制粘贴处理方面的限制是什么,并针对特定用途和程序 ID 限制其复制粘贴功能。
因为,我一直在为我的公司开发一个软件,该软件采用 Word/Excel 和 PowerPoint 中的模板,通过每天更换图片并粘贴模板中的新图形和图片来自动生成报告。
但是,我很害怕,因为它似乎存在一些关于复制到剪贴板的限制
CopyBitmapToClipboard
ActiveWindow.View.PasteSpecial()
当我将表格/图像复制到剪贴板并将其粘贴到 Word/Excel/PowerPoint 中时很好,但如果我现在有 10 个同时生成的并行报告并使用复制粘贴机制,则会发生这种情况它将复制到另一个报表当前正在使用的 Word/Excel/PowerPoint 中。
考虑到,我有 1 个文档,并且将一个巨大的表格复制到剪贴板到 powerpoint 中,最好的情况是 1 秒(这不是),这意味着在 1 天内,我可以生成一个最大值的
1 copy paste procedure = 1 second
1minute = 60 second means 60 copy paste
1hour = 60min x 60 copy paste
1day = 24hours x 3600 copy paste
意味着我总共有86400个复制粘贴/报告。这是不可能的。一个文档永远不会花费至少 1 秒的时间来完成(对于大约 20 页的报告、带有 30 张幻灯片的 powerpoint、带有 6 张的 Excel 工作表)。如何避免复制到剪贴板的内容将被粘贴到错误的文档中,因为两个文档都使用了粘贴功能。
所以,我想知道,是否可以在我的剪贴板中提供参考,告诉他,只复制他的 word/excel/powerpoint 中的内容,而不是复制我刚刚复制的内容 CTRL+C 和在错误的文档中做CTRL+V?
目前,我们每天大约有 50 份报告要生成(考虑到几个月前我们有 2 份报告要生成),计划以 5 分钟为间隔,但是那天我们将有 86400 份每日报告产生?复制粘贴功能会搞砸所有报告并粘贴到错误的报告中。我可能不会在那里协助它,但我想防止这种影响。
我正在用 C#/.NET 编写我的软件,但我无法在其中编写来捕捉是否正在生成当前的计划/报告,因为我运行了一个.bat,它使用我编写的程序来创建报告。
**已编辑:我的.bat内容为:myprogram.exe /objectsourceprogram="" /sourcefile="my template.doc/xls/ppt" /destinationfile="my destination.doc/xls/ppt"
我只是在调度我的批处理文件,唯一可以做的就是等待一个调度完成,然后再开始下一个调度,但这会产生间隔