【发布时间】:2010-09-22 18:30:30
【问题描述】:
在 MS Office 中使用 VBA,如何将文本添加到 Windows 剪贴板,以便将其作为表格粘贴到 Word 中?
【问题讨论】:
标签: vba ms-word ms-office clipboard
在 MS Office 中使用 VBA,如何将文本添加到 Windows 剪贴板,以便将其作为表格粘贴到 Word 中?
【问题讨论】:
标签: vba ms-word ms-office clipboard
Windows 剪贴板支持多种格式。当您想在剪贴板中放置东西时,您可以调用 RegisterClipboardFormat() 一次或多次,告诉它您将放置在剪贴板上的对象的格式,然后调用 SetClipboardData() 将数据实际放入剪贴板.
如果您希望能够将表格粘贴到 Word 中,那么 HTML 是最容易使用的格式。只需将 HTML 表格复制到剪贴板上,它就会正确粘贴到 Word 中,前提是您首先将剪贴板数据注册为 HTML 对象。
我会给你一些代码,但最简单的方法是参考 MSDN 上的示例:
How to add HTML code to the clipboard using Visual Basic
此页面甚至显示了将 HTML 表格复制到剪贴板的示例。
【讨论】:
您是否尝试过将其格式化为 HTML 表格?
【讨论】:
我已经有一段时间没有进行任何 Windows 编程了,但我似乎记得你注册了对象的格式。实际上,您可以注册多个不同格式的对象,粘贴应用程序可以在它们之间进行选择(例如使用 Word 的Paste Special 选项)。
我会尝试创建一个 Word 表格对象,用您的数据填充它的单元格,然后将其复制到剪贴板上。
【讨论】:
剪贴板很棒...但是使用它来保存程序的输出以粘贴到 Word 中似乎有点粗略。您正在尝试做的事情是什么,您可能应该以其他方式做?
【讨论】: