用vba如何让excel单元格中的文字进行简繁体转换,vb中有个函数strconv能进行文字的简繁体转换,在vba中能用吗,不能用的话应该用什么方法呢?

解决方案 »

  1.   

    函数strconv在vba中能用怀疑的时候为什么不测试?
      

  2.   

    VB StrConv函数*************
    返回按指定类型转换的 Variant (String)。语法StrConv(string, conversion, LCID)StrConv 函数的语法有下面的命名参数:部分 说明 
    string 必要参数。要转换的字符串表达式。 
    conversion 必要参数。Integer。其值的和决定转换的类型。 
    LCID 可选的。如果与系统LocaleID不同,则为LocaleID(系统LocaleID为缺省值。) 
    设置值conversion 参数的设置值为:常数 值 说明 
    vbUpperCase 1 将字符串文字转成大写。 
    vbLowerCase 2 将字符串文字转成小写。 
    vbProperCase 3 将字符串中每个字的开头字母转成大写。 
    vbWide* 4* 将字符串中单字节字符转成双字节字符。 
    vbNarrow* 8* 将字符串中双字节字符转成单字节字符。 
    vbKatakana** 16** 将字符串中平假名字符转成片假名字符。 
    vbHiragana** 32** 将字符串中片假名字符转成平假名字符。 
    vbUnicode 64 根据系统的缺省码页将字符串转成 Unicode。 
    vbFromUnicode 128 将字符串由 Unicode 转成系统的缺省码页。 *应用到远东国别。**仅应用到日本。注意 这些常数是由 VBA 指定的。可以在程序中使用它们来替换真正的值。其中大部分是可以组合的,例如 vbUpperCase + vbWide,互斥的常数不能组合,例如 vbUnicode + vbFromUnicode。当在不适用的国别使用常数 vbWide、vbNarrow、vbKatakana,和 vbHiragana 时,就会导致运行时错误。下面是一些一般情况下的有效分界符:Null (Chr$(0)),水平制表符 (Chr$(9)),换行 (Chr$(10)),垂直制表符 (Chr$(11)),换页 (Chr$(12)) ,回车 (Chr$(13)),空白 (SBCS) (Chr$(32))。在 DBCS中,空白的实际值会随国家/地区而不同。说明在把 ANSI 格式的 Byte 数组转换为字符串时,您应该使用 StrConv 函数。当您转换 Unicode 格式的这种数组时,使用赋值语句。
      

  3.   

    用vbstrconv进行简繁转换,里面的TraditionalChinese在那里引用呢?
    strData = StrConv(strData, VbStrConv.TraditionalChinese, 1028) 
      

  4.   

    你这个用法看来不能实现,strconv函数在vb6和vba里的用法和.net里的用法有差别
      

  5.   

    那在vba中我想进行简繁转换应该怎么写呢?
      

  6.   

    '声明部分:Private Declare Function LCMapString Lib "kernel32" Alias "LCMapStringA" (ByVal Locale As Long, ByVal dwMapFlags As Long, ByVal lpSrcStr As String, ByVal cchSrc As Long, ByVal lpDestStr As String, ByVal cchDest As Long) As Long
    Private Declare Function lstrlen Lib "kernel32" Alias "lstrlenA" (ByVal lpString As String) As Long
     '函数部分:'简转繁
    Public Function JToF(ByVal Str As String) As String
        Dim STlen As Long
        Dim STf As String
        STlen = lstrlen(Str)
        STf = Space(STlen)
        LCMapString &H804, &H4000000, Str, STlen, STf, STlen
        JToF = STf
    End Function'繁转简
    Public Function FToJ(ByVal Str As String) As String
        Dim STlen As Long
        Dim STj As String
        STlen = lstrlen(Str)
        STj = Space(STlen)
        LCMapString &H804, &H2000000, Str, STlen, STj, STlen
        FToJ = STj
    End FunctionSub tt()
        Cells(2, 1) = JToF(Cells(1, 1))
        Cells(3, 1) = FToJ(Cells(2, 1))
        
    End Sub
      

  7.   

    繁体版的操作系统里,使用vba怎么不能取简体的文字啊,连简体的注释也不能写啊,有什么办法解决吗,取的简体的文字都是乱码。