'例如:
Dim a As Variant'一个过程:Private Sub Pro(b() As Byte)
......
End Sub该如何对a进行转换,才能被过程Pro调用?

解决方案 »

  1.   

    参照我原先的帖子,不过我的是字符串转换,性质一样。我在帖子后面做了个总结,你可以参考一下。
    http://community.csdn.net/Expert/topic/3535/3535800.xml?temp=.9853022
      

  2.   

    这问题怎么听起来这么别扭,感觉就象是在问:
    怎么对大人进行转换,使其变成小孩一样。很难理解!
    为什么想传数组,却要把a声明为Variant?Dim a As Variant
    Private Sub Pro(b As Variant)
    ......
    End Sub
    可以Dim a As() As Byte
    Private Sub Pro(b() As Byte)
    ......
    End Sub
    也可以Dim a() As Byte
    Private Sub Pro(b As Variant)
    ......
    End Sub
    更可以总共只有四种组合方式,除了你那种以外,其它三种都可以,你的眼光真好,一下就选中了!
      

  3.   

    我看了 linton(漠然飞雪) 提供的链接
    我觉得好像没有我需要的功能我主要是希望做转换之后(在 a 确实为一个字节数组的时候)
    能够使用字节数组所具有的功能
      

  4.   

    不确定a是什么类型,就用 
    a As Variant
    Private Sub Pro(b As Variant)
    b可以接收Byte数组,你就按数组处理完全可以,很多函数需要数组的参数都这样声明的。b() As Byte能干的事,用b As Variant都行,
    但b As Variant能干的事,用b() As Byte大多不行这就是大与小的关系!若你非要钻这个牛角尖,不改Sub Pro的参数类型,那就
    Dim c() As Byte
    If IsArray(a) Then
        c = a
        Pro c
    End If