《一些常用的WORDVBA代码.pdf》由会员分享,可在线阅读,更多相关《一些常用的WORDVBA代码.pdf(3页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、这里给大家提供一些比较常用的WORD VBA 代码,可以提高大家的办公效率,如果不知道怎么使用这些代码,请自行上网查询WORD 如何运行VBA。1、删除空行Sub 删除空行()Dim I As Paragraph,n As Integer Application.ScreenUpdating=False For Each I In ActiveDocument.Paragraphs If Len(Trim(I.Range)=1 Then I.Range.Delete n=n+1 End If Next MsgBox 共删除空白段落&n&个 Application.ScreenUpdating=
2、True End Sub 2、奇偶页打印Sub 奇偶页打印()Dim x,j,i As Integer On Error Resume Next x=ExecuteExcel4Macro(Get.Document(50)For i=1 To Int(x/2)+1 ActiveWindow.SelectedSheets.PrintOut From:=2*i-1,To:=2*i-1 Next i If x=1 Then MsgBox 无偶数页 Else MsgBox 请将打印出的纸张反向装入纸槽中,vbOKOnly,打印另一面 For j=1 To Int(x/2)+1 ActiveWindow.
3、SelectedSheets.PrintOut From:=2*j,To:=2*j Next j End If End Sub 3、中英文标点互换Sub 中英文标点互换()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 定义一个中文标点的数组对象ChineseI
4、nterpunction=Array(、,。,,,;,:,?,!,(,),)定义一个英文标点的数组对象EnglishInterpunction=Array(,.,;,:,?,!,-,(,),)注意这里的英文,转换为了中文、,如果希望将,转换为中文,请自行修改!提示用户交互的MSGBOX 对话框msgResult=MsgBox(您想中英标点互换吗?按 Y将中文标点转为英文标点,按 N将英文标点转为中文标点!,vbYesNoCancel)Select Case msgResult Case vbCancel Exit Sub 如果用户选择了取消按钮,则退出程序运行Case vbYes 如果用户选择
5、了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(ChineseInterpuncti
6、on)从数组的下标到上标间作一个循环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 使用通配符.Ex
7、ecute findtext:=strFind,replacewith:=strRep,Replace:=wdReplaceAll End With Application.ScreenUpdating=True 恢复屏幕更新End Sub 4、任意页插入页码Sub任意页插入页码()Dim p As Integer On Error Resume Next p=InputBox(请输入起始编排页码的页次)With Selection.GoTo What:=wdGoToPage,Count:=p.InsertBreak Type:=wdSectionBreakContinuous.Section
8、s(1).Footers(1).LinkToPrevious=False With.Sections(1).Footers(1).PageNumbers.RestartNumberingAtSection=True.StartingNumber=1.Add PageNumberAlignment:=wdAlignPageNumberCenter,FirstPage:=True End With End With End Sub 5、实现图形的精确旋转Sub 图形旋转()Dim blnIsInlineShape As Boolean If Selection.Type=wdSelectionIn
9、lineShape Then blnIsInlineShape=True Selection.InlineShapes(1).ConvertToShape End If Dim intTurn As Integer intTurn=InputBox(请输入图形要旋转的角度值&vbCrLf&正数表示顺时针,负数表示逆时针。,图形旋转,30)Selection.ShapeRange.IncrementRotation intTurn End Sub 注释:上述代码中,首先是将嵌入式的图形转换为可以自由浮动的图形。返回Wo rd 窗口之后,选中文档中需要旋转的某幅图形,按下 Alt+F8 组合键,选中列表框中的“图形旋转”宏,单击“运行”按钮弹出一个对话框,默认的旋转角度是30,例如设置为“33”,很快就可以完成旋转操作。