来自VBA代码的字符串,放在剪贴板中被粘贴为2个问号

时间:2019-04-12 14:43:26

标签: clipboard outlook-vba outlook-2016

我有一个字符串生成器,可以从ASCII代码构建一个随机字符串。 然后将这个字符串放入表单上标签的标题。

For c = 1 To 4

   ' Randomly decide what set of ASCII chars we will use
   iAsc = Int(3 * Rnd + 1)

    'Randomly pick a char from the random set
 Select Case iAsc
 Case 1
   iChr = Int((Asc("Z") - Asc("A") + 1) * Rnd + Asc("A"))
 Case 2
  iChr = Int((Asc("z") - Asc("a") + 1) * Rnd + Asc("a"))
 Case 3
   iChr = Int((Asc("9") - Asc("0") + 1) * Rnd + Asc("0"))
 Case Else
   Err.Raise 20000, , "PasswordGenerator has a problem."
End Select

If c = 1 Then
strResult = strResult & StrConv(Chr(iChr), vbLowerCase)
Else
strResult = strResult & Chr(iChr)
End If

Next c

用户可以单击以下按钮以获取标题文本,并使用以下代码将其放入剪贴板:

strPWord = lblPassword.Caption

DataObj.SetText strPWord
DataObj.PutInClipboard

当用户将代码粘贴到其他位置时,他们看到的只是两个带有问号的小方框。 使用Ctrl + V,右键单击粘贴并使用功能区中的“粘贴”按钮时会发生这种情况。

但是,如果您打开剪贴板(使用剪贴板功能区中的小箭头),则字符串正确存在,并且在窗格中单击它时,它会很好地粘贴。

有人遇到过这样的问题:将剪贴板中的字符串粘贴到2个小框中。 粘贴代码后,我在不同的程序中似乎得到了不同的结果。

Outlook 2016-2个带有问号的小盒子

Word 2016-2个带有问号的小盒子

Excel 2016-2个带有问号的小盒子

记事本-什么也没出现

记事本++-xEFxDFxBFxEFxDFxBF

亲切的问候

马特

0 个答案:

没有答案