您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 咨询培训 > 一些常用的WORD-VBA代码
这里给大家提供一些比较常用的WORDVBA代码,可以提高大家的办公效率,如果不知道怎么使用这些代码,请自行上网查询WORD如何运行VBA。1、删除空行Sub删除空行()DimIAsParagraph,nAsIntegerApplication.ScreenUpdating=FalseForEachIInActiveDocument.ParagraphsIfLen(Trim(I.Range))=1ThenI.Range.Deleten=n+1EndIfNextMsgBox共删除空白段落&n&个Application.ScreenUpdating=TrueEndSub2、奇偶页打印Sub奇偶页打印()Dimx,j,iAsIntegerOnErrorResumeNextx=ExecuteExcel4Macro(Get.Document(50))Fori=1ToInt(x/2)+1ActiveWindow.SelectedSheets.PrintOutFrom:=2*i-1,To:=2*i-1NextiIfx=1ThenMsgBox无偶数页ElseMsgBox请将打印出的纸张反向装入纸槽中,vbOKOnly,打印另一面Forj=1ToInt(x/2)+1ActiveWindow.SelectedSheets.PrintOutFrom:=2*j,To:=2*jNextjEndIfEndSub3、中英文标点互换Sub中英文标点互换()DimChineseInterpunction()AsVariant,EnglishInterpunction()AsVariantDimmyArray1()AsVariant,myArray2()AsVariant,strFindAsString,strRepAsStringDimmsgResultAsVbMsgBoxResult,NAsByte'定义一个中文标点的数组对象ChineseInterpunction=Array(、,。,,,;,:,?,!,……,—,~,(,),《,》)'定义一个英文标点的数组对象EnglishInterpunction=Array(,,.,,,;,:,?,!,…,-,~,(,),,)'注意这里的英文,转换为了中文、,如果希望将,转换为中文,请自行修改!'提示用户交互的MSGBOX对话框msgResult=MsgBox(您想中英标点互换吗?按Y将中文标点转为英文标点,按N将英文标点转为中文标点!,vbYesNoCancel)SelectCasemsgResultCasevbCancelExitSub'如果用户选择了取消按钮,则退出程序运行CasevbYes'如果用户选择了YES,则将中文标点转换为英文标点myArray1=ChineseInterpunctionmyArray2=EnglishInterpunctionstrFind=“(*)”strRep=\1CasevbNo'如果用户选择了NO,则将英文标点转换为中文标点myArray1=EnglishInterpunctionmyArray2=ChineseInterpunctionstrFind=(*)strRep=“\1”EndSelectApplication.ScreenUpdating=False'关闭屏幕更新ForN=0ToUBound(ChineseInterpunction)'从数组的下标到上标间作一个循环WithActiveDocument.Content.Find.ClearFormatting'不限定查找格式.MatchWildcards=False'不使用通配符'查找相应的英文标点,替换为对应的中文标点.Executefindtext:=myArray1(N),replacewith:=myArray2(N),Replace:=wdReplaceAllEndWithNextWithActiveDocument.Content.Find.ClearFormatting'不限定查找格式.MatchWildcards=True'使用通配符.Executefindtext:=strFind,replacewith:=strRep,Replace:=wdReplaceAllEndWithApplication.ScreenUpdating=True'恢复屏幕更新EndSub4、任意页插入页码Sub任意页插入页码()DimpAsIntegerOnErrorResumeNextp=InputBox(请输入起始编排页码的页次)WithSelection.GoToWhat:=wdGoToPage,Count:=p.InsertBreakType:=wdSectionBreakContinuous.Sections(1).Footers(1).LinkToPrevious=FalseWith.Sections(1).Footers(1).PageNumbers.RestartNumberingAtSection=True.StartingNumber=1.AddPageNumberAlignment:=wdAlignPageNumberCenter,FirstPage:=TrueEndWithEndWithEndSub5、实现图形的精确旋转Sub图形旋转()DimblnIsInlineShapeAsBooleanIfSelection.Type=wdSelectionInlineShapeThenblnIsInlineShape=TrueSelection.InlineShapes(1).ConvertToShapeEndIfDimintTurnAsIntegerintTurn=InputBox(请输入图形要旋转的角度值&vbCrLf&正数表示顺时针,负数表示逆时针。,图形旋转,30)Selection.ShapeRange.IncrementRotationintTurnEndSub注释:上述代码中,首先是将嵌入式的图形转换为可以自由浮动的图形。返回Word窗口之后,选中文档中需要旋转的某幅图形,按下Alt+F8组合键,选中列表框中的“图形旋转”宏,单击“运行”按钮弹出一个对话框,默认的旋转角度是30°,例如设置为“33”,很快就可以完成旋转操作。
本文标题:一些常用的WORD-VBA代码
链接地址:https://www.777doc.com/doc-6816595 .html