Dim bContinue As Boolean qha<.Ro
>O
_
Dim regEX As New RegExp F)@<ZE
Dim paraCounter As Long '全局段落计数,仅在主程序中可读写,其它过程函数应为只读 PjHm#a3zg%
[=Z{y8#:J
Dim LastTitle0String As String, LastTitle0No As Long 6yb<4@LOb
Dim LastTitle1String As String, LastTitle1No As Long N9Ml&*%oX{
Dim LastTitle2String As String, LastTitle2No As Long ~I<y^]2{
Dim LastTitle3String As String, LastTitle3No As Long */)gk=x8
Dim LastTitle4String As String, LastTitle4No As Long ?]z
._I`E
Dim LastTitle5String As String, LastTitle5No As Long ;w>B}v;RE
Dim LastTabelString As String, LastTableNo As Long !=we7vK}
Dim LastFigureString As String, LastFigureNo As Long %c0;Bb-
-O5m@rwt<
Dim strSeperator As String U
QFuEI<1-
OK 6}9Eu9
Sub ConvertWidth(fTEXT As String, rText As String) eBB
D9SI
Selection.Find.ClearFormatting mAzW'Q4D
Selection.Find.Replacement.ClearFormatting 0TpA3K
Selection.Find.Wrap = wdFindContinue (0+m&,
z
Me.txtStatus.Text = "转换全角数字字母" & fTEXT & "形式为半角" & rText 2XtQ"`)
DoEvents F\I^d]#,[
Selection.Find.Execute findtext:=fTEXT, replacewith:=rText, Replace:=wdReplaceAll, Forward:=True, Wrap:=wdFindContinue, MatchCase:=True O
c.>$
End Sub zN1;v6;
=N
c`hP
Sub ClearDomain() \a!<^|C&
With Selection.Find 55,-1tWs
.ClearFormatting d1-p];&
.Replacement.ClearFormatting 0 Yp;?p^
.Wrap = wdFindContinue ry0 =N^
Me.txtStatus.Text = "清除所有域代码" >MT)=4
9q
DoEvents 5*AKl< Jl
.Execute findtext:="^d", replacewith:="", Replace:=wdReplaceAll, Forward:=True, Wrap:=wdFindContinue, MatchWildcards:=False v4$,Vt:7
End With AMdS+(J
End Sub `9-Zg??8r
3(%,2
Private Sub cmdCheck_Click() wOOPWwk
bContinue = True <Va>5R_d<
Dim NoSeries1(1 To 16) As String b ~gF,^w
Dim NoSeries2(1 To 16) As String }#J}8.
Dim NoSeries5(1 To 16) As String `Nn?G
Dim NoSeriesRM(1 To 16) As String xh0A2bw'OP
Dim paraTotal As Long, ParaText As String kQ8WO|bA
Dim ttString As String, ttNo As String wu')Q/v
5IK@<#wE
Dim ShapeCounter As Long, ShapeHeight As Long, ShapeWidth As Long Zux2VepT
3fPv71NVtt
Me.txtStatus.Visible = True s<b7/;w'
Me.lbParaType.Visible = True zMKL: Um"
Me.cmdCheck.Enabled = False wLbngO=VG
3[0:,^a
oB9m\o7$
.p`'^$X^
Q1Ao65
Dim ParaType As String, rText As String r.^&%D
X\%3uPQ
Selection.WholeStory ZT
ZE_[
Selection.NoProofing = True e?>suIB
n&]w* (,
tm1 = Now WQx;tX
[_d*J/ X
ActiveWindow.View.Type = wdNormalView RHbwq]
sYpogFfV
NoSeries1(1) = "一" :X
f3wP=
NoSeries1(2) = "二" gL`SZr9
NoSeries1(3) = "三" \4k
*Zk
NoSeries1(4) = "四" %*OJRL`
NoSeries1(5) = "五" &UR/Txnu
NoSeries1(6) = "六" i"xDQ$0G6
NoSeries1(7) = "七" e=jO_[
NoSeries1(8) = "八" OT i3T1&
NoSeries1(9) = "九" k:Q<Uanc[
NoSeries1(10) = "十" B*IDx`^Y
NoSeries1(11) = "十一" R{_IrYk
NoSeries1(12) = "十二" 4(82dmKO
NoSeries1(13) = "十三" K}BX6dA
NoSeries1(14) = "十四" 8H?AL
RG
NoSeries1(15) = "十五" ([~`{,sv
NoSeries1(16) = "十六" S41>VbtEp
}^7V^W
NoSeries2(1) = "㈠" S<~nk-xr*h
NoSeries2(2) = "㈡" SO/]d70HG
NoSeries2(3) = "㈢" h.0K
PF]O
NoSeries2(4) = "㈣"
CvJEY
NoSeries2(5) = "㈤" $nn5;11@gY
NoSeries2(6) = "㈥"
Dfia=1A
NoSeries2(7) = "㈦" d}_c(
NoSeries2(8) = "㈧" Z&,}Fgl!F
NoSeries2(9) = "㈨" @_3$(*n$~
NoSeries2(10) = "㈩" =*jcO1
19L
^q\zC%.
NoSeries5(1) = "①"
cmI#R1\
NoSeries5(1) = "②" DlI5} Jh
NoSeries5(3) = "③" s`RJl V
NoSeries5(4) = "④" V
m.@qO*=
NoSeries5(5) = "⑤" }c%y0)fL
NoSeries5(6) = "⑥" A]$+
`uS\
NoSeries5(7) = "⑦" aehMLl9cl
NoSeries5(8) = "⑧" ?M^t4nj
NoSeries5(9) = "⑨" ".f:R9-
NoSeries5(10) = "⑩" #9OP.4
<h9\ A&
Umg81!
NoSeriesRM(1) = "I" W+?[SnHL/
NoSeriesRM(2) = "II" EB<q.
NoSeriesRM(3) = "III" +ctv]'P_
NoSeriesRM(4) = "IV" ]?{lQ0vw'w
NoSeriesRM(5) = "V" #1@~w}Dh
NoSeriesRM(6) = "VI" TzGm562o%
NoSeriesRM(7) = "VII" /&7Yi_]
r
NoSeriesRM(8) = "VIII" hm>*eJNp]
NoSeriesRM(9) = "IX" (_ah~VnO
NoSeriesRM(10) = "X" /MH@>C
_
NoSeriesRM(11) = "XI" W?-BT >#s
NoSeriesRM(12) = "XII" ;!?K.,N:N
NoSeriesRM(13) = "XIII" Ah{pidUx
NoSeriesRM(14) = "XIV" J-F_XKqH
NoSeriesRM(15) = "XV" ;4$C$r!t
NoSeriesRM(16) = "XVI" ;0}2@Q2@ZK
"6Uj:
9
i = MsgBox("为了你的数据安全,请使用单独保存的文件副本进行本操作。" & vbCrLf & "确定继续进行吗?", vbYesNo) u,:`5*al{
PBtU4)
If i = vbNo Then zi
.,?Q
Exit Sub NCt sx /C
End If \DK*>
k
-^v}T/Kl#
If Me.chkSuper.Value Then KTt$Pt/.
Me.txtStatus.Text = "检查修改所有的上标格式" C&kl*nO
z D<9A6AB
CheckSuperScript ton`ji\^
*(B[J
End If N1~$ +
uFZB8+
If Me.chkStyle.Value Then nX%'o`f
Me.txtStatus.Text = "设置样式,请稍候...." u V7Hsg9l
DoEvents [dlH
t;S
CeateOrModifyStyle ~e9INZe-j
End If /}_c7+//
mcr#Ze
C}_:K)5q
bK9~C" k
ClearDomain *J5RueUG
MXk. 2
A'iF'<%
X388Gs;e
If Me.chkLIST.Value Then [oLQd-+
Me.txtStatus.Text = "将所有自动列表标题转化为人工标题形式" 4&hqeY3
mX@*2I
ConvertListToOrdinary }c ;um
End If -oBas4J
E^a`IA
+t4m
\/y
Dim pType As String, trimpTEXT As String )O C[;>F7
If Me.chkNum.Value = True Then QYXx7h r=$
Me.txtStatus.Text = "转换全角数字形式为半角" K"j=
_%{
ConvertWidth "1", "1" y4We}/-<
DoEvents 5l0rw)
ConvertWidth "2", "2" :iB%JY Ad
DoEvents U^BXCu1km
ConvertWidth "3", "3" @n*D>g
DoEvents :b*`hWnQ
ConvertWidth "4", "4" &\|<3sd(
DoEvents _PUm
Pom.
ConvertWidth "5", "5" K/v-P <g
DoEvents ;<@6f @
ConvertWidth "6", "6" cE5Zxcn
DoEvents k<zGrq=8J
ConvertWidth "7", "7"
iLcadX
DoEvents h./
vTNMc
ConvertWidth "8", "8" UMQW#$~C{g
DoEvents OG7v'vmY
ConvertWidth "9", "9" !r
obau7
DoEvents x*8f3^ wE
ConvertWidth "0", "0" x9A
ZS#e)[
DoEvents Juqn
X
ConvertWidth "a", "a" SoU'r]k1x
DoEvents 2%C5P0;QX
ConvertWidth "b", "b" % 3-\3qx*
DoEvents
vx
}Z
ConvertWidth "c", "c" YzW7;U
S
DoEvents ESjJHZoD(
ConvertWidth "d", "d" 5|G3t`$pa
DoEvents =^y{@[p`(
ConvertWidth "e", "e"
{JCz^0DV
DoEvents Ja=70ZI^6
ConvertWidth "f", "f" y6jmn1K
DoEvents p]z54 ~
ConvertWidth "g", "g" _ZM9
"<M-X
DoEvents
%%cSvPcz
ConvertWidth "h", "h" DPQGh`J
DoEvents
kjC{Zr
ConvertWidth "i", "i" F%Umau*1
DoEvents W<|K
ConvertWidth "j", "j" Tv,.
DoEvents m$mY<Q
ConvertWidth "k", "k" oEoJa:h
DoEvents 9^#gVTGXv
ConvertWidth "l", "l" m:fouMS
DoEvents w<>6>w@GZ
ConvertWidth "m", "m" 8~(+[[TQ@
DoEvents i z>y u[|
ConvertWidth "n", "n" S{i@=:
ConvertWidth "o", "o" [=ak
>>8
ConvertWidth "p", "p" G4%M$LJh
ConvertWidth "q", "q" _JJKbi
ConvertWidth "r", "r" |z.GSI_!)
ConvertWidth "s", "s" I5yd )72
ConvertWidth "t", "t" ) v5n "W
ConvertWidth "u", "u" s/vOxGc
ConvertWidth "v", "v" 0$ 9;pzr
ConvertWidth "w", "w" R|J>8AL}BY
ConvertWidth "x", "x" qL5#.bR
ConvertWidth "y", "y"
C=aj&
ConvertWidth "z", "z" fw v
T2G4
ConvertWidth "A", "A" 3k*:B~1
ConvertWidth "B", "B" *R\/#Y|
ConvertWidth "C", "C" +M
O5'z
ConvertWidth "D", "D" _7.GzQJ
ConvertWidth "E", "E" <C"N
X
ConvertWidth "F", "F" gq_7_Y/
ConvertWidth "G", "G" DT"Zq
ConvertWidth "H", "H" QC5f:BwM
ConvertWidth "I", "I" Z F yX@#B9
ConvertWidth "J", "J" GHC?Tp
ConvertWidth "K", "K"
l3?,gd.-
ConvertWidth "L", "L" vs])%l%t
ConvertWidth "M", "M" 4Re@ QOZ
ConvertWidth "N", "N" FWpN:|X BS
ConvertWidth "O", "O" %>9+1lUhV
ConvertWidth "P", "P" JRjMt-7H_
ConvertWidth "Q", "Q" Y:!/4GF
ConvertWidth "R", "R" 9#T%bB"J
ConvertWidth "S", "S" T~~[a|bLa
ConvertWidth "T", "T" ?~JxO/K
ConvertWidth "U", "U" 1;:t~Y
ConvertWidth "V", "V" g;#KBxE
ConvertWidth "W", "W" |8qK%n f}
ConvertWidth "X", "X" +>:_kE]?nX
ConvertWidth "Y", "Y" M|5]#2J_2
ConvertWidth "Z", "Z" @S"pJeP/f
ConvertWidth "^l", "^p" h9BD
^j
ConvertWidth "(", "(" fZV8o$V
ConvertWidth ")", ")" Hl2f`GZ
r;on0wm&B
End If Z:lB:U'o
~? FrI
With ActiveDocument ]AZ\5C-J
Dim tbl As Table !E
{GcK
For Each tbl In .Tables 2u*h*/
tbl.Rows.Alignment = wdAlignRowCenter *J
Y`.t
tbl.Range.Font.NameFarEast = "楷体" {I9N6BQ&
tbl.Range.Font.NameAscii = "Times New Roman" g3~~"`2
tbl.Range.Font.Size = 10.5 N~S[xS?
Next akvwApn5
Set tbl = Nothing Uq]
EJu
End With SeNF!k% Y
c."bTq4tJ
ZCE%38E N
With ActiveDocument g\\1C2jG
,KhMzE8_a
For i = 1 To .TablesOfContents.Count nl-t<#z[
.TablesOfContents(i).Delete 3Da,]w<
Next ;;w6b:}-c
$dZ>bXUw:
WW[`E
,;cel^.b
paraTotal = .Paragraphs.Count N{V5 D
paraCounter = 1 e8ULf~I
]Z$TzT&@%
LastTitle0No = 0 F;Q_*0mIQ
LastTitle1No = 0 4&oXy,8LC
LastTitle2No = 0 '6.>Wdd
LastTitle3No = 0 j*H;a ?Y
LastTitle4No = 0 vJj:9KcP>h
LastTableNo = 0 XAU_SPAjiw
LastFigureNo = 0 h%1~v$W`
9 yW~79n
Dim Sec As Long ]o[X+;Tj|
A|taP$%
Sec = InputBox("正文从第一节开始?", "节设置", 6) tf7v5iG e
If Sec = 0 Then y@kcXlY
Exit Sub 8>VI$
End If 6}i&6@Snq?
przubMt
k = 0 I*:qGr+ WJ
Do While (paraCounter < paraTotal) And bContinue KI Plb3oh
k = k + 1 PJK]t7vp
If .Paragraphs(paraCounter).Range.Information(wdActiveEndSectionNumber) >= Sec Then (Q@+v<
Exit Do o[6vxTH
End If s
la*3~?*
paraCounter = paraCounter + 1 Q k;Kn
If k Mod 20 = 0 Then /nY).lSH
Me.lbCounter.Caption = paraCounter jV4hxuc$
DoEvents i{|lsd(+
End If 8yE%X!E
Loop o!s%h!%L
BA1MGh
Iu-'o
Do While (paraCounter < paraTotal) And bContinue {8{t]LK<
,a9D~i 9R
ParaText = Trim(.Paragraphs(paraCounter).Range.Text) ;-9zMbte:
ShapeHeight = 0 esh$*)1
ShapeWidth = 0 B%eDBu
")
T@Ss&eGT2
CheckPara .Paragraphs(paraCounter).Range, ParaType, rText, ttString, ttNo, ShapeCounter, ShapeHeight, ShapeWidth z{`6#
YHO;IQ5
Select Case ParaType ?@lx
Case "【】表格内容" S_|9j{w)
.Paragraphs(paraCounter).Style = "QLNU表格内容" LZUA+ x(
Case "章" L_Y9+
e
LastTitle0No = LastTitle0No + 1 `CAG8D
'新一章开始,复位其下属标题编号 !v-w6WG"
LastTitle1No = 0 jiwpDB&