Dim bContinue As Boolean CWD
$\K G
N>@.(f&w
Dim regEX As New RegExp )%:
W;H
Dim paraCounter As Long '全局段落计数,仅在主程序中可读写,其它过程函数应为只读 {D]I[7f8Ev
((BdT:T\_
Dim LastTitle0String As String, LastTitle0No As Long Aq$o&t
Dim LastTitle1String As String, LastTitle1No As Long ZS&lXgo
Dim LastTitle2String As String, LastTitle2No As Long #S|On[Q!
Dim LastTitle3String As String, LastTitle3No As Long "/hLZl
Dim LastTitle4String As String, LastTitle4No As Long IJ{VCzi
Dim LastTitle5String As String, LastTitle5No As Long 1bCS4fs^>
Dim LastTabelString As String, LastTableNo As Long bvJ*REPL?
Dim LastFigureString As String, LastFigureNo As Long 6iEA
._y
Xi=4S[.4
Dim strSeperator As String 1aUu:#c
7=A @P
Sub ConvertWidth(fTEXT As String, rText As String) (tg+C\
S.
Selection.Find.ClearFormatting j{m{hVa
Selection.Find.Replacement.ClearFormatting wA87|YK8*
Selection.Find.Wrap = wdFindContinue nF
'U*
Me.txtStatus.Text = "转换全角数字字母" & fTEXT & "形式为半角" & rText 3 "|A5>Vo
DoEvents M
l_!)b
Selection.Find.Execute findtext:=fTEXT, replacewith:=rText, Replace:=wdReplaceAll, Forward:=True, Wrap:=wdFindContinue, MatchCase:=True @d^MaXp_P
End Sub S!
.N3ezn
E/d\ebX|
Sub ClearDomain() E_xk8X~
With Selection.Find I(
9+F
.ClearFormatting xfqu=z8X
.Replacement.ClearFormatting "?Jf#
.Wrap = wdFindContinue 8nSw7:z
Me.txtStatus.Text = "清除所有域代码" "(a}}q 9-
DoEvents z
-nV!#
.Execute findtext:="^d", replacewith:="", Replace:=wdReplaceAll, Forward:=True, Wrap:=wdFindContinue, MatchWildcards:=False X
pT})AV
End With %nkbQ2^
End Sub RS7J~Q
Hxj8cXUF|
Private Sub cmdCheck_Click() ?Xp+5{
bContinue = True DVBsRV)/
Dim NoSeries1(1 To 16) As String >k2^A
Dim NoSeries2(1 To 16) As String 6x@]b>W
Dim NoSeries5(1 To 16) As String ggHl{cl)
Dim NoSeriesRM(1 To 16) As String 'f.5hX(Y
Dim paraTotal As Long, ParaText As String S~ y.>X3"P
Dim ttString As String, ttNo As String n+'s9
8PGuZw<
Dim ShapeCounter As Long, ShapeHeight As Long, ShapeWidth As Long i_$?sg#=yk
NE@P8pQ>
Me.txtStatus.Visible = True !Ome;gS)
Me.lbParaType.Visible = True ^687U,+
Me.cmdCheck.Enabled = False .n}k,da@(
q(5
oIKuo~
"N=q>jaX
(j}edRUnB
Dim ParaType As String, rText As String uD`Z\@Z
}sfvzw_
Selection.WholeStory ^P*+0?aFr
Selection.NoProofing = True .R@euIva
gf,[Gb
Z
tm1 = Now YgkQF0+
EmV Z
qW
ActiveWindow.View.Type = wdNormalView (`f)Tt=`
fp"GdkO#}i
NoSeries1(1) = "一" \@7 4I7
NoSeries1(2) = "二" {6wy}<ynC+
NoSeries1(3) = "三" :XO7#P
NoSeries1(4) = "四" x=1Sbs w{
NoSeries1(5) = "五" cdfnM% `>\
NoSeries1(6) = "六" fydQaxCND
NoSeries1(7) = "七" V##
T G0
NoSeries1(8) = "八" mZ#IP
NoSeries1(9) = "九" ,\PTn7_
NoSeries1(10) = "十" N)YoWA>#bF
NoSeries1(11) = "十一" <)gTi759h)
NoSeries1(12) = "十二" ~A>-tn}O
NoSeries1(13) = "十三" xQzXl
NoSeries1(14) = "十四" dQ Ao~]B
NoSeries1(15) = "十五" @N\
Ht'f
NoSeries1(16) = "十六" wV{VV?h}
2AjP2
NoSeries2(1) = "㈠" 0MOn
>76$N
NoSeries2(2) = "㈡" XP@&I[J3sI
NoSeries2(3) = "㈢" CDFkH
NoSeries2(4) = "㈣" =ZARJ40L
NoSeries2(5) = "㈤" R)
GDs
gXy
NoSeries2(6) = "㈥" }An;)!>(nF
NoSeries2(7) = "㈦" /<IXCM.
NoSeries2(8) = "㈧" h)?Km
{u%
NoSeries2(9) = "㈨" PW-sF
NoSeries2(10) = "㈩" 71HrpTl1fw
I#CS;Yh95
NoSeries5(1) = "①" fR lJ`\ t
NoSeries5(1) = "②" Lor__
K
NoSeries5(3) = "③" A)f/ww)Q
NoSeries5(4) = "④" /oU$TaB
>(
NoSeries5(5) = "⑤" n,|YJ,v[
NoSeries5(6) = "⑥" JU-eoB}m
NoSeries5(7) = "⑦" :,MI,SwnS
NoSeries5(8) = "⑧" z-h7v5i"
NoSeries5(9) = "⑨" l8N5}!N
NoSeries5(10) = "⑩" G#z9=NF~V
bKPjxN?!9
A@I3:V
NoSeriesRM(1) = "I" Um
I,?p
NoSeriesRM(2) = "II" G4,BcCPQ
NoSeriesRM(3) = "III" EaN^<
NoSeriesRM(4) = "IV" g_MxG!+(V
NoSeriesRM(5) = "V" 8X=2#
&)
NoSeriesRM(6) = "VI" ch0x*[N@
NoSeriesRM(7) = "VII" !9=Y(rb
NoSeriesRM(8) = "VIII" 9h^TOZK)
NoSeriesRM(9) = "IX" Z
,
98
NoSeriesRM(10) = "X" r W
w.(l
NoSeriesRM(11) = "XI" -.7UpDg~
NoSeriesRM(12) = "XII" RS
Vt
NoSeriesRM(13) = "XIII" (7}Zh|@W
NoSeriesRM(14) = "XIV" ?B:],aztf
NoSeriesRM(15) = "XV" 5ZHO+@HiFH
NoSeriesRM(16) = "XVI" )0
i$Bo
8)&J oPN
i = MsgBox("为了你的数据安全,请使用单独保存的文件副本进行本操作。" & vbCrLf & "确定继续进行吗?", vbYesNo) 9B1bq #
%lN4"jtx
If i = vbNo Then K
U;m.{
Exit Sub @S Quc
End If 8BM[c;-{g`
X0%BE!
If Me.chkSuper.Value Then 6NzS <
Me.txtStatus.Text = "检查修改所有的上标格式" <+;
cgF!+
AKKVd%
P(
CheckSuperScript U{-[lpd
*(Us:*$W.
End If
q&EwD(k
qk\LfRbj
If Me.chkStyle.Value Then 'J#uD|9)
Me.txtStatus.Text = "设置样式,请稍候...." LwEc*79
DoEvents \&%y4=y<sE
CeateOrModifyStyle HAMps[D[
End If A,GJ6qp3
H?dEgubg7]
>qynd'eToR
^p #bxN")
ClearDomain <p8>"~R
&ETPYf%#
aW$))J)0
Y@V6/D} 1
If Me.chkLIST.Value Then
;5}y7#4C
Me.txtStatus.Text = "将所有自动列表标题转化为人工标题形式" A-qpuI;f
\AB*C_Ri
ConvertListToOrdinary dY]iAJ
End If ZY> u4v.
x9H
qc9q
'5SO3/{b
Dim pType As String, trimpTEXT As String /)xQ# yfX
If Me.chkNum.Value = True Then %{";RfSVX%
Me.txtStatus.Text = "转换全角数字形式为半角" U\", !S~<
ConvertWidth "1", "1" #'h(o/hz&&
DoEvents [r=U-
ConvertWidth "2", "2" ju;Myi}a
DoEvents yg@}j
ConvertWidth "3", "3" lyrwm{&
DoEvents fn\&%`U
ConvertWidth "4", "4" K/XUF#^B]
DoEvents H6-{(:
*<
ConvertWidth "5", "5" bR|1*
<
DoEvents ZfIeq<8_
ConvertWidth "6", "6" 'd|E>8fejG
DoEvents 0'tm.,
ConvertWidth "7", "7" Ty"=3AvRLV
DoEvents
05vu{>
ConvertWidth "8", "8" :Nw7!fd
DoEvents 8]0?mV8iOE
ConvertWidth "9", "9" 4 {3<
`
DoEvents 82Nw6om6i
ConvertWidth "0", "0" |:d:uj/
DoEvents tsqWnz=)
ConvertWidth "a", "a" 5%(xZ
6
DoEvents :vy./83W
ConvertWidth "b", "b" ogKd}qTov
DoEvents i]n ?zWo_h
ConvertWidth "c", "c" rZ7)sE5L
DoEvents 7)v`l1
ConvertWidth "d", "d" =J&aN1Hgt
DoEvents %p.hwgvnp
ConvertWidth "e", "e" vpqMKyy
DoEvents Jl^THoEL
ConvertWidth "f", "f" Nx4X1j?-n
DoEvents D
z5(v1I9A
ConvertWidth "g", "g" &5;y&dh
DoEvents z`rW2UO#a`
ConvertWidth "h", "h" X+k`UM~
DoEvents ~qmu?5
ConvertWidth "i", "i" l j*J|%~
DoEvents
.)XJ-
ConvertWidth "j", "j" >dqeGM7Np>
DoEvents jp QmKX
ConvertWidth "k", "k" 6dX l ny1H
DoEvents ~6:y@4&F
ConvertWidth "l", "l" $^"_Fox]A\
DoEvents o[CjRQY]P
ConvertWidth "m", "m" ^Dhu8C(
DoEvents mnWbV\ VY
ConvertWidth "n", "n" ]%/a
'[
ConvertWidth "o", "o" <\S
j5
ConvertWidth "p", "p" @V#
wYt
ConvertWidth "q", "q" xDBHnr}[
ConvertWidth "r", "r" ZE>!]# ,
ConvertWidth "s", "s" ,4z?9@wQ
ConvertWidth "t", "t" )v?-[
oR
ConvertWidth "u", "u" yzmwNsu
ConvertWidth "v", "v" IpMZ{kJlv`
ConvertWidth "w", "w" XZ8;Ow=
ConvertWidth "x", "x" &OSyU4r
ConvertWidth "y", "y" N%&D(_
ConvertWidth "z", "z" A?sU[b6_
ConvertWidth "A", "A" zE NlL
ConvertWidth "B", "B" HR83{B21
ConvertWidth "C", "C" ';bovh@*
ConvertWidth "D", "D" vVi))%&S(
ConvertWidth "E", "E" s%R'c_cGZ
ConvertWidth "F", "F" O6pL )6d
ConvertWidth "G", "G" :-kXZe
ConvertWidth "H", "H" xiPP&$mg
ConvertWidth "I", "I" \V,;F!*#G
ConvertWidth "J", "J" f@a@R$y
ConvertWidth "K", "K" ,o)U9<
ConvertWidth "L", "L" ku}I;k |
ConvertWidth "M", "M" Q35/Sp[;x
ConvertWidth "N", "N" r'ydjy
ConvertWidth "O", "O" \aO.LwYm;:
ConvertWidth "P", "P" <\cH9D`dE
ConvertWidth "Q", "Q" q#~]Hp=W5
ConvertWidth "R", "R" +vtI1LC;_
ConvertWidth "S", "S" 2x*C1
ConvertWidth "T", "T" Wd_cNR\
ConvertWidth "U", "U" /y"Y o
ConvertWidth "V", "V" zl!`*{T{
ConvertWidth "W", "W" gZr/Dfy
ConvertWidth "X", "X" C=/nZGG
ConvertWidth "Y", "Y" 1$Pn;jg:
ConvertWidth "Z", "Z" B:\TvWbu
ConvertWidth "^l", "^p" ~:%rg
H
ConvertWidth "(", "(" <KDl2>O
ConvertWidth ")", ")" k99ANW
*AU"FI>V
End If Y)I8(g}0
a/wkc*}}/
With ActiveDocument
$yx34=
Dim tbl As Table 5Cs
JghTw
For Each tbl In .Tables wB;'+d&
tbl.Rows.Alignment = wdAlignRowCenter IFY,j8~q
tbl.Range.Font.NameFarEast = "楷体" H19CVc\B
tbl.Range.Font.NameAscii = "Times New Roman" b]h]h1~hHH
tbl.Range.Font.Size = 10.5 txwTJScg
Next k(;c<Z{?1
Set tbl = Nothing 4;ig5'U,
End With <IBzh_
XHlx89v7
:bA@
u>
With ActiveDocument [af<FQ {
Y(]&j`%
For i = 1 To .TablesOfContents.Count g{cHh(S
.TablesOfContents(i).Delete jF\J+:5M
Next #)BdN
4%I(Z'*Cx
,e
~@
a,U =irBA
paraTotal = .Paragraphs.Count 7^J-5lY3S
paraCounter = 1 ]{[VTjC7rY
Pl
}dA
LastTitle0No = 0 zAxwM-`
LastTitle1No = 0 .#b!
#
LastTitle2No = 0 !Fz9\
|
LastTitle3No = 0 WqC6c&NM
LastTitle4No = 0 0F<O \
LastTableNo = 0 ~4mgYzOmD`
LastFigureNo = 0 f9FsZD
ZC1U
Dim Sec As Long fodr1M4J
D n?P~%
Sec = InputBox("正文从第一节开始?", "节设置", 6) nV0"q|0K;
If Sec = 0 Then RkJ\?
Exit Sub G1"=}Wt`
End If @:. 6'ji,`
{ [4Y(l1
k = 0 ^J>jU`)CJ
Do While (paraCounter < paraTotal) And bContinue n8M/Y}mH
k = k + 1 khb
Gyg%
If .Paragraphs(paraCounter).Range.Information(wdActiveEndSectionNumber) >= Sec Then kgz2/,
Exit Do X~Li`
End If j]"Yzt~u
paraCounter = paraCounter + 1 %Iv0<oU
If k Mod 20 = 0 Then <L__;j1Wx
Me.lbCounter.Caption = paraCounter iD|"} }01
DoEvents 1b'1vp
End If 'H`_Z e<
Loop t
_Q/v
8<t?o'9I
eD, 7gC-
Do While (paraCounter < paraTotal) And bContinue k:w\4Oqd
%Ya-;&;`
ParaText = Trim(.Paragraphs(paraCounter).Range.Text) LTY@}o]\U
ShapeHeight = 0 1!/
U#d"
ShapeWidth = 0 Nky%v+r
h(I~HZ[K&T
CheckPara .Paragraphs(paraCounter).Range, ParaType, rText, ttString, ttNo, ShapeCounter, ShapeHeight, ShapeWidth V\kf6E
`oh'rm3'8
Select Case ParaType >29eu^~nh
Case "【】表格内容" )(&g\
.Paragraphs(paraCounter).Style = "QLNU表格内容" )G6]r$M>o0
Case "章" J|Lk::Ri
LastTitle0No = LastTitle0No + 1 Kk~0jP_ B9
'新一章开始,复位其下属标题编号 $2^V#GWo
LastTitle1No = 0 O329Bkg
LastTitle2No = 0 m)q;eQs
LastTitle3No = 0 PL
8eM]XS
LastTitle4No = 0 0n_Cuh\
,FJ9C3
k = Val(ttNo) %xR;8IO
If k = 0 Then '非数字编号章节 nYuZg6K
If ttNo <> NoSeries1(LastTitle0No) Then @Ns^?#u~
rText = "第" & NoSeries1(LastTitle0No) & ttString 'lv\I9"S)
Me.ErrMsg.AddItem "章节编号错误:" & ParaText 48n>[
FMSR
End If U3^T.i"R
Else #TUsi,jG
If Val(ttNo) <> LastTitle0No Then s&lZxnIjc
rText = "第" & LastTitle0No & ttString }
tU<RvT
Me.ErrMsg.AddItem "章节编号错误:" & ParaText
%f@VOS
s
End If 0X)'8N
q5[%B K
End If 2D
MH@U2
SF;;4og
'章段落设置 h"YIAQ',
'字体大小:三号16磅小三号15磅四号14磅小四号12磅五号10.5磅小五号9磅 (0"9562
.Paragraphs(paraCounter).Style = "QLNU章节" 'W$jHs
.Paragraphs(paraCounter).Range.Select L`+\M+
Selection.EndKey unit:=wdLine b=QO ^
tc = Replace(rText, vbCr, "") ^n<p#0)+a
Selection.Fields.Add Range:=Selection.Range, Type:=wdFieldEmpty, Text:="TC """ & tc & """ \l 1 ", PreserveFormatting:=False *kxk@(lT?
Case "一级标题" QH4n
b h4
LastTitle1No = LastTitle1No + 1 $Tq-<FbM)
'新一级标题开始,复位其下属标题编号 H#G~b""mY
LastTitle2No = 0
c*_I1}l
LastTitle3No = 0 @)m+O#a
LastTitle4No = 0 |J`YFv
-)?~5
Z
If ttNo <> NoSeries1(LastTitle1No) Then Vd|5JA}<"
rText = NoSeries1(LastTitle1No) & "、" & ttString {P(Z{9 u%
Me.ErrMsg.AddItem "一级标题编号错误:" & ParaText A{;b^IK
End If a'Qy]P}'Ug
SM:{o&S`
?S0VtHQ
'一级标题段落设置 格式:一、标题内容 vdNh25a<h
.Paragraphs(paraCounter).Range.Text = rText >.#uoW4ZV
.Paragraphs(paraCounter).Style = "QLNU一级标题" y6;'?.Y1
.Paragraphs(paraCounter).Range.Select v^[Ny0cM
Selection.EndKey unit:=wdLine 7BF't!-2F
tc = Replace(rText, vbCr, "") DnaG$a<
Selection.Fields.Add Range:=Selection.Range, Type:=wdFieldEmpty, Text:="TC """ & tc & """ \l 1 ", PreserveFormatting:=False ;'pEzz?k"
Case "二级标题" 9\Mesf1$o
LastTitle2No = LastTitle2No + 1 x-U^U.i@
'新二级标题开始,复位其下属标题编号 -b(:kAwStk
LastTitle3No = 0 N`grr{*_
LastTitle4No = 0 5gV8=Ml"V
KI$?0O
If ttNo <> NoSeries1(LastTitle2No) Then .d9VV&
rText = "(" & NoSeries1(LastTitle2No) & ")" & ttString q!<`ci,uS
ErrMsg.AddItem "二级标题编号错误:" & ParaText T{|'<KT
End If bsPw Tp^
}x-~>$:"
'二级标题段落设置 格式:(一)、标题内容 /Yx 1S'5
.Paragraphs(paraCounter).Range.Text = rText KL0u:I(lWU
.Paragraphs(paraCounter).Style = "QLNU二级标题" ;oULtQ
m{x!uq
.Paragraphs(paraCounter).Range.Select s iv
KXd
Selection.EndKey unit:=wdLine X?Omk, '
tc = Replace(rText, vbCr, "") Qkk~{OuC
Selection.Fields.Add Range:=Selection.Range, Type:=wdFieldEmpty, Text:="TC """ & tc & """ \l 2 ", PreserveFormatting:=False i2$U##-ro]
,+*8@>c
Case "三级标题" (1(3:)@S6
LastTitle3No = LastTitle3No + 1 vUgLWd
'新三级标题开始,复位其下属标题编号 NeHR%a2~
LastTitle4No = 0 n\*>mp)
?i(Tc!
If Val(ttNo) <> LastTitle3No Then 7esG$sVj(
rText = LastTitle3No & ". " & ttString q`}Q[Li
Me.ErrMsg.AddItem "三级标题编号错误:" & ParaText 42Vy#t/HC
R8\y|p#c
End If E[htNin.B~
'三级标题段落设置 格式:1. 标题内容 0'|#Hi7@
.Paragraphs(paraCounter).Range.Text = rText Ajq;\-:
.Paragraphs(paraCounter).Style = "QLNU三级标题" J(M0t~RZ
.Paragraphs(paraCounter).Range.Select ,vW.vq<{q3
Selection.EndKey unit:=wdLine pLBp[GQ
tc = Replace(rText, vbCr, "") IVkKmO(qO
Selection.Fields.Add Range:=Selection.Range, Type:=wdFieldEmpty, Text:="TC """ & tc & """ \l 3 ", PreserveFormatting:=False _ZD)#?
Case "四级标题" =}r&>|rrJ
LastTitle4No = LastTitle4No + 1 Cz?N[dhh
/43DR;4
If Val(ttNo) <> LastTitle4No Then S5v>WI^0h
rText = "(" & LastTitle4No & "). " & ttString 0c7&J?"wE
ErrMsg.AddItem "四级标题编号错误:" & ParaText B{/Pv0y
nUhD41GJ
End If 0wZLkU_(
'四级标题段落设置 格式:(1). 标题内容 uiE9#G
.Paragraphs(paraCounter).Range.Text = rText KL.{)bi
.Paragraphs(paraCounter).Style = "QLNU四级标题" yi# Nrc5B
.Paragraphs(paraCounter).Range.Select xwT"Q=|kW
Selection.EndKey unit:=wdLine }.2pR*W
tc = Replace(rText, vbCr, "") ',6QL4qV/
Selection.Fields.Add Range:=Selection.Range, Type:=wdFieldEmpty, Text:="TC """ & tc & """ \l 4 ", PreserveFormatting:=False 9T|7edl
aiw~4ix
Case "表格标题" g=b[V
LastTableNo = LastTableNo + 1 o|l)oc6{
@w6^*Z_hQ
If ttNo <> CStr(LastTableNo) Then G+b $WQn2t
rText = "表" & LastTableNo & ". " & ttString Ps<)?q6(
ErrMsg.AddItem "表格编号错误:" & ParaText / vje='[!
(LRv c!`"
End If GMgsM6.R
lbT<HWzNH
'表格名称段落设置 格式:表1. 表格名称 '|4/aHU
.Paragraphs(paraCounter).Style = "QLNU表格标题" =[t( [DG
xe = Replace(rText, vbCr, "") MJV&%E6{:{
.Paragraphs(paraCounter).Range.Select p`Omcl~Q
Selection.MoveEnd wdCharacter, -1 '选择范围包括行尾的换行符。
F.PD5%/$q
Selection.Range.Text = xe G~a/g6M4
Selection.EndKey ;csAhkf:S
Selection.Fields.Add Range:=Selection.Range, Type:=wdFieldEmpty, Text:="XE " & """" & xe & """", PreserveFormatting:=False Tr/wG
1.yw\ZC\
Case "表格首行" 5
;dg#hO
.Paragraphs(paraCounter).Style = "QLNU表格首行" yW|yZ(7
Case "图片标题" A+Y>1-=JO
LastFigureNo = LastFigureNo + 1 *[W! ng
bU2)pD!N
If ttNo <> CStr(LastFigureNo) Then MZ+8wr/y
rText = "图" & LastFigureNo & ". " & ttString '$1-A%e$1
ErrMsg.AddItem "表格编号错误:" & ParaText 3{on$\
CL9p/PJ%e
End If .b N0!
'图片名称段落设置 格式:图1. 图名称 r]BB$^@@V
.Paragraphs(paraCounter).Range.Text = rText 1x M&"
p:
.Paragraphs(paraCounter).Style = "QLNU图片标题" $CL=M
.Paragraphs(paraCounter).Range.Select ;c:vzF~Q
Selection.EndKey unit:=wdLine pK*-I
n
xe = Replace(rText, vbCr, "") lJKhP
Selection.Fields.Add Range:=Selection.Range, Type:=wdFieldEmpty, Text:="XE " & """" & xe & """", PreserveFormatting:=False I.y|AQB
Case "正文" .yi.GRk
'正文名称段落设置 X-oou'4<
.Paragraphs(paraCounter).Style = "QLNU正文" uA:;OM}
Case "文献条目" xC<OFpI\
With .Paragraphs(paraCounter) #1u4Hi(x5
'.Range.Select :7:Nx`D8
'Selection.ClearFormatting \)y5~te*
'.Range.Find.Execute findtext:=rText, replacewith:=strSeperator 'Replacetext 传回了编号及分隔符部分, 而StrSeperator传回了正确的格式与分隔符如“[15] ” 8-juzL}
.Style = "QLNU参考文献" X[NsdD?w1+
End With 'n!;7*
Case "图表注解" r^ #.yUz
With .Paragraphs(paraCounter) 39"8Nq|e
.Range.Font.NameFarEast = "楷体" a/_
sL(F{
.Range.Font.NameAscii = "Times New Roman" 1ZhJ?PI,9{
.Range.Font.Size = 9 '小5号字 rx_'(
dldM hT$
.Alignment = wdAlignParagraphCenter >?U(w<
.LeftIndent = 0 UTin0k
.RightIndent = 0 oc
\rQ?
.FirstLineIndent = 0 @U5+1Hjc
.LineSpacing = 12 |`qur5h`
.LineSpacingRule = wdLineSpaceExactly HEjV7g0E
.LineUnitAfter = 0 nN@8vivP%
.LineUnitBefore = 0 H0tjN&O_
.OutlineLevel = wdOutlineLevelBodyText %tUJ >qYU
.PageBreakBefore = False vWe)c
J
.RightIndent = 0 HX+'{zm]
.WordWrap = True W.zA1S
.LineUnitAfter = 0.5 \e'>$8%T
QE<63|
End With <po(7XB
Case Else @YpA'cX7
'不作处理 Eto0>YyZ
End Select KQ3)^
J_Z
'OBAnE<.
'含有inlineshape的段落处理 ZwO&G\A^
If ShapeHeight > 30 Then 6prN,*k5
.Paragraphs(paraCounter).LineSpacingRule = wdLineSpaceSingle '对有图片的段落设置为单倍行距 Om>6<3n
End If S5m1~fz
",&}vfD4M
If (ShapeWidth + ShapeHeight) > 150 Then N ?V5gi
.Paragraphs(paraCounter).Style = "QLNU图片段落" ,W{Qv<oo
End If #0G9{./C
y<)Lr}gP
'段落计数器递 Qf>dfJ^q
paraCounter = paraCounter + 1 qYsu3y)*N
Me.lbCounter.Caption = "当前检测段落:" & paraCounter JguE#ob2
Me.txtStatus.Text = ParaText &z1r$X.AW
DoEvents QnaMj
Dh$6
Loop M9bb,`X>Q
End With 7:M%w'oR
-BQM i0
msg = "" 6],5X^*Y
0Lc X7gU>
For i = 0 To Me.ErrMsg.ListCount - 1 5IdmKP|
msg = msg & vbCrLf & vbCrLf & Me.ErrMsg.List(i) qZ_^#%zO
Next zFB$^)v"<
v`y{l>r,
YfxZ<
tBrd+}e2*
Me.txtStatus.Text = "格式化完成!" & vbCrLf & "开始时间:" & tm1 & vbCrLf & "结束时间:" & Now & vbCrLf & msg |P5?0{
Me.cmdCheck.Enabled = True jn)~@~c
Me.txtStatus.Visible = True En5I
Me.lbParaType.Visible = False ]>R`]U9*O
CzNSJ
VE5
bContinue = False O_F<VV*MFQ
End Sub 'f;+*~*L
Fo?2nQ<
Sub CheckPara(ByRef ChKRange As Range, ParaType As String, ReplaceTEXT As String, TitleString As String, TitleNo As String, shpCounter As Long, MaxShpHeight As Long, TotalShpWidth As Long) aWe
H,A%
Dim pTEXT As String d+2I+O03
^U~YG=!ww
pTEXT = ChKRange.Text /wCP(1Mw
7F|T5[*l
ParaType = "其它" L8 R|\Bx
TitleString = pTEXT 2!]':(8mR
TitleNo = "N/A" #Y`U8n2F
F P
mLost
shpCounter = ChKRange.InlineShapes.Count q3scz
If shpCounter <> 0 Then VEb}KFyP
MaxShpHeight = 0: TotalShpWidth = 0 y3;G<9K2c]
For i = 1 To shpCounter AU-/-h=Mr
k = ChKRange.InlineShapes(i).Height Q*mPU=<
l = ChKRange.InlineShapes(i).Width VWLou
jB
If k > MaxShpHeight Then )vuxy
MaxShpHeight = k O%0G37h
End If G_42ckLq
TotalShpWidth = TotalShpWidth + l [|k@Suv |z
Next qMI%=@=
If MaxShpHeight > 60 Or TotalShpWidth > 150 Then @*%5"~F
Exit Sub oh& PQ{
End If x:sTE u@
End If I!# 42~\
]lZ!en
'空行 %\r4c*O1q
If Len(pTEXT) <= 2 Then V-7!)&q
Exit Sub l Fzb$k}_{
End If (O&