当前位置:文档之家› Word宏命令集

Word宏命令集

Word宏命令集1、Word宏实现删除Word文档中的所有超链接,打开Word的菜单工具->宏->Visual Basic 编辑器,或直接按快捷键Alt+F11,打开Visual Basic 编辑器,“插入”-“模块”。

代码:Sub RemoveHyperlinks()Dim oField As FieldFor Each oField In ActiveDocument.FieldsIf oField.Type = wdFieldHyperlink ThenoField.UnlinkEnd IfNextSet oField = NothingEnd Sub2、Word中的图片批量统一大小及同比例缩放有些时候,我们用Word来做一些图文混排的文档,需要正规的样式,例如图片大小一致。

下面的方法就是告诉我们如何来实现很多的图片统一大小,“插入”-“模块”。

代码:Sub setpicsize() '设置图片大小Dim n '图片个数On Error Resume Next '忽略错误ActiveDocument.InlineShapes(n).Height = 400 '设置图片高度为400pxActiveDocument.InlineShapes(n).Width = 300 '设置图片宽度300pxNext nActiveDocument.Shapes(n).Height = 400 '设置图片高度为400pxActiveDocument.Shapes(n).Width = 300 '设置图片宽度300pxNext nEnd Sub按比例缩放的方法:Sub setpicsize() '设置图片大小Dim n '图片个数On Error Resume Next '忽略错误ActiveDocument.InlineShapes(n).Height = 400 '设置图片高度为400pxActiveDocument.InlineShapes(n).Width = 300 '设置图片宽度300pxNext nActiveDocument.Shapes(n).Height = 400 '设置图片高度为400pxActiveDocument.Shapes(n).Width = 300 '设置图片宽度300pxNext nEnd Sub3、Word中英文标点符号互换-VBA源码实现打开“Visual Basic编辑器”或用快捷键Alt+F11,插入一个新的“模块”。

Sub ToggleInterpunction()'中英文标点互换Dim ChineseInterpunction() As Variant, EnglishInterpunction() As VariantDim myArray1() As Variant, myArray2() As Variant, strFind As String, strRep As StringDim msgResult As VbMsgBoxResult, N As Byte'定义一个中文标点的数组对象ChineseInterpunction = Array("、","。

", ",", ";", ":", "?", "!", "……", "—", "~", "(", ")", "《", "》")'定义一个英文标点的数组对象E nglishInterpunction = Array(",",".", ",", ";", ":", "?", "!", "…", "-", "~", "(", ")", "<", ">")'提示用户交互的MSGBOX对话框msgResult = MsgBox("您想中英标点互换吗?按Y将中文标点转为英文标点,按N将英文标点转为中文标点!", vbYesNoCancel)Select Case msgResultCase vbCancelExit Sub '如果用户选择了取消按钮,则退出程序运行Case vbYes '如果用户选择了YES,则将中文标点转换为英文标点myArray1 = ChineseInterpunctionmyArray2 = EnglishInterpunctionstrFind = "“(*)”"strRep = """\1"""Case vbNo '如果用户选择了NO,则将英文标点转换为中文标点myArray1 = EnglishInterpunctionmyArray2 = ChineseInterpunctionstrFind = """(*)"""strRep = "“\1”"End SelectApplication.ScreenUpdating = False '关闭屏幕更新For N = 0 To UBound(ChineseInterpunction) '从数组的下标到上标间作一个循环.ClearFormatting '不限定查找格式.MatchWildcards = False '不使用通配符'查找相应的英文标点,替换为对应的中文标点.Execute findtext:=myArray1(N), replacewith:=myArray2(N), Replace:=wdReplaceAllEnd WithNext.ClearFormatting '不限定查找格式.MatchWildcards = True '使用通配符.Execute findtext:=strFind, replacewith:=strRep, Replace:=wdReplaceAllEnd WithApplication.ScreenUpdating = True '恢复屏幕更新End Sub4、实现本机Word打印密码保护:Sub FilePrint()pass$ = InputBox("请输入打印密码:")If pass$ = "abcd" ThenDialogs(wdDialogFilePrint).ShowElseMsgBox ("密码错误,请与管理人员联系!")End IfEnd SubSub FilePrintdefault()pass$ = InputBox("请输入打印密码:")If pass$ = "abcd" ThenDialogs(wdDialogFilePrint).ShowElseMsgBox ("密码错误,请与管理人员联系!")End IfEnd Sub5、Word宏实现记录本机打印历史记录Sub FilePrint()Dialogs(wdDialogFilePrint).ShowDName = ActiveDocument.Path + "\" + If ActiveDocument.Path = "" Then DName = "未保存文档"Tim = Str(Date) + " 日" + Str(Time)Open "c:\print.txt" For Append As #1Print #1, "于" + Tim+ " 打印" + DNameClose #1End Sub6、在显示屏上看到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显示( )Zoom.Percentage=65End Sub注意:代码中等于号后面的数字应灵活更改为与你的显示器对应的真实比例数字。

相关主题