簡體   English   中英

使用 Excel 365 VBA 將文本復制到剪貼板

[英]Copy text to clipboard with Excel 365 VBA

我想將文本復制到 Windows 10 剪貼板,准備好使用 Ctrl+V 粘貼到適當的外部應用程序中。

我找到了一個我無法工作的有希望的答案: Copy Variable's Contents to Clipboard VBA (Excel 2013)

我的簡化測試代碼:

Sub TestCopyTextToVar()

Dim myData As DataObject
Dim Output As String
Output = "abc"

Set myData = New DataObject
myData.SetText Output
myData.PutInClipboard
MsgBox (Output & " Text has been copied")

End Sub

MsgBox 將輸出正確顯示為“abc”。

粘貼到記事本(或其他應用程序,例如預期的應用程序)中不會顯示任何內容。

TextPad 顯示兩個問號“??”。

你有沒有嘗試過這樣的事情?

將 Excel 光標指向非空單元格,運行下面的 VBA 腳本,然后轉到記事本粘貼剪貼板內容。

Sub TestLoadActivecellToClipboard()
    Clipboard ActiveCell.Value
End Sub

' Copy Excel value to the Windows Clipboard
Function Clipboard$(Optional s$)
    Dim v: v = s  'Cast to variant for 64-bit VBA support
    With CreateObject("htmlfile")
    With .parentWindow.clipboardData
        Select Case True
            Case Len(s): .setData "text", v
            Case Else:   Clipboard = .GetData("text")
        End Select
    End With
    End With
End Function

暫無
暫無

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

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