如题

解决方案 »

  1.   

    arrSend(0) = &H80 + Hex(1) 和arrsend(0)=&H81
    没有什么区别吧?!最终结果都为十六进制81啊Hex(1)是将十进制转换为十六进制。
      

  2.   

    尽管结果一样,但区别还是有的:Function Hex(Number)
        VBA.Conversion 的成员
        返回表示一个数的十六进制值的字符串
      

  3.   

    那来这种代码?简直是(@#^$*@(#^(*@^#$(*&%@#莫名其妙~~~~~~~~
    &H80 + Hex(1)
    ----   ------   从没见有人这样用过,hoho~~~~~~~
    Byte   String
      

  4.   

    &H80    + Hex(1)
    -------   ------   从没见有人这样用过,hoho~~~~~~~
    Integer   String
      

  5.   

    结果一样。过程不一样:arrSend(0) = &H80 + Hex(1) 首先调用 Hex 函数,得到 "1"。再做类型转换变成 1(有点没事找事的味道),与 &H80 相加。最后将结果 &H81 赋值给 arrSend(0)。arrsend=&H81 更直接。因为没有使用下标,直接赋值给缓冲区指针(偏移量=0)所指的地址。
      

  6.   

    &H80    + Hex(1)
    -------   ------   从没见有人这样用过,hoho~~~~~~~
    Integer   String
    还好HEX内的参数是1,如果是10之类的数的话就出现类型不匹配的问题了。