wordvba编程代码有哪些
很多的程序员都离不开编程的代码,但是对于wordvba肯定有很多的新手不知道常用代码有哪些,所以下面就给你们提供了wordvba编程代码大全,快来一起看看吧。
wordvba编程代码有哪些:
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_=_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.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,_strRepAs_String_
Dim_msgResult_As_VbMsgBoxResult,_N_As_Byte_
'定义一个中文标点的数组对象_
ChineseInterpunction_=_Array("、","。",_",",_";",_":",_"?",_"!",_"__",_"
—",_"~",_"(",_")",_"《",_"》")_
'定义一个英文标点的数组对象_
EnglishInterpunction_=_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、任意页插入页码_
Sub任意页插入页码()_
Dim_p_As_Integer_
On_Error_Resume_Next_
p_=_InputBox("请输入起始编排页码的页次")_
With_Selection_
.GoTo_What:=wdGoToPage,_Count:=p_
.InsertBreak_Type:=wdSectionBreakContinuous_
.Sections(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_=_wdSelectionInlineShape_Then_
blnIsInlineShape_=_True_
Selection.InlineShapes(1).ConvertToShape_
End_If_
Dim_intTurn_As_Integer_
intTurn_=_InputBox("请输入图形要旋转的角度值"__vbCrLf__"正数表示顺时针,负数表示逆时针。",_"图形旋转",_30)_
Selection.ShapeRange.IncrementRotation_intTurn_
End_Sub_
多重随机标签