[疑难求助] Excel vba问题求解,有高手吗

Chamillion-avatar

Chamillion

2021-07-06T06:42:17+00:00

因为平时工作中用得比较多,所以写了一个宏,功能是把excel选中单元格的和复制到剪贴板,方便粘贴到erp或者web里
代码如下:
Sub 区域求和并复制()

Dim summ As String
Dim MyData As New DataObject

summ = WorksheetFunction.Subtotal(9, Selection)
MyData.SetText summ
MyData.PutInClipboard

End Sub
这段代码本身是没有任何问题的,因为我和同事正常使用了很长时间了,但是最近升级了Office 365之后,这个宏复制下来的东西就变成了两个框框()

粘贴到文本文档编辑器里以后发现在utf-8编码下是xEFxBFxBFxEFxBFxBF,类似于锟斤拷之类的字符

经过测试,数字在summ这里一切是正常的,可以正常显示,出问题的应该是DataObject类,因为不管往里面.SetText 任何东西,再放入剪切板,都只能粘贴出两个框框

我现在临时呼出一个textbox用来放置计算结果,但始终没有原来方便,有没有高手能解决呢,悬赏一杯奶茶.
BigFern99-avatar

BigFern99

换office版本?
Eli-avatar

Eli

先把要复制的东西转换成string,然后写入剪贴板试试。