簡體   English   中英

VBA 在剪貼板中存儲格式化文本

[英]VBA store formatted text in clipboard

我需要將一串文本復制/存儲到剪貼板,但需要格式化該文本(字體類型、顏色、粗細等)

Private Sub copyToCB(varText As String)
    Dim x As Variant
    x = varText

    CreateObject("htmlfile").parentWindow.clipboardData.setData "text", x
End Sub

上面的工作是將引用的文本存儲到剪貼板中,但它存儲為純文本。 我希望它是大膽的和紅色的。

我已經在 Inte.net 上搜索了幾個小時,但無濟於事。 你會認為這會很簡單,但我完全不知所措!

如果您使用來自https://stackoverflow.com/a/63735992/478884的 @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 時對我有用

反之亦然? 將干凈的文本復制到剪貼板但沒有任何格式或隱藏或可打印字符?

我需要從一個單元格中復制 excel 數據,但是當我粘貼到任何應用程序中時,txt 已格式化保存,帶有引號和奇怪的內容(例如,在 WhatsApp 中)。

謝謝!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM