奇怪了,在98系统上用SendKeys函数发送文字到word里怎么都成乱码了,而发送到记事本里是正常的,我在2000和xp系统上调试不会这样的,有人遇到过这样的事情吗?

解决方案 »

  1.   

    ANSI、DBCS 和 Unicode 的定义Visual Basic 使用 Unicode 存储和操作字符串。Unicode 是一种用两个字节表示一个字符的字符集。另外一些程序,如 Windows 95 API,使用 ANSI (American National Standards Institute) 或 DBCS 存储和操作字符串。当从 Visual Basic 移出字符串时,会遇到 Unicode 和 ANSI/DBCS 之间的差别。下表列出了不同环境下 ANSI、DBCS 和 Unicode 字符集。环境 使用的字符集 
    Visual Basic Unicode 
    32-bit 对象库 Unicode 
    16-bit 对象库 ANSI 和 DBCS 
    Windows NT API Unicode 
    Automation in Windows NT Unicode 
    Windows 95 API ANSI 和 DBCS 
    Automation in Windows 95 Unicode 
      

  2.   

    SendKeys的函数你要换一下,98不支持unicode
      

  3.   

    放一个unicode的98专用dll,试试看。
      

  4.   

    放一个unicode的98专用dll,试试看。
    请问  哪里有的下载?
      

  5.   

    用Convert函数转换一下格式试试。
      

  6.   

    可以先把你要发送的字符粘贴到剪切板上,然后发送 Ctrl + V ,代码如下:
        Clipboard.Clear
        Clipboard.SetText "字符串"
        Debug.Print TypeName(Screen.ActiveControl)
        SendKeys "^v"这样应该可以的,试试吧