首页 考试吧论坛 Exam8视线 考试商城 网络课程 模拟考试 考友录 实用文档 求职招聘 论文下载 | ||
2011中考 | 2011高考 | 2012考研 | 考研培训 | 在职研 | 自学考试 | 成人高考 | 法律硕士 | MBA考试 MPA考试 | 中科院 |
||
四六级 | 职称英语 | 商务英语 | 公共英语 | 托福 | 雅思 | 专四专八 | 口译笔译 | 博思 | GRE GMAT 新概念英语 | 成人英语三级 | 申硕英语 | 攻硕英语 | 职称日语 | 日语学习 | 法语 | 德语 | 韩语 |
||
计算机等级考试 | 软件水平考试 | 职称计算机 | 微软认证 | 思科认证 | Oracle认证 | Linux认证 华为认证 | Java认证 |
||
公务员 | 报关员 | 银行从业资格 | 证券从业资格 | 期货从业资格 | 司法考试 | 法律顾问 | 导游资格 报检员 | 教师资格 | 社会工作者 | 外销员 | 国际商务师 | 跟单员 | 单证员 | 物流师 | 价格鉴证师 人力资源 | 管理咨询师考试 | 秘书资格 | 心理咨询师考试 | 出版专业资格 | 广告师职业水平 驾驶员 | 网络编辑 |
||
卫生资格 | 执业医师 | 执业药师 | 执业护士 | ||
会计从业资格考试(会计证) | 经济师 | 会计职称 | 注册会计师 | 审计师 | 注册税务师 注册资产评估师 | 高级会计师 | ACCA | 统计师 | 精算师 | 理财规划师 | 国际内审师 |
||
一级建造师 | 二级建造师 | 造价工程师 | 造价员 | 咨询工程师 | 监理工程师 | 安全工程师 质量工程师 | 物业管理师 | 招标师 | 结构工程师 | 建筑师 | 房地产估价师 | 土地估价师 | 岩土师 设备监理师 | 房地产经纪人 | 投资项目管理师 | 土地登记代理人 | 环境影响评价师 | 环保工程师 城市规划师 | 公路监理师 | 公路造价师 | 安全评价师 | 电气工程师 | 注册测绘师 | 注册计量师 |
||
缤纷校园 | 实用文档 | 英语学习 | 作文大全 | 求职招聘 | 论文下载 | 访谈 | 游戏 |
四、选择题的写入及排版
如果四个选项按四段(行)进行排版,则只要通过调用前面所定义的两个过程就能实现,但四个选项要按两行排版则有两种方法可供选择:一是分节分栏法:将四个选项按四段写入Word文档,并将它们设置成单独的一节,再采用分成两栏的方法实现;二是直接写入排版法:在同一行的两个选项之间插入若干个制表位实现对齐,编程中将涉及写入点的定位问题。
1、分节分栏法
选择题写入Word文档及排版操作在自定义过程insSelect中实现,传入参数mObj内封装了一道选择题;题号通过参数n传入;参数max传入的值是选项内容字符数的临界值,即当四个选项内容中字符数最多者如果超过了max,则四个选项排版成四段(行),否则排成两行。其中用到的函数maxLen(mObj)返回值表示选择题mObj的四个选项内容中字符数的最大值。
Private Sub insSelect(mObj As Choice, ByRef n As Integer, max As Integer)
insTabIndent mObj.Sentence, n '写入题干内容及题号
If maxLen(mObj) > max Then'按四段(行)并采用左缩进及悬挂缩进写入
insLeftAndHangingIndent "A) " + mObj.ChoiceA
insLeftAndHangingIndent "B) " + mObj.ChoiceB
insLeftAndHangingIndent "C) " + mObj.ChoiceC
insLeftAndHangingIndent "D) " + mObj.ChoiceD
ActiveDocument.Content.InsertParagraphAfter
n = n + 1
Else '选项按缩进一个制表位形式写入,为后面的分节分栏做准备
Set tempRange = ActiveDocument.Content
tempRange.Collapse Direction:=wdCollapseEnd
tempRange.InsertAfter vbTab & "A) " & mObj.ChoiceA
tempRange.InsertParagraphAfter
tempRange.InsertAfter vbTab & "B) " & mObj.ChoiceB
tempRange.InsertParagraphAfter
tempRange.InsertAfter vbTab & "C) " & mObj.ChoiceC
tempRange.InsertParagraphAfter
tempRange.InsertAfter vbTab & "D) " & mObj.ChoiceD
tempRange.InsertParagraphAfter
tempRange.Font.Name = "宋体"
tempRange.Font.Size = 12'小四
n = n + 1 '题号增1,为写入下一题做准备
tempRange.Select '选定四个选项所在的区域
If ActiveWindow.View.SplitSpecial <> wdPaneNone Then
ActiveWindow.Panes(2).Close
End If
If ActiveWindow.ActivePane.View.Type <> wdPrintView Then
ActiveWindow.ActivePane.View.Type = wdPrintView
End If
'在选定区域的起始位置和末尾位置插入分节符
ActiveDocument.Range(Start:=Selection.Start, End:=Selection.Start). _
InsertBreak Type:=wdSectionBreakContinuous
Selection.Start = Selection.Start + 1
ActiveDocument.Range(Start:=Selection.End, _
End:=Selection.End).InsertBreak Type:=wdSectionBreakContinuous
'将选定的文本分成两栏
With Selection.PageSetup.TextColumns
.SetCount NumColumns:=2
.EvenlySpaced = True
.LineBetween = False
.Width = CentimetersToPoints(6.95)
.Spacing = CentimetersToPoints(0)
End With
ActiveDocument.Content.InsertParagraphAfter
End If
End Sub
相关推荐:北京 | 天津 | 上海 | 江苏 | 山东 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
广东 | 河北 | 湖南 | 广西 | 河南 |
海南 | 湖北 | 四川 | 重庆 | 云南 |
贵州 | 西藏 | 新疆 | 陕西 | 山西 |
宁夏 | 甘肃 | 青海 | 辽宁 | 吉林 |
黑龙江 | 内蒙古 |