在MS Office中使用VBA,如何将文本添加到Windows剪贴板,以便将其作为表格粘贴到Word中?

有帮助吗?

解决方案

Windows剪贴板支持多种格式。当您想要将东西放在剪贴板中时,您需要对RegisterClipboardFormat()进行一次或多次调用,告诉它您将放置在剪贴板上的对象的格式,然后调用SetClipboardData(),它实际上将数据放入剪贴板

如果您希望能够将表格粘贴到Word中,那么HTML是最简单的格式。只需将HTML表格复制到剪贴板上,它就会正确粘贴到Word中,前提是您首先将剪贴板数据注册为HTML对象。

我会给你一些代码,但最简单的方法是在MSDN上引用一个例子:

如何使用Visual Basic将HTML代码添加到剪贴板

此页面甚至显示了将HTML表复制到剪贴板的示例。

其他提示

Kluge的答案是正确的,但MSDN上这篇不同的文章有更好的代码,更容易重复使用: http://blogs.msdn.com/jmstall/archive/2007/01/21/html-clipboard.aspx

您是否尝试将其格式化为HTML表格?

自从我完成任何Windows编程以来已经有一段时间了,但我似乎记得你注册了对象的格式。实际上,您可以注册多个不同格式的对象,并且粘贴应用程序可以在它们之间进行选择(例如使用Word的Paste Special选项)。

我会尝试创建一个Word表格对象,用你的数据填充它的单元格,然后将其复制到剪贴板上。

剪贴板很棒...但是使用它来保存程序的输出以粘贴到Word中似乎有点粗略。你试图做的是什么,你可能应该做其他方式?

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top