Dim bContinue As Boolean ;+Yi.Q/\
LSd*|3E}n
Dim regEX As New RegExp N$
alUx*
Dim paraCounter As Long '全局段落计数,仅在主程序中可读写,其它过程函数应为只读 h##WA=1QZ
Fhj8lVvk
Dim LastTitle0String As String, LastTitle0No As Long
wH6u5*$p
Dim LastTitle1String As String, LastTitle1No As Long O\beKBT;
Dim LastTitle2String As String, LastTitle2No As Long H[Weu
Dim LastTitle3String As String, LastTitle3No As Long z,f=}t[.Y
Dim LastTitle4String As String, LastTitle4No As Long HKmcQM
Dim LastTitle5String As String, LastTitle5No As Long n2ndjE$
Dim LastTabelString As String, LastTableNo As Long IazkdJX~
Dim LastFigureString As String, LastFigureNo As Long *l>0t]5YH
`
2%6V)s
Dim strSeperator As String Z(Q2Ue;}&
(#Mp 5C'X
Sub ConvertWidth(fTEXT As String, rText As String) K"{HseN{
Selection.Find.ClearFormatting ($!KzxF3
Selection.Find.Replacement.ClearFormatting ZX.TqvK/r
Selection.Find.Wrap = wdFindContinue u
Jow7-FD
Me.txtStatus.Text = "转换全角数字字母" & fTEXT & "形式为半角" & rText 8{I"q[GZ
DoEvents 3y`F<&sA
Selection.Find.Execute findtext:=fTEXT, replacewith:=rText, Replace:=wdReplaceAll, Forward:=True, Wrap:=wdFindContinue, MatchCase:=True )0CQP
End Sub YD[H
?nFO:N<
Sub ClearDomain() @Hjea1@t
With Selection.Find t#~?{i@m
.ClearFormatting BBL485`
.Replacement.ClearFormatting z,Lzgh
.Wrap = wdFindContinue Cmd329AH
Me.txtStatus.Text = "清除所有域代码" H{`{)mS
DoEvents |. C1|J'Z
.Execute findtext:="^d", replacewith:="", Replace:=wdReplaceAll, Forward:=True, Wrap:=wdFindContinue, MatchWildcards:=False KL3<Iz]
End With Nhf~PO({&
End Sub r%=[},JQ
l";'6;g
Private Sub cmdCheck_Click() G=d(*+&
B
bContinue = True zFhgE*5
Dim NoSeries1(1 To 16) As String &Cro2|KZhG
Dim NoSeries2(1 To 16) As String
,=%nw
]:
Dim NoSeries5(1 To 16) As String 2(#Ks's?
Dim NoSeriesRM(1 To 16) As String 1'KishHK=
Dim paraTotal As Long, ParaText As String >bm|%Ou"
Dim ttString As String, ttNo As String <8o(CA\
@h9MxCE!
Dim ShapeCounter As Long, ShapeHeight As Long, ShapeWidth As Long UTk r.T+2X
M] EsS^/X
Me.txtStatus.Visible = True >Hwc,j
q
Me.lbParaType.Visible = True 4A.Q21s
Me.cmdCheck.Enabled = False a/:XXy |
6m`{Z`c$
~1(j&&kXet
pR$6,Vi
OkH\^
Dim ParaType As String, rText As String 1~5trsB+5
<Gb
%uny
Selection.WholeStory \cySWP
[
Selection.NoProofing = True oRY!\ADR
>1|g5
tm1 = Now Ka-p& Uv1<
/oP^'""@je
ActiveWindow.View.Type = wdNormalView /g.]RY+u|x
Plo ,XU
NoSeries1(1) = "一" )iLM]m
NoSeries1(2) = "二" zQ8!rCkg4
NoSeries1(3) = "三" .YcN S%
NoSeries1(4) = "四" I4e+$bU3
NoSeries1(5) = "五" " 'tRfB
NoSeries1(6) = "六" PEXq:TA
NoSeries1(7) = "七" mh`|=M]8E
NoSeries1(8) = "八" _a'A~JY
NoSeries1(9) = "九" j4.&l3
NoSeries1(10) = "十" 2VgP
NoSeries1(11) = "十一" yfe'>]7
NoSeries1(12) = "十二" KS<
Jv;
NoSeries1(13) = "十三" (.X]F_*sc
NoSeries1(14) = "十四" ^gR+S
NoSeries1(15) = "十五" d>i13dAI
NoSeries1(16) = "十六" tJD]
(F
l\Ftr_Dk
NoSeries2(1) = "㈠" h'5Cp(G
NoSeries2(2) = "㈡" Jh@_9/?
NoSeries2(3) = "㈢" :d'
5O8
NoSeries2(4) = "㈣" t9
F=^)s
NoSeries2(5) = "㈤" 9K"JYJ
q2
NoSeries2(6) = "㈥" Px;Cg
6
NoSeries2(7) = "㈦" n9UKcN-
NoSeries2(8) = "㈧" l[Z)@bC1
NoSeries2(9) = "㈨" v.g"{us
NoSeries2(10) = "㈩" i^2IW&+}e}
X"*^l_9-v
NoSeries5(1) = "①" Z[L5
;
NoSeries5(1) = "②" X;GfPw.m
NoSeries5(3) = "③" O6c\KFBSJ
NoSeries5(4) = "④" b-<HXn_Fd
NoSeries5(5) = "⑤" F
:T GsV#
NoSeries5(6) = "⑥" iS: #o>
NoSeries5(7) = "⑦" Faac]5u:*
NoSeries5(8) = "⑧" t&RruwN_;
NoSeries5(9) = "⑨" QZYU0;
VF
NoSeries5(10) = "⑩" /
9 hR
CjZ2z%||=
E_:QSy5G
NoSeriesRM(1) = "I" Vz:_mKA
NoSeriesRM(2) = "II" f`P9ku#j}
NoSeriesRM(3) = "III" Dn;p4T@
NoSeriesRM(4) = "IV" >)#c\{c
NoSeriesRM(5) = "V" .ER 98
NoSeriesRM(6) = "VI" FjKq%.=#
NoSeriesRM(7) = "VII" ygViPz
<J
NoSeriesRM(8) = "VIII" ?y%t}C\W
NoSeriesRM(9) = "IX" VXKT\9g3A
NoSeriesRM(10) = "X" AXW!]=?X
NoSeriesRM(11) = "XI" b:MG@Hxc
NoSeriesRM(12) = "XII" Q:o7G|C
NoSeriesRM(13) = "XIII" 7TWNB{
K_
NoSeriesRM(14) = "XIV" :`W|hE^
NoSeriesRM(15) = "XV" <Oz66bTze
NoSeriesRM(16) = "XVI" :c8^db`"
2@i;_3sv
i = MsgBox("为了你的数据安全,请使用单独保存的文件副本进行本操作。" & vbCrLf & "确定继续进行吗?", vbYesNo) * gqSWQ
Z85|I.mr
If i = vbNo Then 3Sh+
u>w
Exit Sub j}WByaZ&
End If <y=ovkM3
(JZ".En#X
If Me.chkSuper.Value Then tYe:z:7l?<
Me.txtStatus.Text = "检查修改所有的上标格式" a(x?f
a[D
U}AX0*
S
CheckSuperScript L*
|1/
8Qrpa o
End If 5cTY;@
@
+;gsRhWk
If Me.chkStyle.Value Then A WJWtUa
Me.txtStatus.Text = "设置样式,请稍候...." .9M.|
DoEvents ?0vNEz[
CeateOrModifyStyle IgX4.]W5
End If fE25(wCz7
'"xiS$b(
}T(z4P3
Z9
w:&oa@
ClearDomain ;u!?QSvb
*xH\)|3,
b1^cD6sT+
Es8#]'Rk
If Me.chkLIST.Value Then |4>:M\h
Me.txtStatus.Text = "将所有自动列表标题转化为人工标题形式" ME+em1ZH
|f' 8p8J
ConvertListToOrdinary X r_pgW
|
End If :pZ}*?\
ycpE=fso'
rla:<6tt
Dim pType As String, trimpTEXT As String C{m&}g`
If Me.chkNum.Value = True Then |E^|X!+9
Me.txtStatus.Text = "转换全角数字形式为半角" i0Pn Z
J
ConvertWidth "1", "1" OyVm(%Z
DoEvents b X,Siz:F
ConvertWidth "2", "2" \{v,6JC
DoEvents kC$I2[ t!
ConvertWidth "3", "3" |*\C{b
DoEvents (B#(
Z=
ConvertWidth "4", "4" ti_u!kNv
DoEvents I:;+n^N?
ConvertWidth "5", "5" >BoSw&T$Q
DoEvents `,#!C`E 9
ConvertWidth "6", "6" p:[LnL
DoEvents '2v f|CX
ConvertWidth "7", "7" 8wFn}lw&
DoEvents VifmZ;S@Y
ConvertWidth "8", "8" )%j"
DoEvents ]VjLKFb~U
ConvertWidth "9", "9" u''BP.Y S
DoEvents X"/~4\tJ"
ConvertWidth "0", "0" gGfq6{9g
DoEvents (F&YdWe:
ConvertWidth "a", "a" jD9lz-Y@
DoEvents 8(
lCi$
ConvertWidth "b", "b" EXbTCT}`x
DoEvents HeS'~Z$
ConvertWidth "c", "c" #PAU'u
3{/
DoEvents X;EJ&g/
ConvertWidth "d", "d" !$>G#+y
DoEvents 3M
N
ConvertWidth "e", "e" z7=fDe
-
DoEvents DY3:#X`4
ConvertWidth "f", "f" u,9q<&,
DoEvents p;->hn~D'5
ConvertWidth "g", "g" qgexb\x\4
DoEvents #7W.s!#}Dd
ConvertWidth "h", "h" nCaLdj?
DoEvents w}k B6o]
ConvertWidth "i", "i" 0XIxwc0Iw
DoEvents NMXM[Ukb
ConvertWidth "j", "j" "c
Pz|~
DoEvents AQh["1{yJ
ConvertWidth "k", "k" r{ @ `o@q
DoEvents K51fC4'{
ConvertWidth "l", "l" YFvgz.>QE
DoEvents Z_it
u73I
ConvertWidth "m", "m" /hci\-8N~
DoEvents x0G>ktWq<
ConvertWidth "n", "n" W_JhNe
ConvertWidth "o", "o" s]x2DH+_
ConvertWidth "p", "p" fPz=KoN
ConvertWidth "q", "q" r)B3es&&
ConvertWidth "r", "r"
rPTfpeqN)
ConvertWidth "s", "s" x#
8IZ
ConvertWidth "t", "t" [.3sE
ConvertWidth "u", "u" t9D
S]Li
ConvertWidth "v", "v" a4by^
ConvertWidth "w", "w" g:i*O^c@
ConvertWidth "x", "x" ^5x4 q
ConvertWidth "y", "y" 4ftj>O
ConvertWidth "z", "z"
:ICr\FY$
ConvertWidth "A", "A" V9{B}5KC
ConvertWidth "B", "B" >hb-5xC
ConvertWidth "C", "C" X;]3$\F
ConvertWidth "D", "D" eH[y[~r
ConvertWidth "E", "E" wAz,vq=x
ConvertWidth "F", "F" k?-S`o%Q
ConvertWidth "G", "G" ?>?ZAr
ConvertWidth "H", "H" CWMlZVG
ConvertWidth "I", "I" 4
ConvertWidth "J", "J" +]L) >$6
ConvertWidth "K", "K" (Y;'[.
ConvertWidth "L", "L" =|JKu'
ConvertWidth "M", "M" &kx\W)
ConvertWidth "N", "N"
N|N/)
ConvertWidth "O", "O" m X:
bA5db
ConvertWidth "P", "P" (`mOB6j
ConvertWidth "Q", "Q" Pz
{Ig
ConvertWidth "R", "R" e7|d=[kW
ConvertWidth "S", "S" 0UjyMEiK
ConvertWidth "T", "T" 9|a)sb7/
ConvertWidth "U", "U" a71}y;W
ConvertWidth "V", "V" Y3M','H([
ConvertWidth "W", "W" T &*eOr
ConvertWidth "X", "X" Wa/geQE1<
ConvertWidth "Y", "Y" R `Q?J[e
ConvertWidth "Z", "Z" k4mTZ}6E
ConvertWidth "^l", "^p" =n)#!i
ConvertWidth "(", "(" /cY[at|p
ConvertWidth ")", ")" G>j"cj
y`+<X{V5L
End If SyB-iQn
^Kum%<[i
With ActiveDocument u]#8$M2
Dim tbl As Table my=~"bw4
For Each tbl In .Tables vGyppm[0
tbl.Rows.Alignment = wdAlignRowCenter 6#-Z@fz%
tbl.Range.Font.NameFarEast = "楷体" dw99FA6
tbl.Range.Font.NameAscii = "Times New Roman" R\
e#$"a5
tbl.Range.Font.Size = 10.5 ,whM22Af~{
Next -;S3|
Set tbl = Nothing T~|PU{
End With u2om5e:
4^BLSK~(
_<Vg[-:1
With ActiveDocument _!;\R7]
QvNi8TB
For i = 1 To .TablesOfContents.Count :z124Zf
.TablesOfContents(i).Delete 4sQ~&@[Q+
Next Xr)g
Oo$%Yh51~
04[)qPPS
i59k"pNm
paraTotal = .Paragraphs.Count x"
!#_0TT}
paraCounter = 1 ]o!&2:'N`
T/Ez*iQW
LastTitle0No = 0 J ZNyC!u
LastTitle1No = 0 v6(,Ax&
LastTitle2No = 0 b@F_7P%
LastTitle3No = 0 cWc$yE'
LastTitle4No = 0 ^CX,nj_(
LastTableNo = 0 WMA*.$Zi
LastFigureNo = 0 /gF]s_
*fOIq88
Dim Sec As Long "mG!L$
;<~
j)8
Sec = InputBox("正文从第一节开始?", "节设置", 6) ls]Elo8h1f
If Sec = 0 Then {cX7<7N
Exit Sub ;pCG9
End If p+5#dbyr
2nYiG)tg
k = 0 =mAGD*NK
u
Do While (paraCounter < paraTotal) And bContinue G dL4|xv
k = k + 1 0=gF6U
If .Paragraphs(paraCounter).Range.Information(wdActiveEndSectionNumber) >= Sec Then @Zh8 QI+
Exit Do -MsuBf
End If m(h/:JZ\
paraCounter = paraCounter + 1 81cv:|"
If k Mod 20 = 0 Then ~.!?5(AH8z
Me.lbCounter.Caption = paraCounter H8x:D3C0
DoEvents
*X0K2|
End If >sB=\
Loop ap{{(y&R
d`<#}-nh
739l%u }<
Do While (paraCounter < paraTotal) And bContinue wfWS-pQ
=b|)Wnt2f
ParaText = Trim(.Paragraphs(paraCounter).Range.Text) ?n73J wH
ShapeHeight = 0 0L
7@2|a0
ShapeWidth = 0 J$<:/^t
<w%DyRFw3
CheckPara .Paragraphs(paraCounter).Range, ParaType, rText, ttString, ttNo, ShapeCounter, ShapeHeight, ShapeWidth ^M"HSewo
v3!by N^
Select Case ParaType Dt
(:u,
%
Case "【】表格内容" }$
w4SpR
.Paragraphs(paraCounter).Style = "QLNU表格内容" B0NN>)h
Case "章" S/)
LastTitle0No = LastTitle0No + 1 fCs\Q
'新一章开始,复位其下属标题编号 |)*m[_1
LastTitle1No = 0 <w%Yq?^
LastTitle2No = 0 7Im}~3NJG
LastTitle3No = 0
E)RI!0Ra
LastTitle4No = 0 Yoj~|qL
0FN~$+t)H
k = Val(ttNo) hE9'F(87a
If k = 0 Then '非数字编号章节 J>/Ci\OB
If ttNo <> NoSeries1(LastTitle0No) Then ^glbxbhI4
rText = "第" & NoSeries1(LastTitle0No) & ttString R^F7a0"
Me.ErrMsg.AddItem "章节编号错误:" & ParaText 6Lav.x\W
End If pC55Ec<
Else n,1NJKX
If Val(ttNo) <> LastTitle0No Then m]
EDuW
rText = "第" & LastTitle0No & ttString U_.n=d ~B
Me.ErrMsg.AddItem "章节编号错误:" & ParaText R20a(4m
End If B/:>{2cm
GR_p1 C\
End If 01UqDdoj
lS>=y#i3Xv
'章段落设置 Z={UM/6w
'字体大小:三号16磅小三号15磅四号14磅小四号12磅五号10.5磅小五号9磅 8UjCX[v
.Paragraphs(paraCounter).Style = "QLNU章节" H@K
l
.Paragraphs(paraCounter).Range.Select ]5aux
>.n
Selection.EndKey unit:=wdLine hVROzGZk
tc = Replace(rText, vbCr, "") k?z
[hZg0
Selection.Fields.Add Range:=Selection.Range, Type:=wdFieldEmpty, Text:="TC """ & tc & """ \l 1 ", PreserveFormatting:=False B6^w{eXN
Case "一级标题" <7@mg/T
LastTitle1No = LastTitle1No + 1 K7n;Zb:BR
'新一级标题开始,复位其下属标题编号 M
M/BJ
LastTitle2No = 0 !tm|A`<g#<
LastTitle3No = 0 %'$cH$%~J
LastTitle4No = 0 *_}IeNc
&8IWDx.7}
If ttNo <> NoSeries1(LastTitle1No) Then K[`4vsE
rText = NoSeries1(LastTitle1No) & "、" & ttString {^2({A#&
Me.ErrMsg.AddItem "一级标题编号错误:" & ParaText I67k M{V
End If la!1[VeL
v GulM<YY
Z^jGT+ 2
'一级标题段落设置 格式:一、标题内容 *S,v$ VX
.Paragraphs(paraCounter).Range.Text = rText
qQ2
.Paragraphs(paraCounter).Style = "QLNU一级标题" }39M_4a&
.Paragraphs(paraCounter).Range.Select (e>RNn\
Selection.EndKey unit:=wdLine 2{jtQlc
tc = Replace(rText, vbCr, "") iA5*
_tK5
Selection.Fields.Add Range:=Selection.Range, Type:=wdFieldEmpty, Text:="TC """ & tc & """ \l 1 ", PreserveFormatting:=False =k[(rvU3
Case "二级标题" 'Hcd&3a
LastTitle2No = LastTitle2No + 1 KE }
o
'新二级标题开始,复位其下属标题编号 xP<H,og&x=
LastTitle3No = 0 9F-ViDI.
LastTitle4No = 0 ./aZV
tr#)iZ\
If ttNo <> NoSeries1(LastTitle2No) Then PxdJOtI"
rText = "(" & NoSeries1(LastTitle2No) & ")" & ttString UEx(~>
ErrMsg.AddItem "二级标题编号错误:" & ParaText \H"/2o%l")
End If tF{{cd
L|dab{9
'二级标题段落设置 格式:(一)、标题内容 Y)@oo=oG
.Paragraphs(paraCounter).Range.Text = rText )dUd `g
.Paragraphs(paraCounter).Style = "QLNU二级标题" Q#d+IIR0gK
*m `KU+o-u
.Paragraphs(paraCounter).Range.Select ~2;&pZ$
Selection.EndKey unit:=wdLine vr8J*36{
tc = Replace(rText, vbCr, "") bw<~R2[
Selection.Fields.Add Range:=Selection.Range, Type:=wdFieldEmpty, Text:="TC """ & tc & """ \l 2 ", PreserveFormatting:=False 38zR\@'j]4
]JhDRJ\
Case "三级标题" /It.>1~2@
LastTitle3No = LastTitle3No + 1 NzwGc+\7}
'新三级标题开始,复位其下属标题编号 Sm~? zU[k/
LastTitle4No = 0 Ae,2Xi
s
/k
If Val(ttNo) <> LastTitle3No Then %-0em!tUV
rText = LastTitle3No & ". " & ttString !>"INmz
Me.ErrMsg.AddItem "三级标题编号错误:" & ParaText H>@JfYZ0
o3
(|FN
End If a78;\{&L'
'三级标题段落设置 格式:1. 标题内容 1+.y,}F6b
.Paragraphs(paraCounter).Range.Text = rText >=]NO'?O
.Paragraphs(paraCounter).Style = "QLNU三级标题" u0(hVK`":
.Paragraphs(paraCounter).Range.Select n?7hp%}
Selection.EndKey unit:=wdLine U?+3 0{hb
tc = Replace(rText, vbCr, "") qHcY
2LV
Selection.Fields.Add Range:=Selection.Range, Type:=wdFieldEmpty, Text:="TC """ & tc & """ \l 3 ", PreserveFormatting:=False }lrfO_
Case "四级标题" ^5^
zo~^o
LastTitle4No = LastTitle4No + 1 J~nJpUyP*
z[<pi:
If Val(ttNo) <> LastTitle4No Then _s*uF_:3
rText = "(" & LastTitle4No & "). " & ttString
1.ugXD
ErrMsg.AddItem "四级标题编号错误:" & ParaText #lLn='4
sf|_2sI
End If &?uzJx~
'四级标题段落设置 格式:(1). 标题内容 q=j/s4~
.Paragraphs(paraCounter).Range.Text = rText 7J)a "d^e
.Paragraphs(paraCounter).Style = "QLNU四级标题" PLY-,Q&'
.Paragraphs(paraCounter).Range.Select oIu,rjb
Selection.EndKey unit:=wdLine :&\E\9
tc = Replace(rText, vbCr, "") */fs.G:P
Selection.Fields.Add Range:=Selection.Range, Type:=wdFieldEmpty, Text:="TC """ & tc & """ \l 4 ", PreserveFormatting:=False
q%)*,I<
! X#3w-K
Case "表格标题" P+_\}u;
LastTableNo = LastTableNo + 1 SIyS.!k>
e!L sc3@
If ttNo <> CStr(LastTableNo) Then }]Z,\lA
rText = "表" & LastTableNo & ". " & ttString Z7k1fv:S^
ErrMsg.AddItem "表格编号错误:" & ParaText Is#v6:#^
2t
Z\{=
End If Kuzy&NI^w
9\W5
'表格名称段落设置 格式:表1. 表格名称 yA`]%U((
.Paragraphs(paraCounter).Style = "QLNU表格标题"
4 I]/
xe = Replace(rText, vbCr, "") : \ON+LQr
.Paragraphs(paraCounter).Range.Select
<_FF~l
j
Selection.MoveEnd wdCharacter, -1 '选择范围包括行尾的换行符。 !W6
Selection.Range.Text = xe FSXKH {Z
Selection.EndKey SFm.<^6
Selection.Fields.Add Range:=Selection.Range, Type:=wdFieldEmpty, Text:="XE " & """" & xe & """", PreserveFormatting:=False s$3eJ|
5y
'ycTjY
Case "表格首行" `G:qtHn"Q<
.Paragraphs(paraCounter).Style = "QLNU表格首行" V< 9em7
Case "图片标题" gE]a*TOZk
LastFigureNo = LastFigureNo + 1 @)!1#^(}%
;d'O. i=
If ttNo <> CStr(LastFigureNo) Then &*?!*+!,i
rText = "图" & LastFigureNo & ". " & ttString 7\|NYT4
ErrMsg.AddItem "表格编号错误:" & ParaText z;z'`A
y:(C=*^<t
End If JUUF^/J
'图片名称段落设置 格式:图1. 图名称 1v8:,!C
.Paragraphs(paraCounter).Range.Text = rText n
"`SL<K1
.Paragraphs(paraCounter).Style = "QLNU图片标题" njx\$,ruN
.Paragraphs(paraCounter).Range.Select h<z/LL8|
Selection.EndKey unit:=wdLine G~mB=]
xe = Replace(rText, vbCr, "") x]jdx#'
Selection.Fields.Add Range:=Selection.Range, Type:=wdFieldEmpty, Text:="XE " & """" & xe & """", PreserveFormatting:=False RQ$o'U9A
Case "正文" -`ys pE0?
'正文名称段落设置 ^ZViQ$a"h;
.Paragraphs(paraCounter).Style = "QLNU正文" pCud`
:o"
Case "文献条目" Q& unA3
With .Paragraphs(paraCounter) "}y3@ M^
'.Range.Select >GF(.:7
'Selection.ClearFormatting _sD]Viqc
'.Range.Find.Execute findtext:=rText, replacewith:=strSeperator 'Replacetext 传回了编号及分隔符部分, 而StrSeperator传回了正确的格式与分隔符如“[15] ” N
VM2\fs
.Style = "QLNU参考文献" HS|
g
End With 1.cUolnr
Case "图表注解" @,f,tk=\S
With .Paragraphs(paraCounter) q;He:vX
.Range.Font.NameFarEast = "楷体" hH@o|!y
.Range.Font.NameAscii = "Times New Roman" c# 4ZDjvm6
.Range.Font.Size = 9 '小5号字 ~{]m8a/ `6
9zM4D
.Alignment = wdAlignParagraphCenter
*U[Q
=w
.LeftIndent = 0 2L{:H
.RightIndent = 0 |^&2zyUj/
.FirstLineIndent = 0 !h~#L"z
.LineSpacing = 12 pZ|nn
.LineSpacingRule = wdLineSpaceExactly }E\+e!'!2
.LineUnitAfter = 0 ]|\>O5eeu
.LineUnitBefore = 0
.ubbNp_LU
.OutlineLevel = wdOutlineLevelBodyText D}
<o<Dk
.PageBreakBefore = False My43\p
.RightIndent = 0 KE|u}M@v6
.WordWrap = True 2%No>w}/2
.LineUnitAfter = 0.5 Z_ FL=S\
JKu6+V jO
End With 'E6gEJ
Case Else U Y?]\4Om
'不作处理 e]y=]}A3{
End Select 7n3x19T
]ge^J3az$u
'含有inlineshape的段落处理 qI/r_
If ShapeHeight > 30 Then ~bm2_/RL
.Paragraphs(paraCounter).LineSpacingRule = wdLineSpaceSingle '对有图片的段落设置为单倍行距 '| Q*~Lh
End If ,`B>}
(? #U
&
If (ShapeWidth + ShapeHeight) > 150 Then <`VJU2
.Paragraphs(paraCounter).Style = "QLNU图片段落" '/]Aaf@U8
End If ]oZ,{Q5~
ThiPT|5u
'段落计数器递 W$ d{
paraCounter = paraCounter + 1 m{=~|I
Me.lbCounter.Caption = "当前检测段落:" & paraCounter g he=mQ-
Me.txtStatus.Text = ParaText ;@;ie8H
DoEvents +^% &8<
Loop YH'.Yj2
End With (H|d
3
*Uw#
msg = "" uu46'aT
9!/1F !
For i = 0 To Me.ErrMsg.ListCount - 1 zdQu%q
msg = msg & vbCrLf & vbCrLf & Me.ErrMsg.List(i) Ss#{K;
Next tS.b5$Q
%:8q7PN|
J*4_|j;Z-E
+^
3L~?
Me.txtStatus.Text = "格式化完成!" & vbCrLf & "开始时间:" & tm1 & vbCrLf & "结束时间:" & Now & vbCrLf & msg *ytd.^@r
Me.cmdCheck.Enabled = True JbD)}(G;
Me.txtStatus.Visible = True U\!LZ?gC
Me.lbParaType.Visible = False !gH.st
kjYO0!C
bContinue = False ~a0}
End Sub fw~%^*
]Pl6:FB8%@
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) 4!b'%)
Dim pTEXT As String /iJhCB[QZ
?ia[KLt"
pTEXT = ChKRange.Text ,Z\,IRn
}n&JZ`8<s
ParaType = "其它" !/
q&0 a
TitleString = pTEXT *V<2\-
TitleNo = "N/A" #z54/T
l\l]9Z6%
shpCounter = ChKRange.InlineShapes.Count [q|Q]O0
If shpCounter <> 0 Then PI<s5bns
{
MaxShpHeight = 0: TotalShpWidth = 0 5~rY=0t
For i = 1 To shpCounter VDI S`E
k = ChKRange.InlineShapes(i).Height oDiv9jm
l = ChKRange.InlineShapes(i).Width U3iyuE
If k > MaxShpHeight Then Sy7^;/(ZZ
MaxShpHeight = k ,%DAh
End If [g
68O*
TotalShpWidth = TotalShpWidth + l Q~8&pP8I!
Next _(A+_|
If MaxShpHeight > 60 Or TotalShpWidth > 150 Then /01(9(
Exit Sub ve/6-J!5Y.
End If Qmh(+-Mp(
End If tNNg[;0
vWfef~}~
'空行 QMfy^t+I
If Len(pTEXT) <= 2 Then lSsFI30
Exit Sub xg%]\#
End If j`-y"6)
TKutO0
IHX#BY>
'是否为表格中的文字 !urd
$Ta
If ActiveDocument.Paragraphs(paraCounter).Range.Information(wdWithInTable) Then G5@fqh6ws
ParaType = "表格内容" F$.s6Hh.
k = ActiveDocument.Paragraphs(paraCounter).Range.Information(wdEndOfRangeRowNumber) N#-\JlJ)
If k = 1 Then Ku,A}5-6
ParaType = "表格首行" DB=cc
End If U=?"j-wN
Exit Sub uN^qfJ'@
>
End If vT<wd#
s*U&