因网站无法访问,该实例暂时失效。但是代码可以套用到其他的网站,介意的请慎重点击付款!!!!
说明:因为这个实例涉及到对网站的数据请求,大量无效、恶意的请求可能会导致该实例失效。因而请勿随意大量尝试,请谨慎付费!!!
问题背景
最近和一位小学语文老师聊天,他日常需要教小朋友们汉字的一些基本知识。
比如汉字的拼音、部首、笔画等等。那备课的时候自然会要提前准备相关的内容,如下图:
每次准备都需要找十个到几十个常用汉字的信息,虽说在网上挨个去找不难,但就是感觉很繁琐。
其实这个也是可以用VBA来实现批量操作的,但前提是需要有网络。
今天的文章就来分享一下VBA一键批量查询汉字拼音、部首、笔画等信息的实例。
效果展示
最终的查询结果:
简要分析
这个实例和之前的查询基金信息的类似,需要使用VBA的请求网页的功能。
网上有很多网站可以查询汉字的信息,各个网站的结构都不完全相同。永恒君选择了一个相对简单的网站:
网站查询的效果如下:
但是这里和之前的查询基金信息的有个不一样的地方在于:
- 实例39查询基金信息 - 可以直接构造出基金信息的网址
- 本例需要在另外一个网页提取到每个汉字的一个特定编码,通过这个编码来构造出查询汉字信息的网址。
有了以上,我们就可以开始操作了。大致过程就是:
1、遍历A5以下每一个汉字的单元格,查找出对应汉字的编码;
2、接着构造出每个汉字对应的汉字信息的网址,VBA对每个网址进行请求,获得服务器返回的信息;
3、对服务器返回的信息进行筛选,提取我们需要汉字的信息,填入到相应的的单元格当中。本例使用的最笨的split()方法。
因为涉及到网络请求,还是那句话,该实例不能保证任何时候都有效,有时候会因为网络、网站等问题出现异常情况,有时候可能会出现异常,需要多次尝试。
点击下方红字获取VBA实例完整代码文件。
说明:因为这个实例涉及到对网站的数据请求,大量无效、恶意的请求可能会导致该实例失效。因而请勿随意大量尝试,请谨慎付费!!!