【发布时间】:2016-06-06 20:33:49
【问题描述】:
使用剪贴板从PDF 复制数据后。我在clipboard 中有三个数据块,我想Paste 每个在Excel-2007 的不同位置让我们说:
剪贴板
3中的数据应粘贴到A1中剪贴板
2中的数据应该粘贴到C1中剪贴板
1中的数据应粘贴到E1中
VBA 代码
ActiveSheet.Paste
在这里不起作用,它只会粘贴最后复制的内容。
是否可以使用Excel VBA 处理Clipboard 以及如何处理?
【问题讨论】:
-
据我所知,这个问题已经被问过,但从未得到答案:stackoverflow.com/questions/25807122/…。然而,对我来说,问题是数据是如何进入剪贴板的。 VBA 有变量和对象,可以很容易地用来存储和复制它们。你为什么不改用这些呢?
-
正如我提到的,数据是从 PDF 文件中复制的(3 或 4 个不同的位置)。如果我使用变量来复制数据,它不会考虑表格。
-
There is software out there to convert PDFs to Excel. 但是,您必须购买它才能使用它。如果您没有任何 API(使用 VBA 自动执行此操作)可以使用,那么您必须手动完成。即使@Vityata 提供的答案可能不是您喜欢的(不幸的是)正确答案,并且 VBA / Excel 本身也无法按照您想要的方式处理 PDF。
-
我尝试使用
Application.SendKeys无济于事。我所能做的就是打开办公室剪贴板窗格。从那里开始,我无法循环浏览列表。有更多知识的人可能能够扩展这个想法。 -
当然可以让 VBA 访问剪贴板,但不能使用 VBA 对象模型中的方法 - user32 和 kernel32 API 库将允许您执行此操作,而 VBA 可以访问
标签: vba excel excel-2007 clipboard