轻松实现化学式上下标的一键输入

上传人:鲁** 文档编号:509560553 上传时间:2023-12-07 格式:DOC 页数:4 大小:34.50KB
返回 下载 相关 举报
轻松实现化学式上下标的一键输入_第1页
第1页 / 共4页
轻松实现化学式上下标的一键输入_第2页
第2页 / 共4页
轻松实现化学式上下标的一键输入_第3页
第3页 / 共4页
轻松实现化学式上下标的一键输入_第4页
第4页 / 共4页
亲,该文档总共4页,全部预览完了,如果喜欢就下载吧!
资源描述

《轻松实现化学式上下标的一键输入》由会员分享,可在线阅读,更多相关《轻松实现化学式上下标的一键输入(4页珍藏版)》请在金锄头文库上搜索。

1、轻松实现化学式上下标的一键输入徐林岗江苏江都市丁沟中学 225235摘要:笔者是一名中学化学教师,工作中常常要输入许多的化学式。化学式中的上下标在输入时要不停地切换,十分不便,所以笔者尝试用VBA编写了一段宏,很好地解决了这个问题。关键词:化学式,上下标,宏随着电脑日益的普及,中学化学老师在出试卷,写教案,写论文等的过程中都可能在使用电脑输入处理了,在这个过程中,经常需要书写各种化学式,但因为要不停地切换输入状态为“上标”“下标”或“正常”,这使得很多老师常常感到非常麻烦和累人,工作效率低下。本文就是试图把烦琐的输入方法改进成简单易用的操作。下面就是笔者用VBA编写的宏。使用时只要选择含有化学

2、式的内容,而后运行一下宏就可以了,正确率几乎是百分之百。Sub 智能上下标() Dim x, y, j, k As Integer Dim m, n As Long Dim char As String x = Selection.Start y = Selection.End 记录当前选取的起始位置与终止位置 For j = x To y Step 1 对选取内容进行枚举,对于属于化学式的内容进行改写. Selection.Start = j - 1 Selection.End = j char = Selection.Text n = InStr(abcdefghijklmnopqrstu

3、vwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ)), char) If n 0 Then Selection.Start = j Selection.End = j + 1 char = Selection.Text m = InStr(0123456789, char) If m 0 Then k = 2 Selection.Font.Subscript = wdToggle Selection.Start = j Selection.End = j + k char = Selection.Characters(k).Text m = InStr(0123456789-+,

4、 char) Do While m 0 If char = + Or char = - Then Selection.Start = j + k Selection.End = j + k + 1 char = Selection.Text m= InStr(0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ((, char) 如果是“+”表示加号,也不别在前面加上一个空格,以避开它与离子符号间相互的干扰。 If m 0 Then GoTo line1 Else Selection.Start = j - 1 Selec

5、tion.End = j + k char = Selection.Characters(1).Text End If If char = O Or char = H Then 与line1共同作用以防止将NH4+、AlO2-这一类的一价离子,错误地改写成NH4+、AlO2-。 Selection.Start = j Selection.End = j + 1 Selection.Font.Subscript = wdToggle Selection.Font.Subscript = wdToggle Selection.Start = j + 1 Selection.End = j + k

6、Selection.Font.Superscript = wdToggle GoTo line1 End If Selection.Start = j Selection.End = j + k Selection.Font.Superscript = wdToggle Selection.Font.Superscript = wdToggle GoTo line1 End If k = k + 1 Selection.Start = j Selection.End = j + k char = Selection.Characters(k).Text If char = - Or char

7、= + Then Selection.Start = j Selection.End = j + k - 2 Selection.Font.Subscript = wdToggle Selection.Font.Subscript = wdToggle Selection.Start = j + k - 2 Selection.End = j + k Selection.Font.Superscript = wdToggle GoTo line1 Else m = InStr(0123456789, char) End If Loop Selection.Start = j Selection

8、.End = j + k - 1 Selection.Font.Subscript = wdToggle Selection.Font.Subscript = wdToggle End Ifline1: Selection.Start = j Selection.End = j + 1 char = Selection.Text m = InStr(-, char) If m 0 Then Selection.Start = j + 1 Selection.End = j + 2 char = Selection.Text m = InStr(0123456789abcdefghijklmno

9、pqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ((, char) If m = 0 Then Selection.Start = j Selection.End = j + 1 Selection.Font.Superscript = wdToggle End If End If m = InStr(+, char) If m 0 Then Selection.Start = j + 1 Selection.End = j + 2 char = Selection.Text m = InStr(0123456789abcdefghijklmnopqrstuvwxyz

10、ABCDEFGHIJKLMNOPQRSTUVWXYZ((+,char) If m = 0 Then Selection.Start = j Selection.End = j + 1 Selection.Font.Superscript = wdToggle End If End If End If Next j Selection.Start = y Selection.End = yEnd Sub结束语 就我国目前大多化学老师来说,用微机进行无纸化办公变得越来越必要和普遍,而在办公过程中用得最多的就是OFFICE办公系统,如何提高工作效率则是其中一个重要问题。而宏正是为此而生,恰当的运用宏,可以化繁为简,变复杂为易用。本文也只是作一个引子,希望更多化学工作者与电脑爱好者加入到这里来,使得微机办公越来越智能化。个人信息姓名:徐林岗.性别:男出生年1976年7月29籍贯:江苏文章署名单位:江苏江都市丁沟中学职称:中教二级邮寄地址:江苏江都丁沟中学邮编:225235邮箱:;1

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 商业/管理/HR > 营销创新

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号