Dim myChar As Char抛出编译错误:“未定义用户定义的类型”
要使用Char类型,我应该包含什么引用?
发布于 2015-02-20 16:17:47
VBA中不存在Char类型,应改用String。
Dim myChar As String注意,VBA和VB.NET是不一样的,在VB.NET中,你可以使用Char。
编辑:遵循MichałKrzych的建议,我将使用固定长度的字符串来实现此特定目的。
Dim myChar As String * 1以下是"VBA Developer's Handbook" by Ken Getz and Mike Gilbert的摘录:
“动态字符串需要更多的处理工作,因此,使用起来有点慢。”...“在一次处理单个字符时,使用声明为包含单个字符的固定长度字符串是有意义的。因为您知道字符串中始终只有一个字符,所以您永远不需要裁剪多余的空格。您可以在不增加额外开销的情况下获得固定长度字符串的好处。”
需要注意的是,函数和子例程中不允许使用固定的字符串表示法;
不允许使用Sub foo (char as string *1)‘
..。
结束子对象
所以你要么需要使用;
Sub foo (char as string)‘这将允许任何字符串通过
或
Sub foo (char as byte)‘字符串需要转换才能工作
使用字节时需要注意的一件事是,字节是否为无符号没有标准。VBA使用无符号字节,这在这种情况下很方便。
发布于 2015-02-20 16:00:48
我认为这取决于你打算如何使用它:
Sub Test()
Dim strA As String, strB As Byte, strC As Integer, strD As Long
strA = "A"
strB = 65
strC = 75
strD = 90
Debug.Print Asc(strA) '65
Debug.Print Chr(strB) 'A
Debug.Print Chr(strC) 'K
Debug.Print Chr(strD) 'Z
End Subhttps://stackoverflow.com/questions/28623732
复制相似问题