VBA 在剪贴板中存储格式化文本
VBA store formatted text in clipboard
我需要 copy/store 将一串文本放入剪贴板,但需要格式化该文本(字体类型、颜色、粗细等)
Private Sub copyToCB(varText As String)
Dim x As Variant
x = varText
CreateObject("htmlfile").parentWindow.clipboardData.setData "text", x
End Sub
上面的工作是将引用的文本存储到剪贴板中,但它是以纯文本形式存储的。我希望它是例如粗体和红色。
我已经在 Internet 上搜索了几个小时,但无济于事。你会认为这会很简单,但我完全不知所措!
如果您使用位于
的@GMCB 的剪贴板 类
你可以这样做:
Sub TestCopying()
CopyWithSomeFormatting "This should paste as red/bold"
End Sub
Sub CopyWithSomeFormatting(txt As String)
Dim myClipboard As New vbaClipboard 'Instantiate a vbaClipboard object
myClipboard.SetClipboardText _
"<span style='color:#F00;font-weight:bold'>" & txt & "</span>", "HTML Format"
End Sub
至少在粘贴到 Word/Excel
时对我有用
我需要 copy/store 将一串文本放入剪贴板,但需要格式化该文本(字体类型、颜色、粗细等)
Private Sub copyToCB(varText As String)
Dim x As Variant
x = varText
CreateObject("htmlfile").parentWindow.clipboardData.setData "text", x
End Sub
上面的工作是将引用的文本存储到剪贴板中,但它是以纯文本形式存储的。我希望它是例如粗体和红色。
我已经在 Internet 上搜索了几个小时,但无济于事。你会认为这会很简单,但我完全不知所措!
如果您使用位于
你可以这样做:
Sub TestCopying()
CopyWithSomeFormatting "This should paste as red/bold"
End Sub
Sub CopyWithSomeFormatting(txt As String)
Dim myClipboard As New vbaClipboard 'Instantiate a vbaClipboard object
myClipboard.SetClipboardText _
"<span style='color:#F00;font-weight:bold'>" & txt & "</span>", "HTML Format"
End Sub
至少在粘贴到 Word/Excel
时对我有用