VBA代码大全019:如何用vba批量生成中文汉字?

对于文字工作者、汉语言研究行业,他们都需要经常研究汉字。

谈起用vba代码生成汉字,就需要先介绍字符的编码。

字符的编码内容繁多,三天三夜都讲不完,这里简单介绍下。

一个字符要在计算机中显示出来,需要用二进制存储。

为了让不同电脑,不同的语言都能够识别这个字符,存储的二进制值一定要是唯一的,也就是这个字符的编码要是唯一的,不然就会出现乱码。

过去有过很多种字符的编码方式,都没有做到字符的编码唯一化,直到unicode编码的出现。

它让全世界的字符都同意采用一种编码方式,让每个字符都对应唯一的一个二进制编码。

这样就可以在不同国家之间流通,从而不会导致乱码。

通过查unicode编码可以获悉基本汉字的unicode编码范围是4E00-9FA5,在这个范围内包含了20902个汉字。

其中4E00、9FA5都是16进制,对应的10进制值是19968、40869

有了这些知识,在vba中有个chrw函数可以将对应的unicode编码转成字符,代码如下:

 

Sub 批量生成常见的汉字()
  j = 1
  i1 = 19968
  i2 = 40869
  For i = i1 To i2
    Cells(j, "a") = VBA.ChrW(i)
    j = j + 1
  Next i
End Sub

生成的汉字如下:

有了这些知识,我们还可以利用这个随机生成汉字,判断字符中是否含有汉字。

因为4E00、9FA5分别对应的汉字是一、龥,所以还可以用下面的代码判断字符串中是否含有汉字:

Sub 判断字符串中是否含有汉字()
  str1 = "asdflsdf你kjasdlfkj我"
  If str1 Like "*[一-龥]*" Then
     MsgBox "含有汉字"
   End If
End Sub

 

       

仅有1条评论 发表评论

  1. 夜魔侠 /

    有没有办法获取汉字的笔画数

发表评论