WordVBA(精选4篇)
WordVBA 篇1
0 引言
标准作为一种规范性文件, 其格式和内容都有规范性要求。GB/T 1.1对标准的结构和编写规则进行了规定, 适用于国家标准、行业标准和地方标准的编写和出版, 企业标准和标准化指导性技术文件也可参照使用。仅从GB/T 1.1对标准封面各项内容及其字体和字号的要求 (如图1) 可见, 编写出符合GB/T 1.1要求的标准文本是项十分不易的事情。然而, 标准文本格式的编排仅是标准编写工作的一部分工作, 为了使标准编写者把主要精力集中在标准技术条款的编写和相关试验验证等重点工作方面, 需要实现标准编写工作的自动化。
Word VBA (Visual Basic for Application) 是一种面向对象的、可视化的、事件驱动的高级语言, 是在Visual Basic的框架上建立起来的, 它的语法、功能甚至开发环境跟Visual Basic都基本相同。通过Word VBA编程, 可以实现Word文档的自动化。本文通过该方法, 对Word VBA辅助标准编写工作进行了研究, 实现了标准编写工作的部分自动化。
1 研究思路
通过Word VBA创建Word宏, 编写相应程序代码, 直接运行即可对Word文档进行操作, 调试成功后保存;然后新建自定义工具条, 并将创建的宏命令加入该工具条, 这样就定制好了具有自定义功能的工具按钮, 通过自定义工具按钮即可方便进行标准编写工作;将含有Word宏命令的文档存为Word模板, 再次新建标准文档时, 只需加载该模板就可实现标准编写工作的自动化操作。
2 核心代码
2.1 段落样式
标准编写规范的一个重要方面就是对文档结构和段落样式的要求。新建某一样式 (以“章标题”样式为例) 的核心代码为:
对于多级编号的样式, 如“章标题”为第1级, “一级条标题”为第2级, ……, 直到标准允许的条可分到第五层次的“五级条标题”, 需新建多级编号并将多级编号与各级段落样式连接起来, 核心代码为:
2.2 封面设计
封面设计主要利用插入文本框和图片技术, 插入一定尺寸大小、特定位置的文本框的核心代码如下 (以标准类别文本框为例) :
利用如下代码可在文本框中键入指定样式的文本信息:
2.3 生成目次
标准的目次编排与普通文本目次编排有所不同, 标准中的图和表需要目次时, 应单独提出来放在章和条的目次后面。普通文本中生成带有图、表目次的目次需要操作至少三次, 每次插入目次都需要复杂的选项操作。通过Word VBA编程可一次性成功生成所需目次。这里插入一个用户窗体 (如图2) , 让标准编写者作个简单选择。
生成目次的核心代码为:
2.4 公式题注
标准文本中的公式编号应使用带圆括号的阿拉伯数字, 而且要求公式居中排, 编号右端对齐, 公式与编号之间用“……”连接。普通文本中执行这样的操作比较麻烦, 首先插入阿拉伯数字的公式题注, 再手动修改为标注所需格式。自动化编程后可实现一键操作, 核心代码如下:
2.5 正文脚注
标准中, 通常应使用带半圆括号的阿拉伯数字进行编号。标准所需的这种样式的正文脚注不能通过直接插入Word内置的脚注实现, 需要编程实现, 核心代码为:
2.6 自定义工具条
选择Word“工具”下拉菜单的“自定义”, 单击“工具栏”→“新建”命令, 新建一个自定义工具栏;然后选择“命令”选项卡, 在“类别”中选择“样式”, 将右边“命令”框中出现的自定义样式按所需顺序按住鼠标左键拖入自定义工具栏即可。其它自定义操作从“宏”中选择。
3 结论
通过Word VBA编程可实现标准编写工作的自动化。本文依据标准编写要求, 编程实现了标准编写工作的“一键式”快速设置各类段落样式, 快速生成标准封面、目次、公式题注、正文脚注等工作, 极大方便了标准编写工作。
本文提供的编程思路和代码不仅能辅助标准编写工作;其它科技文本 (如毕业论文) 的编写也同样适用。
本文仅对标准编写工作的部分问题进行了自动化编程和开发, 可满足标准编写工作的基本需求。但对于更高级的自动化操作, 如实现标准文本的智能审查, 仍需进行大量工作。
参考文献
[1]全国标准化原理与方法标准化技术委员会.GB/T1.1-2000标准化工作导则第1部分:标准的结构和编写规则[S].北京:中国标准出版社, 2001.
[2]戴维斯G H.VBA从入门到精通[M].杨密, 杨乐, 柯树森, 译, 第2版, 北京:电子工业出版社, 2008.
[3]刘铁英, 张小白, 叶慧玲.Word VBA及宏在科技期刊编辑中的应用[J].编辑学报, 2007 (1) .
WordVBA 篇2
但是有些杂志对于参考文献的格式, 要求同时列出标题, Endnote有时还不能够很好的显示, 如“Fe2O3”, 常显示为“Fe2O3”或“Fe2O3”, 特别是当用google scholar进行学术搜索的时候, 常显示为后者, 尤其是当google scholar的名声越来越大的时候, 它的应用也越来越广, 这是一个很明显的bug。正常情况下, 只有切断域连接后, 也就是转换为文本时再手动更改, 但是如果量大, 则费时费力, 这时我们可以借助Word VBA来减小工作量。
Visual Basic for Applications (VBA) 是一种Visual Basic的一种宏语言, 主要能用来扩展微软系列软件的功能。1994年发行的Excel 5.0版本中, 即具备了VBA的宏功能, 但是office的其它成员还没有此功能。到现在所有的Office系列软件都具有VBA的功能, 也就是说可以进行二次开发。综合运用Word VBA可以大量减轻办公室的工作量[1-3]。
对于将“Fe2O3”显示为“Fe2O3”的这样bug, 读者可以参考文献[4]的第8章用替换的功能处理, 在此不再赘述。
对于“Fe2O3”显示为“Fe<︼sub>︼2︼O<︼sub>︼3” (“︼”表示半角空格) 这种bug, 我们要先看其字符排列的特点, 再运用VBA进行修补。只要有共同的规律, 就好办。我们可以借助Word中的“高级替换”功能, 并且要选中“使用通配符”复选框。我们要查找的对象就是“<︼sub>︼2”, 但是这里“2”明显是个变量, 所以我们要查找“<︼sub>︼?”, 替换为“?” (带下标格式的) 。那么Word可以替换这种变量吗?当然, 但是需要用到“ () ”表达式。表达式“ () ”是把查找到的内容赋值给“n”的一种方式, “n”值与查找内容中表达式“ () ”出现的次数是相同的, 如“ (A) (B) ”中, “1”返回“A”, “2”返回“B”。这样就可以找“<︼sub>︼ (?) ”了, 但是当运行后会发现, “<”和“>”本身就是Word中的通配符, 所以这时要加一个“”, 就可以将通配符转变为文本, 这时就可以找“ (?) ”替换为“1”, 同时将“1”加上一个下标格式。还有一个办法, 也就是采用asc码, 用“^60”代替“<”, 用“^62”代替“>”, 也是可以的。替换后, 发现还是不行, 因为这时会变为“Fe2︼O3”, 也就是中间多一个空格, 还是可以采用替换的方法将其除掉, 要先查找“/sub>︼ (*) <”, 替换为“/sub>1<”, 就可以将这个空格先去掉, 然后再找“ (?) ”, 这样可以提高查找错误率, 因为这时有“<”或“>”存在。这样通过两次替换就可以将这种bug修好, 但是比较麻烦, 我们可以用Word来将其录制下来, 然后存成宏, 并做成按钮, 这样以后就非常方便的使用了, 具体制作按钮的方法可以参考文献[1]。代码如下:
'这个是将 (Fe2O3) 中的O前的空格删掉
'这个是将 (Fe2O3) 中的3去掉sub并加下标
End Sub
这样经过以上VBA代码处理后, 就可以将Endnote的这个bug修补好了。需要注意的是, 要先移除Endnote的域代码, 再运行此代码, 否则, 将Endnote的域更新后, 又会变为原来的样子。还有在本文中出现的“<”、“>”、“ (”、“) ”或“”都是半角的。
摘要:Endnote是一款流行的文献管理软件, 广泛的应用于科技论文写作、文学创作等参考文献的管理与排版。它由美国科学信息研究所研制开发, 2012年8月发布的最新版本是X6 (第16版) , 除可以用来创建参考文献库外, 还可以加入文本、表格、图像或方程式等内容, 可以进行当地及远程检索。写论文时, 可以方便地插入所引用文献并按照不同杂志所要求的格式进行编排。特别是当退稿重投时, 可以非常方便的修改参考文献的格式。
关键词:Word VBA,Endnote,bug
参考文献
[1]刘贵伟, 廉锁原, 彭彩红.利用Word VBA程序快速自动编排离子反应方程式[J].辽宁师范大学学报:自然科学版, 2008, 31:439-42.
[2]廉锁原, 高世萍, 李志刚.利用Word VBA实现快速试卷编号[J].科技资讯, 2009, 17, 246-7.
[3]高世萍, 翟滨, 廉锁原, 李志刚.基于Excel函数及Excel VBA的成绩分析[J].电脑学习, 2011, 1:18-9.
WordVBA 篇3
1 教师试卷排版的现状和问题分析
由于目前教师的试卷主要已经向电子化发展, 开始使用Word应用程序对文字进行处理。在出题之后, 再按照格式的规范进行试卷的排版工作, 这样容易导致老师经常花费大量的时间进行排版。然而, 在排版的过程中, 老师由于精力等问题, 无可避免地出现格式上的问题, 导致试卷最终的效果不好, 学生的答题情况不规范, 影响老师的判断。为此, 学校迫切需要一种工具, 减轻教师的负担, 也有利于试卷的排版。
2 VBA系统技术分析
2.1 系统开发平台的介绍
Word是微软公司办公软件中的重要组成部分之一, 也是目前学校老师使用最广泛的应用软件之一。随着技术的不断发展, 在Word2000引入VBA6.0之后, 其效用得到了显著提升。经过不断的发展之后, 已经成为了目前功能最强, 流行最广的格式处理软件。此外, 在运用Word内嵌的VBA进行二次开发后, 教师能将原本繁重的格式编排操作自动化和简单化, 并有效提高教师的工作效率, 避免了原有的排版功能和操作方式。以Word作为系统开发的平台, 让教师可以在自主探索中熟练应用软件, 而不需要经过特殊的培训, 从而降低了系统应用的门槛, 提高了应用的效率。
VBA全称Visual Basic for Applications, 它是新一代的宏语言, 具有控制Office应用软件和对象的能力, 并能对Office功能进行定制和扩展。通过编程后, 可以让Word具备相应更多的功能, 如:编辑和格式的设置等。
2.2 利用Word VBA进行程序处理的主要优点分析
第一, 能够对文档中的数据进行记录和交换, 从而对文本进行操作。在该程序当中, 教师可以避免对文档进行激活, 便可以处理文字, 非常方便快捷。
第二, 可以对文档进行格式设置和编辑, 并让程序对文件进行自动排版。
综上所述, 用户在进行文档编辑的过程中, 可以使用该程序进行随心所欲的编辑。同时, 也能让程序进行规范化、自动化操作, 减轻排版的繁琐性。
3 系统的设计分析与实现
学校为了能够适应试卷的管理和规范要求, 要求系统具备自动生成试题、答案、格式、审阅文档等功能。Word VBA系统的主要功能分成两种:静态功能和动态功能。其中静态功能主要是对文档的分栏、纸张大小、页眉页脚等方面的编辑。动态功能则是对试卷基本信息、试卷排版等方面的录入和编辑, 下文进行详细介绍。
3.1 运行环境的设置与实现
系统开发的平台使用Word软件, 电脑上的软件版本应该在2000以上, 并允许使用宏语言。
3.2 对试卷卷头进行格式化
一份标准的试卷来讲, 不仅要有一个标准的卷头, 教师还应该在卷头上编辑相应的试卷标题、科目等信息, 并设置密封线位置。在密封线的范围内填写姓名、年级、班等信息。通过对系统进行设计, 教师可以轻松在相应位置进行信息填写。
3.3 对试题的类型进行格式化
在Word VBA系统中, 添加了大工具栏和小工具栏, 大工具栏主要是对试卷中的主要题型进行记载, 小工具栏则主要是对题目的相关格式进行记录。教师在对两个工具栏编辑的时候, 可以在自定义选项中, 选择宏的类别, 并生成相应的宏代码。
3.4 试题、答案等内容的输入和生成
除了要对试题的格式进行设计之外, 通过设置相应的模板, 老师可以对不同类型的试题和答案进行输入, 通过设定相关的标准, 从而实现试卷格式的标准化, 下文主要对这几种方法进行分析:
第一, 根据试卷的类型和内容设置不同的模板。在设置好模板之后, 可以应用Word VBA程序语言进行编程。
第二, 在试题编辑的工具栏中, 让Word VBA程序与各类的模板相连。
第三, 通过相关命令按钮, 生成不同的模板, 并将试题的内容和答案填入到模板当中, 并行格式化操作。
在进行题目和答案的复制粘贴过程中, 要对试卷和答案文档进行格式化, 在格式化的过程中, 系统是可以自动化完成的, 不需要人工干预, 从而实现排版自动化, 提高排版的准确率。
4 结束语
通过Word VBA技术构建的试卷自动排版系统, 试卷和答案都能进行自动化排版和生成, 为学校统一试卷的格式和答案作出了重要贡献。此外, Word VBA技术也能有效减少了教师的工作量, 经过实验显示, 该技术下的试卷自动排版系统, 受到了教师的好评。可见, Word VBA技术下的试卷自动排版系统能够有效提高试卷编排的工作效率。
摘要:基于Word VBA技术的试卷自动排版系统, 是以Word软件开发的平台, 并内置VBA编程语言, 从而实现语言的二次开发, 能让用户完成学科试卷的排版, 减轻教师的工作量和工作压力, 为学校提供统一的试卷格式。本文主要对Word VBA技术试卷自动排版系统进行分析, 并提出几点合理的建议。
关键词:Word,VBA,试卷自动排版,系统设计
参考文献
[1]赵林平, 赵莉.基于Word VBA技术的自动化试卷编辑系统[J].南通纺织职业技术学院学报, 2010 (01) .
WordVBA 篇4
数字密写 (Steganography) 是将要隐藏的信息嵌入到载体信号中, 通过公众媒介从源地址传输到目的地址而不被发现, 以实现信息的隐藏。载体信号是各种各样的, 可以是文档文件、图像文件和声音文件等。在本文中, 我们准备在公用信道上传输需要保密的包含大量英文字符的材料, 所以要把英文字符信息放在Word文档中。我们先对Word文档中英文字符信息进行加密, 在源地址通过公用信道发送出去, 接收方从目的地址接受到Word文档后, 从文档中按指定方法提取隐藏信息, 较好地实现了通信的保密和安全。这种基于Word文档的数字密写技术, 是通过改变Word文档中的文本模式来实现实现信息隐藏的。它使文档中英文字符的形态发生了变化, 从英文字符变成了数字, 而我们日常所用文档中包含英文字符和数字是常有的现象, 所以这种变化不易被别人觉察。
本文提出一种新的基于Word文档中英文字符的数字密写方法, 是通过波利比奥斯棋盘的密写规则改变Word文档中的英文字符形态, 在源地址按照波利比奥斯棋盘矩阵把英文字符加密为固定的数字实现信息的的隐藏, 接收方从目的地址接受到Word文档后, 同样通过波利比奥斯棋盘矩阵的对应关系把已加密好的英文字符解密还原。图1为数字密写的加密解和密过程模型图。
2 波利比奥斯棋盘密写方法
波利比奥斯棋盘密写方法, 最先是由古希腊人波利比奥斯提出的, 他首先提出了用不同的两位数来替换英文字母的加密方法。26个英文字母被写入一个编有行号和列号的5×5方阵中, 对应关系如图2。
如图2所示, 这样做主要是让26个字母都可纳入方阵中, I和J同时被写入坐标为 (2, 4) 的矩阵位置中。
加密时, 用每个字母所在的行号和列号合成的两位数来表示该字母。行号总在前。例如, 字母E的表示数为15。单词PASSWORD的加密后就成了:35-11-43-43-52-34-42-14。解密时, 只需根据所给的数找出对应的字母就可以了。第一个数是35, 程序就去找第3行第5列的那个字母。
3 加密和解密技术的程序实现
本文目标是对Word文档中英文字符进行文本密写, 所以我们采用了Word的内嵌语言Visual Basic for Application (简称VBA) , VBA是微软Office家族的新一代标准宏语言, 可以Office家族的各种应用程序, 例如Word、Excel、Powerpoint和Access等进行进一步的开发。而就Microsoft Word本身来讲, 普通用户只用了其约10%的功能, 其余约90%的功能是提供给VBA程序员的。
下面是基于Word VBA的波利比奥斯棋盘数字加密和解密的技术实现的案例程序:
4 结论
本文用波利比奥斯棋盘数字密写算法给出了基于Word文档实现英文字符密写的方法, 并基于word文档采用Visual Basic for Application语言进行程序开发, 完成了对重要保密的英文信息进行加密和解密的整个过程。该密写方法具有良好的安全性和不失真性, 并且实现相对其他加密算法具有直观简约的特点。对发送者来说, 用图1所示的模型对英文字符进行有规律的加密置乱, 保证了数据安全性;对接受者来说, 提出解密方案并完成解密, 保证了信息不失真。即使提取出了明文信息, 也不能破解使得系统具有更高的安全性。。
参考文献
[1]M.加德纳著, 王善平译.趣味密码术与密写术[M].北京:高等教育出版社, 2008, 10
[2]赵海春.COM组件的设计与使用[J].邵阳学院学报 (自然科学版) , 2009, 2.
[3]王海春, 邱寄帆, 邱敦国.一种基于Word文档的数字密写设计与实现[J].信息安全, 2006
[4]Joe Hummel, Ted Pattison, Justin Gehtland等著.Visual Basic高效编程:改进VB/COM+应用程序[M].北京:清华大学出版社, 2004.
[5]Bruce Schneier著.吴世忠等译.应用密码学[M].北京:机械工业出版社, 2006.
【WordVBA】推荐阅读: