《Word宏命令集.doc》由会员分享,可在线阅读,更多相关《Word宏命令集.doc(11页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、/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 Sub2、Word中的图
2、片批量统一大小及同比例缩放有些时候,我们用Word来做一些图文混排的文档,需要正规的样式,例如图片大小一致。下面的方法就是告诉我们如何来实现很多的图片统一大小,“插入”-“模块”。代码:Sub setpicsize() 设置图片大小 Dim n 图片个数 On Error Resume Next 忽略错误 For n = 1 To ActiveDocument.InlineShapes.Count InlineShapes类型图片 ActiveDocument.InlineShapes(n).Height = 400 设置图片高度为 400px ActiveDocument.InlineSha
3、pes(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 ActiveDocu
4、ment.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 = 3
5、00 设置图片宽度 300px Next n End Sub3、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 msgResul
6、t As VbMsgBoxResult, N As Byte 定义一个中文标点的数组对象 ChineseInterpunction = Array(、,。, ,, ;, :, ?, !, , , , (, ), , ) 定义一个英文标点的数组对象 EnglishInterpunction = Array(,., , ;, :, ?, !, , -, , (, ), <, >) 提示用户交互的MSGBOX对话框 msgResult = MsgBox(您想中英标点互换吗?按Y将中文标点转为英文标点,按N将英文标点转为中文标点!, vbYesNoCancel) Select Case m
7、sgResult Case vbCancel Exit Sub 如果用户选择了取消按钮,则退出程序运行 Case vbYes 如果用户选择了YES,则将中文标点转换为英文标点 myArray1 = ChineseInterpunction myArray2 = EnglishInterpunction strFind = “(*)” strRep = 1 Case vbNo 如果用户选择了NO,则将英文标点转换为中文标点 myArray1 = EnglishInterpunction myArray2 = ChineseInterpunction strFind = (*) strRep =
8、“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:=wdReplac
9、eAll End With Next With ActiveDocument.Content.Find .ClearFormatting 不限定查找格式 .MatchWildcards = True 使用通配符 .Execute findtext:=strFind, replacewith:=strRep, Replace:=wdReplaceAll End With Application.ScreenUpdating = True 恢复屏幕更新 End Sub4、实现本机Word打印密码保护:Sub FilePrint() pass$ = InputBox(请输入打印密码:) If pas
10、s$ = 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 Sub5、Word宏实现记录本机打印历史记录Sub FilePrint() Dialogs(wdDialogFilePrint).S
11、how DName = ActiveDocument.Path + + ActiveDocument.Name 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 Sub6、在显示屏上看到Word文档的真实打印效果:套打单据表格及进行某些特殊的版式排版时,很希望屏幕上显示的大小与打印结果完全相同,以便进行精确的套打操作。但能够“所见即所得” 的
12、Word显示的结果与打印出来的结果虽然格式上能够做到看到什么得到什么,但由于各人所用的显示器的尺寸不同,而且相同尺寸的显示器其可视面积也有所不 同,因此显示与打印结果的大小比例很难做到完全一致。如果能够给Word添加一个1:1全真显示的工具按钮就好了!这样即使我们不需要进行精确的套打,也 可以在文稿完成后按一下这个按钮,看看最终输出的字体大小设置得是否合适。实现这个目的只需三步:一、取得与真实打印完全一致的屏幕显示比例由于各人使用的显示器尺寸不同及画幅调整的习惯不同,因此在此无法给出一个固定的数据。请先将显示器的画幅调整妥当,以能够最大限度地显示出完 整的全屏幕窗口为准。找一张A4纸,用尺子量
13、下该纸的宽度,要求精确到毫米( 我测的是29.4*21.8),因为标称为某种开本的纸张,其实际大小并不一定与标称值相同。然后,打开 Word新建一空白文档,并设置为“页面”视图,将打印设置中的“纸型”设置为与准备的纸张相同的纸型,如在此为A4,再将“纸型”选项卡中的纸张宽度设 置为与刚才量好的值完全一致,确定后返回编辑界面。 现在我们就以这张纸为依据,确定屏幕显示比例。在工具栏的“显示比例”输入框中反复手工调整显示比例的大小,注意系统本身只提供若干种固定的显示比例,其实我们完全可以直接输入任意一个整数,比如笔者的19英寸宽屏显示器在设置为65后,屏幕上的页面大小与真实纸张完全一致,这个“65”
14、就是我们下一步需要的数据。 二、编写一个宏命令1)请在Word的编辑界面按AltF8,打开“宏”对话框,在“宏名”编辑框中输入“yitoyi”,然后单击创建按钮.2)打开Visual Basic编辑器,在代码编辑窗口输入下列代码:Public Sub 全真1:1显示( ) ActiveWindow.ActivePane.View Zoom.Percentage=65 End Sub注意:代码中等于号后面的数字应灵活更改为与你的显示器对应的真实比例数字。三、创建1:1全真显示的工具栏按钮按AltVTC,调出工具栏“自定义”对话框,选择“命令/宏”,右边的列表框中会显示出所有已经存在的宏。找到刚才
15、编辑的那个“yitoyi”的宏,将它拖入Word主界面的工具栏中的任意位置,这时工具栏中会出现一个与宏名对应的按钮,请右击新按钮,在弹出的快捷菜单的“命名”编 辑框中更改按钮名称为“1:1”。按关闭按钮退出设置。7、Word宏实现快速打印当前页一般来说,如果只想打印Word文档中的当前页面时,我们必须进入打印属性设置窗口,然后将该窗口“页面范围”处的“当前页”项目选中,再单击一下“确 定”按钮才可以。很显然,如果每次打印当前页面都按上面的方法来操作的话,不但麻烦不说,而且也不利于提高文档打印效率。那我们有没有办法跳过打印属性设 置窗口,来直接“命令”打印机去打印当前页面呢?其实要做到这一点并不是一件十分困难的事情,我们完全可以借助Word应用程序的“录制新宏”功能,来创 建一个可以直接让打印机去打印目标文档中当前页面的快捷命令,下面就是具体的实现步骤: 1)打开“工具”-“宏”-“录制新宏”命令。设置好后,单击“指定”,“关闭”。 2)在宏名中输入:printpage, “将宏指定到”,我们选择“健盘” 快捷键用“Ctrl+Alt+/” 3)开始“录制”。 这个时候光标上会显示一个磁带的形状,在左侧还用一个控制录制的小工具。录制好后,再想打当前文档时,直接用快捷键Ctrl+Alt+/,就可以了。