Word宏命令集.pdf
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Word宏命令集
1、Word宏实现删除Word文档中的所有超链接,打开Word的菜单工具->宏->Visual Basic 编辑器,或直接按快捷键Alt+F11,打开Visual Basic 编辑器,“插入”-“模块”。
代码:
Sub RemoveHyperlinks()
Dim oField As Field
For Each oField In ActiveDocument.Fields
If oField.Type = wdFieldHyperlink Then
oField.Unlink
End If
Next
Set oField = Nothing
End Sub
2、Word中的图片批量统一大小及同比例缩放
有些时候,我们用Word来做一些图文混排的文档,需要正规的样式,例如图片大小一致。
下面的方法就是告诉我们如何来实现很多的图片统一大小,“插入”-“模块”。
代码:
Sub setpicsize() '设置图片大小
Dim n '图片个数
On Error Resume Next '忽略错误
For n = 1 To ActiveDocument.InlineShapes.Count 'InlineShapes类型图片
ActiveDocument.InlineShapes(n).Height = 400 '设置图片高度为400px
ActiveDocument.InlineShapes(n).Width = 300 '设置图片宽度300px
Next n
For n = 1 To ActiveDocument.Shapes.Count 'Shapes类型图片
ActiveDocument.Shapes(n).Height = 400 '设置图片高度为400px
ActiveDocument.Shapes(n).Width = 300 '设置图片宽度300px
Next n
End Sub
按比例缩放的方法:
Sub setpicsize() '设置图片大小
Dim n '图片个数
On Error Resume Next '忽略错误
For n = 1 To ActiveDocument.InlineShapes.Count 'InlineShapes类型图片
ActiveDocument.InlineShapes(n).Height = 400 '设置图片高度为400px
ActiveDocument.InlineShapes(n).Width = 300 '设置图片宽度300px
Next n
For n = 1 To ActiveDocument.Shapes.Count 'Shapes类型图片
ActiveDocument.Shapes(n).Height = 400 '设置图片高度为400px
ActiveDocument.Shapes(n).Width = 300 '设置图片宽度300px
Next n
End Sub
3、Word中英文标点符号互换-VBA源码实现
打开“Visual Basic编辑器”或用快捷键Alt+F11,插入一个新的“模块”。
Sub ToggleInterpunction()'中英文标点互换
Dim ChineseInterpunction() As Variant, EnglishInterpunction() As Variant
Dim myArray1() As Variant, myArray2() As Variant, strFind As String, strRep As String
Dim msgResult As VbMsgBoxResult, N As Byte
'定义一个中文标点的数组对象
ChineseInterpunction = Array("、","。
", ",", ";", ":", "?", "!", "……", "—", "~", "(", ")", "《", "》")
'定义一个英文标点的数组对象
EnglishInter punction = Array(",",".", ",", ";", ":", "?", "!", "…", "-", "~", "(", ")", "<", ">")
'提示用户交互的MSGBOX对话框
msgResult = MsgBox("您想中英标点互换吗?按Y将中文标点转为英文标点,按N将英文标点转为中文标点!", vbYesNoCancel)
Select Case msgResult
Case vbCancel
Exit Sub '如果用户选择了取消按钮,则退出程序运行
Case vbYes '如果用户选择了YES,则将中文标点转换为英文标点
myArray1 = ChineseInterpunction
myArray2 = EnglishInterpunction
strFind = "“(*)”"
strRep = """\1"""
Case vbNo '如果用户选择了NO,则将英文标点转换为中文标点
myArray1 = EnglishInterpunction
myArray2 = ChineseInterpunction
strFind = """(*)"""
strRep = "“\1”"
End Select
Application.ScreenUpdating = False '关闭屏幕更新
For N = 0 To UBound(ChineseInterpunction) '从数组的下标到上标间作一个循环
With ActiveDocument.Content.Find
.ClearFormatting '不限定查找格式
.MatchWildcards = False '不使用通配符
'查找相应的英文标点,替换为对应的中文标点
.Execute findtext:=myArray1(N), replacewith:=myArray2(N), Replace:=wdReplaceAll
End With
Next
With ActiveDocument.Content.Find
.ClearFormatting '不限定查找格式
.MatchWildcards = True '使用通配符
.Execute findtext:=strFind, replacewith:=strRep, Replace:=wdReplaceAll
End With
Application.ScreenUpdating = True '恢复屏幕更新
End Sub
4、实现本机Word打印密码保护:
Sub FilePrint()
pass$ = InputBox("请输入打印密码:")
If pass$ = "abcd" Then
Dialogs(wdDialogFilePrint).Show
Else
MsgBox ("密码错误,请与管理人员联系!")
End If
End Sub
Sub FilePrintdefault()
pass$ = InputBox("请输入打印密码:")
If pass$ = "abcd" Then
Dialogs(wdDialogFilePrint).Show
Else
MsgBox ("密码错误,请与管理人员联系!")
End If
End Sub
5、Word宏实现记录本机打印历史记录
Sub FilePrint()
Dialogs(wdDialogFilePrint).Show
DName = ActiveDocument.Path + "\" +
If ActiveDocument.Path = "" Then DName = "未保存文档"
Tim = Str(Date) + " 日" + Str(Time)
Open "c:\print.txt" For Append As #1
Print #1, "于" + Tim+ " 打印" + DName
Close #1
End Sub
6、在显示屏上看到Word文档的真实打印效果:
套打单据表格及进行某些特殊的版式排版时,很希望屏幕上显示的大小与打印结果完全相同,以便进行精确的套打操作。
但能够“所见即所得” 的Word显示的结果与打印出来的结果虽然格式上能够做到看到什么得到什么,但由于各人所用的显示器的尺寸不同,而且相同尺寸的显示器其可视面积也有所不同,因此显示与打印结果的大小比例很难做到完全一致。
如果能够给Word添加一个1:1全真显示的工具按钮就好了!这样即使我们不需要进行精确的套打,也可以在文稿完成后按一下这个按钮,看看最终输出的字体大小设置得是否合适。
实现这个目的只需三步:
一、取得与真实打印完全一致的屏幕显示比例
由于各人使用的显示器尺寸不同及画幅调整的习惯不同,因此在此无法给出一个固定的数据。
请先将显示器的画幅调整妥当,以能够最大限度地显示出完整的全屏幕窗口为准。
找一张A4纸,用尺子量下该纸的宽度,要求精确到毫米( 我测的是29.4*21.8),因为标称为某种开本的纸张,其实际大小并不一定与标称值相同。
然后,打开Word新建一空白文档,并设置为“页面”视图,将打印设置中的“纸型”设置为与准备的纸张相同的纸型,如在此为A4,再将“纸型”选项卡中的纸张宽度设置为与刚才量好的值完全一致,确定后返回编辑界面。
现在我们就以这张纸为依据,确定屏幕显示比例。
在工具栏的“显示比例”输入框中反复手工调整显示比例的大小,注意系统本身只提供若干种固定的显示比例,其实我们完全可以直接输入任意一个整数,比如笔者的19英寸宽屏显示器在设置为65%后,屏幕上的页面大小与真实纸张完全一致,这个“65”就是我们下一步需要的数据。
二、编写一个宏命令
1)请在Word的编辑界面按Alt+F8,打开“宏”对话框,在“宏名”编辑框中输入“yitoyi”,然后单击[创建]按钮.
2)打开Visual Basic编辑器,在代码编辑窗口输入下列代码:
Public Sub 全真1:1显示( )
ActiveWindow.ActivePane.View
Zoom.Percentage=65
End Sub
注意:代码中等于号后面的数字应灵活更改为与你的显示器对应的真实比例数字。
三、创建1:1全真显示的工具栏按钮
按Alt+V+T+C,调出工具栏“自定义”对话框,选择“命令/宏”,右边的列表框中会显示出所有已经存在的宏。
找到刚才编辑的那个“yitoyi”的宏,将它拖入Word主界面的工具栏中的任意位置,这时工具栏中会出现一个与宏名对应的按钮,请右击新按钮,在弹出的快捷菜单的“命名”编辑框中更改按钮名称为“1:1”。
按[关闭]按钮退出设置。
7、Word宏实现快速打印当前页
一般来说,如果只想打印Word文档中的当前页面时,我们必须进入打印属性设置窗口,然后将该窗口“页面范围”处的“当前页”项目选中,再单击一下“确定”按钮才可以。
很显然,如果每次打印当前页面都按上面的方法来操作的话,不但麻烦不说,而且也不利于提高文档打印效率。
那我们有没有办法跳过打印属性设置窗口,来直接“命令”打印机去打印当前页面呢?其实要做到这一点并不是一件十分困难的事情,我们完全可以借助Word应
用程序的“录制新宏”功能,来创建一个可以直接让打印机去打印目标文档中当前页面的快捷命令,下面就是具体的实现步骤:
1)打开“工具”-“宏”-“录制新宏”命令。
设置好后,单击“指定”,“关闭”。
<!--[endif]-->
2)在宏名中输入:"printpage", “将宏指定到”,我们选择“健盘”
<!--[if !supportLineBreakNewLine]-->
快捷键用“Ctrl+Alt+/”
3)开始“录制”。
学海无涯
这个时候光标上会显示一个磁带的形状,在左侧还用一个控制录制的小工具。
录制好后,再想打当前文档时,直接用快捷键"Ctrl+Alt+/",就可以了。
11。