我想将文本复制到Windows 10剪贴板,准备使用Ctrl + V粘贴到适当的外部应用程序中。
我找到了一个我无法工作的有希望的答案: 将变量的内容复制到剪贴板 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"。
粘贴到记事本(或其他应用,如预期应用程序(中不显示任何内容。
文本板显示两个问号"??"。
你试过这样的事情吗?
将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