VBA .SetText 和 .PutInClipboard 将两个符号而不是所需数据放入剪贴板

Cod*_*ers 5 excel clipboard vba

使用 Excel 2016 和对 Microsoft Forms 2.0 对象库的引用,我尝试将 ActiveCell 的内容复制到剪贴板。相反,我的剪贴板的结果内容是以下 2 个符号(如果它们实际上会显示在此文本字段中)。

\n\n

\xef\xbf\xbd\xef\xbf\xbd

\n\n
\xef\xbf\xbd\xef\xbf\xbd\n
Run Code Online (Sandbox Code Playgroud)\n\n

(如果这些符号没有渲染,在 StackOverflow 网站的文本编辑器中,它们看起来像白色矩形。根据我粘贴它的文本编辑器,它们也类似于一个问号,一个包含白色问题的黑色菱形标记,只是一个空格,就像按下空格键一样。)

\n\n

我不想复制任何类型的符号,它是简单的英语。我在其他宏中使用了与此类似的代码,直到今天它仍然有效。代码本身如下。我希望你能帮忙!

\n\n
Dim clipboard As New MSForms.DataObject\n\nclipboard.SetText ActiveCell.Value\nclipboard.PutInClipboard\n\nDebug.Print clipboard.GetText(1)    \nSet clipboard = Nothing\n
Run Code Online (Sandbox Code Playgroud)\n\n

Debug.Print命令打印出所需的文本,但宏完成后,所需的文本不存在,而是再次出现 2 个符号。

\n

小智 7

在 Windows 10 中,如果文件资源管理器打开,则 putinclipboard 不起作用。去搞清楚。

https://www.mrexcel.com/board/threads/copy-cell-address-to-clipboard-issue-putinclipboard-not-working.983442/