vba判断⽂件编码格式_Excel题库转Word版本(学习VBA在
Excel和Word数据。。。
【因本⼈有实际⼯作需要整理的代码,这⾥贴⼀个简单的框架⽤作笔记,同时提供给有需求的朋友。】
通过“Excel试题库转Word版本”这样⼀个应⽤实例,学习VBA在Excel和Word数据交互处理中的应⽤。本代码是运⾏在Excel环境中,实现对Word的操作,与直接在Word中写VBA代码还是有些许区别的。
⼀、实例背景
实例:Excel试题库转Word版本
素材:Excel版本的试题库,各章节的试题分别保存在不同的⼯作簿中,每章节包含单选题、多选题和判断题三类题型(即每个⼯作薄中分别包含以上三类习题)。素材结果如下图所⽰:
图1:各章节试题⼯作簿
图2:每章节试题样式
⽬标:将各章节试题汇总,按照题型分类,分别保存到Word⽂档中,基本格式如下:
1.题⼲
A.选项
B.选项
C.选项
D.选项
试题难度:难
vba自学好学吗
试题答案:ABC
要求对Word进⾏基本的排版,包含对试题进⾏编号、字体及字号设置等。
⼆、VBA实现说明
⼿⼯操作需要重复⼤量的复制粘贴操作,⼈⼯耗费⼤且效率低下。VBA不仅能⽤于处理Excel数据,同样可以处理Word内容,进⾏排版等操作。因此,借助VBA⼯具作为桥梁,实现Excel与Word数据交互处理,提⾼⼯作效率。
下⾯,通过代码分解说明具体实现过程。
1.创建Word Application对象引⽤并新建空⽩⽂档
VBA对于Excel的处理⽐较简单,之前也有介绍,这⾥不作过多说明。主要介绍如何处理Word对象,第⼀个问题就是建⽴⼀个对Word Application对象的引⽤。
'创建word应⽤对象
Dim WordApp As Object
Set WordApp = CreateObject("Word.Application")
'创建word⽂档对象,并新建⽂档
Dim SinDoc As Object
Set SinDoc = WordApp.documents.Add
2.向Word⽂档中插⼊⽂字内容
以上代码实现了Word Application对象的应⽤,并创建了⼀个新的空⽩⽂档。接下来,就要往该⽂档中插⼊内容。
Dim SinC As Object
Set SinC = SinDoc.Content
'插⼊内容
SinC.InsertAfter "测试内容" & vbCrLf
SinC.InsertParagraphAfter
通过ActiveDocument.Content.InsertAfter的⽅式在⽂档末尾插⼊内容,其中vbCrLf表⽰插⼊⼀个换⾏符(相当于回车);通
过ActiveDocument.Content.InsertParagraphAfter的⽅式在⽂档末尾添加⼀个空段落(相当于两次回车)。
3.段落格式调整
以上基本简单介绍了如何新建Word Application对象的引⽤,新建空⽩⽂档及⽂字内容插⼊等⽅法,接下来要做的事情就是格式调整,这⾥仅介绍简单的格式调整,包括字体、字号、段落对齐⽅式及段落⾸⾏缩进。
Sub SetFont(ChosedDoc, FontName, FontSize, Optional Alig = 0, Optional Inde = 2)
With ChosedDoc.Paragraphs(ChosedDoc.Paragraphs.Count).Range
.Font.Name = FontName '字体
.Font.Size = FontSize '字号
.ParagraphFormat.Alignment = Alig '对齐⽅式
.ParagraphFormat.CharacterUnitFirstLineIndent = Inde '⾸⾏缩进
End With
End Sub
为了排版美观,对题⼲及选项等⽂字内容设置不同的格式,所以对段落格式调整⽐较频繁,⼏乎每次插⼊都需要设置该段落的格式,因此将段落格式调整单独写进了⼀个函数,并且包含两个默认参数。对齐⽅式:0表⽰左对齐,1表⽰居中对齐,2表⽰右对齐。⾸⾏缩进,直接指定缩进量,⼀般为2,即两个空格。
以上就是本实例中所有涉及到的对Word对象的操作,剩余的就是针对问题场景的解决⽅案流程设计,没有太多新鲜的东西。
三、VBA排版结果
1.VBA排版前后⽂件
如图3是运⾏前素材,我们将各章节Excel试题库放在⽂件夹“Excel试题”下,⼯作簿“Excel试题转word⼯具代码 - ”中包含所需的VBA代码。运⾏该段代码后,得到如图4的结果,相⽐运⾏前,多了三个Word⽂档,分别保存单选题、多选题和判断题。
图3:运⾏前素材图4:运⾏后结果
2.排版效果及前后对⽐
⾸先,我们先看⼀下排版前试题库内容及格式,如图5-8:
图5:第1章 地理题
图6:第2章 ⼈⽂题
图7:第3章 数学题排版后的效果:
图8:单选题排版效果
图9:多选题排版效果

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。