返回按指定类型转换的 Variant (String)

本文详细介绍了StrConv函数的使用方法及参数含义,包括如何通过不同的参数设置实现字符串大小写转换、字符宽度转换等功能,并提供了实际的示例代码。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

返回按指定类型转换的 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 格式的这种数组时,使用赋值语句。

常数  值 说明
    vbUpperCase  1 将字符串文字转成大写。
    s = StrConv("AbCdef", 1) 's = "ABCDEF"
    vbLowerCase  2 将字符串文字转成小写。
    s = StrConv("AbCdef", 2) 's = "abcdef"
    vbProperCase 3 将字符串中每个字的开头字母转成大写。
    s = StrConv("ni hao", 3) 's = "Ni Hao"
    每个字的开头 = 前面有空格,与是不是单词无关
    s = StrConv("nihao", 3) 's = "Nihao"
    vbWide*  4* 将字符串中单字节字符转成双字节字符。
    s = StrConv("Ab123你好", 4) 's = "Ab123你好"
    (瘦子变胖子,对中文无效)
    vbNarrow*  8* 将字符串中双字节字符转成单字节字符。
    s = StrConv("Ab123你好", 8) 's = "Ab123你好"
    (胖子变减肥,对中文无效)
    vbKatakana** 16** 将字符串中平假名字符转成片假名字符。
    小鬼子用的
    vbHiragana** 32** 将字符串中片假名字符转成平假名字符。
    小鬼子用的
    vbUnicode  64 根据系统的缺省码页将字符串转成 Unicode。
    对概念不太明白,暂时这样理解:
    Unicode = 在内存里的表现方式(2进制?
    而系统的缺省码页 = 我们所看到的
    s = StrConv("你好", 64) 's = "`O}Y"
    vbFromUnicode 128 将字符串由 Unicode 转成系统的缺省码页。
    应用案例:处理二进制数组与字符串比较时用
    s = StrConv("`O}Y", 128) 's = "你好"
    对于 64、128 的理解不一定正确,但在处理程序间的数据交换时是很有用的,比如用 open 语句打开文本文件。说的比较笼统,只有在接触后才容易体会。
    备注:“*”应用到远东国别,“**”仅应用到日本。
注意:
    这些常数是由 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 格式的这种数组时,使用赋值语句。
StrConv 函数示例:
    本示例使用 StrConv 函数来将 Unicode 字符串转换成 ANSI 字符串。
    Dim i As Long
    Dim x() As Byte
    x = StrConv("ABCDEFG", vbFromUnicode) ' 转换字符串。
    For i = 0 To UBound(x)
        Debug.Print x(i)
    Next
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值