2Word宏应用实例.docx
- 文档编号:24611128
- 上传时间:2023-05-29
- 格式:DOCX
- 页数:34
- 大小:105.97KB
2Word宏应用实例.docx
《2Word宏应用实例.docx》由会员分享,可在线阅读,更多相关《2Word宏应用实例.docx(34页珍藏版)》请在冰豆网上搜索。
2Word宏应用实例
2010年12月3日
Word宏应用实例
一、宏的录制
在这里举一实例。
例如,在Word97中,要插入字符,则往往要到符号框中查找半天。
对于一些常用的符号,如“¥”,便可以使用宏来使工作简化。
1.单击“工具”选单中“宏”子选单,再单击“录制新宏”选项。
2.给宏取名为“Yuan”,再单击“键盘”。
3.在弹出的对话框中指定快捷键,可指定为“Ctrl+Y”,再关闭该对话框回到“录制宏”对话框。
单击“确定”按钮启动记录器。
4.运行“插入”选单中的“符号”子选单,从弹出的“符号”框中选择“¥”,插入后再关闭。
另外,也可以指定到工具栏,从弹出的“自定义”对话框中的“命令”栏中把“Normal.NewMacro1.Yuan”拖放到工具栏中。
5.单击“停止录制”工具栏中的“停止录制”按钮。
6.单击“工具”选单中“宏”子选单,再单击“宏”命令。
7.选择第二步中的宏名称,再单击“编辑”按钮。
这时我们可以从中看到以下代码:
SubYuan()
Selection.InsertSymbolFont:
=〃楷体—GB2312〃,CharacterNumber:
=-27,Unicode:
=True
EndSub
以后,当你需要插入字符“¥”时,只需按下快捷键“Ctrl+Y”,或者是在工具栏点击“Normal.NewMacrol.Yuan”便可以了。
二、宏的编辑
宏录制器将以上宏操作翻译为VisualBasic代码。
但是,录制宏时会受到一些限制。
许多复杂的宏,例如,要用到循环语句,便无法录制。
为了提高录制的宏的功能,就可能需要修改录制到模块中的代码。
具体操作为:
单击“工具”选单中“宏”子选单,再单击“宏”命令。
选择第二步中的宏名称,再单击“编辑”按钮。
然后便加载VisualBasic编辑器,我们可以看到所录制的宏自动生成的VisualBasic代码。
例如,在C:
\MyDocument中有200个Word文档,依次命名为“1.doc”,“2.doc”,“3.doc”,…“200.doc”,我们需要把文件格式改变为文本文件,即txt文件。
先以1.doc为例,录制一个宏,打开文档,另存为txt文件,再关闭该活动文档。
生成的VisualBasic代码如下:
SubMacro1()
ChangeFileOpenDirectory〃C:
\Mydocument〃
Documents.OpenFileName:
=〃1.doc〃
ActiveDocument.SaveAsFileName:
=〃1.txt〃,FileFormat:
=wdFormatText
ActiveWindow.Close
EndSub
下一步便进行编辑,用一个循环语句依次打开各个文件,转化后再关闭。
代码如下:
SubMacro1()
dimi
fori=1to200
ChangeFileOpenDirectory〃C:
\Mydocument〃
Documents.OpenFileName:
=i&〃.doc〃
ActiveDocument.SaveAsFileName:
=i&〃.txt〃,
FileFormat:
=wdFormatText
ActiveWindow.Close
nexti
EndSub
再次运行该宏,便可以轻松完成任务。
宏的作用由此可略见一斑
您正在看的Word教程是:
Word统计文字出现次数Word宏应用实例。
有的时候,我们要在一个文档中查找某个文本出现的总次数,也就是查找该文本的总数量,例如在一份违纪登记表格中查找一个姓名被记载的总数,类似的应用还有很多。
但Word没有这样的功能,我编写了一个宏,使Word具有统计单个文本总数量的功能。
下面介绍实现方法。
第二步在弹出的VisualBasic编辑器的代码窗口中完成以下内容:
SubFindText()
Text=InputBox("请输入要查找的文本:
","提示")
WithActiveDocument.Content.Find
DoWhile.Execute(FindText:
=Text)=True
tim=tim+1
Loop
EndWith
MsgBox("当前文档查找到"+Str(tim)+"个"+Text),48,"完成"
EndSub
第三步录入完毕后,单击菜单[文件]→[关闭并返回到Micrcsoft后Word]。
第四步单击菜单[工具]→[自定义],单击“命令”选项卡,在“类别”中选择“宏”,将右边的“Normal.NewMacros.FindText”命令拖入“编辑”菜单中,并右击拖入的命令,在“命名”框中重命名为“查找文本数量”(如图)。
以后要统计文本数量时,只要单击[编辑]→[查找文本数量],按提示输入要查找的内容,单击[确定]就得到统计结果。
宏应用实例三:
将大量的Word文档.doc文件转换为.htm文件
2007-11-1514:
12
【分析】
我们知道,利用word可以将.doc文件转换为.htm文件,方法是:
在Doc文件编辑窗口中,选择菜单“文件/另存为”,在“保存类型”下列列表中选择“htmldocument”,按“保存”。
单独进行几个doc文件的转换还不算繁琐,但要大批量地进行转换工作时,比如:
按章节输入了一本书,形成了几十个.doc文件,要对这些文件进行转换成.htm文件的工作,这时,就不能采用手工一个个处理的笨办法了!
怎么实现呢?
请往下看。
【实现步骤】
假设大批量.doc文档所在目录为c:
\docs,文件名为1.1.doc,1.2.doc...
1、启动word
2、关闭当前默认打开的空文档
3、选择菜单“工具/宏/录制新宏”,输入宏名称“doctohtml”,按“确定”,进入了宏录制过程。
4、选择菜单“文件/打开”,选择目录c:
\docs,选择文件1.1.doc,按“确定”。
5、选择菜单“文件/另存为”,在“保存类型”下列列表中选择“htmldocument”,按“保存”。
6、选择菜单“文件/关闭”
7、选择菜单“工具/宏/停止录制”
8、选择菜单“工具/宏/宏”
9、在出现的“宏”窗口左部选中doctohtml,单击右边的按钮“编辑”
10、宏代码改造:
在出现的“MicrosoftVisualBasic”窗口中,可以看到如下的宏代码:
Subdoctohtml()
'
'doctohtmlMacro
'宏在99-11-8由xxx录制
'
ChangeFileOpenDirectory"C:
\docs"
Documents.OpenFileName:
="1.1.doc",ConfirmConversions:
=False,ReadOnly:
=_
False,AddToRecentFiles:
=False,PasswordDocument:
="",PasswordTemplate:
=_
"",Revert:
=False,WritePasswordDocument:
="",WritePasswordTemplate:
="",_
Format:
=wdOpenFormatAuto
ActiveDocument.SaveAsFileName:
="1.1.htm",FileFormat:
=100,LockComments:
=_
False,Password:
="",AddToRecentFiles:
=True,WritePassword:
="",_
ReadOnlyRecommended:
=False,EmbedTrueTypeFonts:
=False,_
SaveNativePictureFormat:
=False,SaveFormsData:
=False,SaveAsAOCELetter:
=_
False
ActiveDocument.Close
EndSub
对上面的代码进行改造,如下:
Subdoctohtml(myfileasstring)
'
'doctohtmlMacro
'宏在99-11-8由xxx录制
'
ChangeFileOpenDirectory"C:
\docs"
IfFileExists(gwfile+".doc")Then
Documents.OpenFileName:
=myfile+".doc",ConfirmConversions:
=False,ReadOnly:
=_
False,AddToRecentFiles:
=False,PasswordDocument:
="",PasswordTemplate:
=_
"",Revert:
=False,WritePasswordDocument:
="",WritePasswordTemplate:
="",_
Format:
=wdOpenFormatAuto
ActiveDocument.SaveAsFileName:
=myfile+".htm",FileFormat:
=100,LockComments:
=_
False,Password:
="",AddToRecentFiles:
=True,WritePassword:
="",_
ReadOnlyRecommended:
=False,EmbedTrueTypeFonts:
=False,_
SaveNativePictureFormat:
=False,SaveFormsData:
=False,SaveAsAOCELetter:
=_
False
ActiveDocument.Close
endif
EndSub
并加入下面两个过程:
'判断文件是否存在的函数
FunctionFileExists(ByValFileNameAsString)AsBoolean
OnErrorResumeNext
FileExists=Dir$(FileName)<>""
IfErr.Number<>0Then
FileExists=False
EndIf
OnErrorGoTo0
EndFunction
'实际的转换函数
Submydoctohtml()
IfMsgBox("确认执行转换doc到html文件吗?
",vbOKCancel+vbDefaultButton2)=_
vbCancelThenGoToeeeddd
Calldoctohtml("conver")
Calldoctohtml("content")
Calldoctohtml("qianyan")
Calldoctohtml("fl")
Calldoctohtml("1.1")
Calldoctohtml("1.2")
...
Calldoctohtml("1.10")
...
Calldoctohtml("2.1")
...
Calldoctohtml("3.1")
...
...
Calldoctohtml("9.1")
...
eeeddd:
EndSub
至此,全部代码改造完毕!
关闭“MicrosoftVisualBasic”窗口,回到Word窗口。
11、选择菜单“工具/宏/宏”,出现“宏”窗口,在左边的宏列表中,可以看到“mydoctohtml”一项,选中它,按右边的按钮“运行”,出现提示窗口“确认执行转换doc到html文件吗?
”,选择“确定”,批量转换工作开始了!
【后记】
上面应用宏的例子,看起来虽然步骤很多,其实做起来却非常简单,技术上关键在于2个环节:
第一、根据某个任务录制初始的宏;
第二、对初始的宏代码进行改造,已满足满足特殊的需求
Word宏命令巧妙应用一例
文章出处:
由于工作和学习的需要,笔者经常在网上阅读大量的信息,但由于网上的文字格式不一,所以笔者喜欢将它保存下来,并且用Word打开,精心设置其字体与背景后再阅读。
可这样每次阅读都需重新设置一番,挺麻烦的。
不久前看到了Word里的宏命令,仔细研究后发现,它可以帮我的大忙呢。
只需进行如下设置,以后这样的事情一个按钮就可以搞定。
1.任意打开一篇文挡,用鼠标任选一段文字。
2.执行“工具→宏→录制新宏”命令,打开如图1所示对话框。
3.在“录制宏”对话框的“宏名”文本框中输入宏的名称“读前设置”,在“将宏保存在”下拉列表框中选择“所有文档(normal.dot)”,然后单击〔工具栏〕按钮,打开图2所示“自定义”对话框。
4.在“自定义”对话框中选择“命令”选项卡,在“命令”列表框中将显示输入的宏名。
在该名称上按下鼠标左键将其拖到“常用”工具栏上,这样工具栏上就多了一个〔读前设置〕按钮了。
图1录制新宏
5.单击〔关闭〕进入宏的录制过程。
此时,“停止”浮动工具栏将出现在屏幕上,此工具栏上有两个按钮,左边是〔停止〕,右边是〔暂停〕(如图3)。
6.执行“格式→字体”命令,在打开的“字体”对话框中选择“字体”选项卡,在对话框的“中文字体”下拉列表中选择“宋体”,在“字形”下拉列表中选择“常规”,在“字号”下拉列表中选择“小四”,在“字体颜色”下拉列表中选择“灰度-80%”,单击〔确定〕。
7.执行“格式→背景→其他颜色”命令,在打开的“颜色”框中选择一种很浅的灰色,单击〔确定〕。
8.单击“停止”工具栏上的〔停止〕按钮结束录制。
图2“自定义”对话框
图3“停止”工具栏
这样,以后只要在网上阅读文字,在Word里打开,先用“Ctrl+A”全选后,单击“常用”工具栏上的宏按钮〔读前设置〕,就可以看到很舒服的文字效果了。
文章出处:
一些Word快捷编辑、特殊输入操作的域、宏应用实例代码2008-04-2608:
50本文大部分代码来自于顾经宇《其实你还没懂word》及其网站或论坛,部分代码经过本人修改,对于方便应用word很有好处。
具体应用,请查看原书(右键点击用迅雷下载pdf版本)。
发布于此,一为保留自用,二为共享他人。
标题中说是“域、宏应用实例代码”,实际上,把一些域的操作也编制成了宏,所以,以下全是宏代码。
至于word如何添加宏,不在本文叙述范围,请自行搜索网络。
1.打开文档时光标返回上次关闭时最后编辑处
SubAutoOpen()
'
'AutoOpenMacro宏名称一定要是AutoOpen(大小写无所谓)
'宏在2008-4-16由*****创建
'
Application.GoBack
EndSub
2.无格式粘贴
Sub无格式粘贴()
'
'无格式粘贴Macro
'宏在2006-11-2由*****创建
Selection.PasteSpecialLink:
=False,DataType:
=wdPasteText,Placement:
=_
wdInLine,DisplayAsIcon:
=False
EndSub
3.匹配目标格式粘贴
Sub匹配目标格式粘贴()
'
'匹配目标格式粘贴Macro,这个宏的功能与上一个好像是一样的,虽然代码不同,都是匹配目标格式粘贴
'宏在2006-11-3由*****创建
'
Selection.PasteAndFormat(wdFormatSurroundingFormattingWithEmphasis)
EndSub
4.删除连续两个换行符
Sub删除连续两个换行符()
'
'删除连续两个换行符Macro
'宏在2006-11-2由*****创建
'
Selection.Find.ClearFormatting
Selection.Find.Replacement.ClearFormatting
WithSelection.Find
.Text="^l^l"
.Replacement.Text=""
.Forward=True
.Wrap=wdFindAsk
.Format=False
.MatchCase=False
.MatchWholeWord=False
.MatchByte=True
.MatchWildcards=False
.MatchSoundsLike=False
.MatchAllWordForms=False
EndWith
Selection.Find.ExecuteReplace:
=wdReplaceAll
Selection.MoveDownUnit:
=wdLine,Count:
=1
EndSub
5.合并连续两个段落标记为一个
Sub替换连续两个段落标记为一个()
'
'替换连续两个段落标记为一个Macro
'宏在2006-11-2由*****创建
'
Selection.Find.ClearFormatting
Selection.Find.Replacement.ClearFormatting
WithSelection.Find
.Text="^p^p"
.Replacement.Text="^p"
.Forward=True
.Wrap=wdFindAsk
.Format=False
.MatchCase=False
.MatchWholeWord=False
.MatchByte=True
.MatchWildcards=False
.MatchSoundsLike=False
.MatchAllWordForms=False
EndWith
Selection.Find.ExecuteReplace:
=wdReplaceAll
Selection.MoveDownUnit:
=wdLine,Count:
=1
EndSub
6.替换换行符为段落标记
Sub替换换行符为段落标记()
'
'
Selection.Find.ClearFormatting
Selection.Find.Replacement.ClearFormatting
WithSelection.Find
.Text="^l"
.Replacement.Text="^p"
.Forward=True
.Wrap=wdFindAsk
.Format=False
.MatchCase=False
.MatchWholeWord=False
.MatchByte=True
.MatchWildcards=False
.MatchSoundsLike=False
.MatchAllWordForms=False
EndWith
Selection.Find.ExecuteReplace:
=wdReplaceAll
Selection.MoveDownUnit:
=wdLine,Count:
=1
EndSub
7.段前空半行
Sub段前空半行()
'
'段前空半行Macro
'宏在2006-11-3由*****创建
'
WithSelection.ParagraphFormat
.LineUnitBefore=0.5
EndWith
EndSub
8.段前空一行
Sub段前空一行()
'
'段前空一行Macro
'宏在2006-11-3由*****创建
'
WithSelection.ParagraphFormat
.LineUnitBefore=1
EndWith
EndSub
9.文献标号上标化
Sub文献标号上标化()
'
'参考文献上标化Macro
'宏在2006-11-3由*****创建
'
Selection.HomeKeyUnit:
=wdStory
Selection.Find.Replacement.ClearFormatting
WithSelection.Find.Replacement.Font
.Superscript=True
EndWith
WithSelection.Find
.Text="\[[0-9,0-9,~~-\-\ ]@\]"
.Replacement.Text=""
.MatchWildcards=True
EndWith
Selection.Find.ExecuteReplace:
=wdReplaceAll
Selection.Find.Replacement.ClearFormatting
WithSelection.Find.Replacement.Font
.Superscript=True
EndWith
WithSelection.Find
.Text="[[0-9,0-9,~~-\-\ ]@]"
.Replacement.Text=""
.MatchWildcards=True
EndWith
Selection.Find.ExecuteReplace:
=wdReplaceAll
EndSub
10.箭头上方加文字
Sub箭头上方加文字()
'
'箭头上方加文字Macro
'宏在2008-4-16由*****创建
'
Selection.Fields.AddRange:
=Selection.Range,Type:
=wdFieldEmpty,_
PreserveFormatting:
=False
Selection.TypeBackspace
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Word 应用 实例