使用VBA在单元格中快速插入Unicode符号 您所在的位置:网站首页 vba图表 使用VBA在单元格中快速插入Unicode符号

使用VBA在单元格中快速插入Unicode符号

2023-06-02 00:41| 来源: 网络整理| 查看: 265

Unicode 符号

Unicode 符号在实际工作中有着广泛的应用,比如用于制作邮件签名、文章排版、演示文稿制作等等。在 Excel 表格中,插入符号可以让表格的排版更加美观,同时也能够帮助用户更清晰地表达意思。

Dingbats

Dingbats是一个包含装饰符号的Unicode块。大部分字符都来自于Zapf Dingbats,这个块最初被命名为“Zapf Dingbats”,并于1991年10月随版本1.0的发布被添加到Unicode标准中。块名称于1993年6月随版本1.1的发布从“Zapf Dingbats”更改为“Dingbats”。-- 引自维基百科 Dingbats符号表如下图所示。

Alt

在这里插入图片描述

微软开发的Wingdings字体包含了其中的部分字符。

在工作表中插入Dingbats字符

在单元格中输入时并无法直接插入指定的Unicode编码字符,内置的插入符号功能中并不包含“Dingbats”,因为它并不是一种Windows字体。

示例代码可以快速插入Dingbats符号。

Sub Demo() Dim objDom as Object Dim lngChar, c, r Set objDom = CreateObject("htmlfile") lngChar = 9984 For c = 1 To 12 For r = 1 To 16 objDom.write "&#" & CStr(lngChar) & ";" Cells(r, c).Value = objDom.body.innertext lngChar = lngChar + 1 objDom.Close Next r Next c Set objDom = Nothing End Sub

【代码解析】 第4行代码创建HTML文件对象。 第5行代码设置起始字符的编码值,16进制的0x2700,相当于10进制9984。当然也可以在代码中调用工作表函数Hex2Dec实现进制转换。 第6~13行代码使用双重循环逐个插入符号。 第8行代码将HTML文本写入objDom对象,其中包含一个Unicode字符。如果使用16进制字符,那么应使用&#x替换&#。 ✀** 第9行代码将HTML文件对象的 innertext 属性的值赋值到Excel表格中指定的单元格,此代码实现了Unicode编码到符号的转换。 第10行代码变量lngChar递增。 第11行代码清空HTML文件对象。 第12行代码释放对象变量占用的系统资源。

运行示例代码,工作表中的内容如下图所示。 Alt

在这里插入图片描述



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有