登录注册
社区应用 最新帖子 精华区 社区服务 会员列表 统计排行
主题 : [ZT]我和电脑亲密接触的心路历程
伍胥之 离线
级别: 军区司令员

显示用户信息 
楼主  发表于: 2010-03-19   

[ZT]我和电脑亲密接触的心路历程

管理提醒: 本帖被 卡拉 设置为精华(2010-06-13)
原题:[ZT]The Progamming career of a non-programmer i>n)T  
(卡拉注:可以译为“一个非程序员的编程生涯”)
[ 此帖被伍胥之在01-20-2011 21:41重新编辑 ]
评价一下你浏览此帖子的感受

精彩

感动

搞笑

开心

愤怒

无聊

灌水
杺栫杣杊椌柮栬,䒴蓉艿芖。
伍胥之 离线
级别: 军区司令员

显示用户信息 
101楼  发表于: 2024-12-28   
姐妹儿,你也快RETIRED 了, 你欠得帐我可记得呢! 你该单独开帖填坑了。 8m poY.E4!  
|g}~7*+i  
引用
引用第20楼newport93于06-14-2010 13:47发表的  : ]v{TSP^/  
#:6gFfk0<  
老五,I 服了U。 TScI_8c>  
?g\SF}2  
哪一天等俺退休了,也写一个The Non-Progamming career of an ex-programmer。哈哈哈。。。。。 G'qGsKf\  
YoEL|r|  
杺栫杣杊椌柮栬,䒴蓉艿芖。
伍胥之 离线
级别: 军区司令员

显示用户信息 
100楼  发表于: 2021-07-18   
Dim bContinue As Boolean 6EeK5XLf,  
wX!>& Gc.  
Dim regEX As New RegExp ek3,ss3  
Dim paraCounter As Long  '全局段落计数,仅在主程序中可读写,其它过程函数应为只读 ;YK{[$F  
g =)djXW  
Dim LastTitle0String As String, LastTitle0No As Long ehCZhi~  
Dim LastTitle1String As String, LastTitle1No As Long 4`mF 6%UC  
Dim LastTitle2String As String, LastTitle2No As Long Hg}@2n)/  
Dim LastTitle3String As String, LastTitle3No As Long =u^{Jvl[  
Dim LastTitle4String As String, LastTitle4No As Long +G qV9x 8  
Dim LastTitle5String As String, LastTitle5No As Long d/4kF  
Dim LastTabelString As String, LastTableNo As Long v%6mH6V  
Dim LastFigureString As String, LastFigureNo As Long tf+5@Zf]4  
'7Aj0U(  
Dim strSeperator As String g9$P J:  
IFg(Ze~  
Sub ConvertWidth(fTEXT As String, rText As String) uY~xHV_-  
        Selection.Find.ClearFormatting kbF+aS  
        Selection.Find.Replacement.ClearFormatting Jm(sx'qPx  
        Selection.Find.Wrap = wdFindContinue Wk"\aoX"E  
        Me.txtStatus.Text = "转换全角数字字母" & fTEXT & "形式为半角" & rText c3NUJ~>=y  
        DoEvents YPY'[j(p`n  
        Selection.Find.Execute findtext:=fTEXT, replacewith:=rText, Replace:=wdReplaceAll, Forward:=True, Wrap:=wdFindContinue, MatchCase:=True )5(Ko <"  
End Sub OG&X7>'3I{  
~^u#Q\KE"  
Sub ClearDomain() UPI'O %  
        With Selection.Find `LID*uD;_  
            .ClearFormatting x\m?*5p  
            .Replacement.ClearFormatting }*ZOD1j  
            .Wrap = wdFindContinue LG qg0 (  
            Me.txtStatus.Text = "清除所有域代码" oA1d8*i^E  
            DoEvents -P5M(Rt  
            .Execute findtext:="^d", replacewith:="", Replace:=wdReplaceAll, Forward:=True, Wrap:=wdFindContinue, MatchWildcards:=False D>~S-]  
        End With xf?6_=  
End Sub !gfz4f&  
9uL="z$\  
Private Sub cmdCheck_Click() qr~= S  
    bContinue = True mI$3[ #+  
    Dim NoSeries1(1 To 16) As String O] nZr  
    Dim NoSeries2(1 To 16) As String 82bOiN15  
    Dim NoSeries5(1 To 16) As String cqyrao3;  
    Dim NoSeriesRM(1 To 16) As String &InMI#0mV  
    Dim paraTotal As Long, ParaText As String %G%D[ i]  
    Dim ttString As String, ttNo As String jdF~0#vH  
     gU^2;C  
    Dim ShapeCounter As Long, ShapeHeight As Long, ShapeWidth As Long Gap\~ Z@L  
8a SH0dX  
    Me.txtStatus.Visible = True )K+ Tvx3(m  
    Me.lbParaType.Visible = True "ccP,#Y  
    Me.cmdCheck.Enabled = False kj4t![o+  
     7Vd"AVn}g  
     z2GT 9  
     M9aVE)*!I  
      @aC2]  
    Dim ParaType As String, rText As String kroO~(\  
     V9"?}cR/W;  
    Selection.WholeStory qAF.i^  
    Selection.NoProofing = True oy) 'w b~  
     Z} 8 m]I  
    tm1 = Now 5U3 b&0  
     itg PG   
        ActiveWindow.View.Type = wdNormalView ^8#;>+7R  
     - #ta/*TT:  
    NoSeries1(1) = "一" * ydU3LG7  
    NoSeries1(2) = "二" a &89K  
    NoSeries1(3) = "三" HAi'0%"  
    NoSeries1(4) = "四" BVt)~HZ  
    NoSeries1(5) = "五" qU) pBA  
    NoSeries1(6) = "六" Ehv*E  
    NoSeries1(7) = "七" MiX*PqNTM  
    NoSeries1(8) = "八" j cT  
    NoSeries1(9) = "九" :$#"; t|  
    NoSeries1(10) = "十" =h{j F7  
    NoSeries1(11) = "十一" @9wug!,  
    NoSeries1(12) = "十二" I>jDM  
    NoSeries1(13) = "十三" wv eej@zs  
    NoSeries1(14) = "十四" Gpauy=4f  
    NoSeries1(15) = "十五" @6roW\'$  
    NoSeries1(16) = "十六" J:q:g*Wi  
     6_w;dnVA  
    NoSeries2(1) = "㈠" [7:(e/&  
    NoSeries2(2) = "㈡" o|v_+<zD!  
    NoSeries2(3) = "㈢" ~e)`D nJ  
    NoSeries2(4) = "㈣" 3~%wA(|A  
    NoSeries2(5) = "㈤" gZ^NdDBO  
    NoSeries2(6) = "㈥" =n}+p>\s  
    NoSeries2(7) = "㈦" ,X2CV INb}  
    NoSeries2(8) = "㈧" > ,v,4,c  
    NoSeries2(9) = "㈨" %Z"I=;=nxI  
    NoSeries2(10) = "㈩" 3]iBX`Ni  
     l{7q(  
    NoSeries5(1) = "①" Yc*Ex-s  
    NoSeries5(1) = "②" Ao:<aX,=  
    NoSeries5(3) = "③" 9Fkzt=(E~  
    NoSeries5(4) = "④" ?oc#$fcQ~  
    NoSeries5(5) = "⑤" qrj:H4#VB  
    NoSeries5(6) = "⑥" * @QC:1k  
    NoSeries5(7) = "⑦" >**7ck  
    NoSeries5(8) = "⑧" fs=W(~"  
    NoSeries5(9) = "⑨" ?5>Ep:{+/  
    NoSeries5(10) = "⑩" |Ir&C[QS{y  
     {'QA0K  
     Y_}DF.>I P  
    NoSeriesRM(1) = "I" laQM*FLg  
    NoSeriesRM(2) = "II" Z\`i~  
    NoSeriesRM(3) = "III" QE.a2 }  
    NoSeriesRM(4) = "IV" 5V^+;eO  
    NoSeriesRM(5) = "V" 5ecAev^1-  
    NoSeriesRM(6) = "VI" PJCRvs|X  
    NoSeriesRM(7) = "VII" =nmvG%.hd  
    NoSeriesRM(8) = "VIII" }4; \sY  
    NoSeriesRM(9) = "IX" i8tH0w/(M  
    NoSeriesRM(10) = "X" Vf'r6Rf  
    NoSeriesRM(11) = "XI" o$=D`B  
    NoSeriesRM(12) = "XII" 3%JPJuNVw  
    NoSeriesRM(13) = "XIII" v/Z!Wp1LV  
    NoSeriesRM(14) = "XIV" XA$Z 7_gu3  
    NoSeriesRM(15) = "XV" 2bB&/Uumsd  
    NoSeriesRM(16) = "XVI" UUlrfur~  
     @\=% M^bx  
    i = MsgBox("为了你的数据安全,请使用单独保存的文件副本进行本操作。" & vbCrLf & "确定继续进行吗?", vbYesNo) Q0}Sju+HX  
     XSu9C zx&I  
    If i = vbNo Then f_&bwfbo  
        Exit Sub wd/"! A4(  
    End If -I'@4\<  
     +])St3h  
    If Me.chkSuper.Value Then h zh%ML3L  
        Me.txtStatus.Text = "检查修改所有的上标格式" }h6 N.vz  
     #hOAG_a,  
        CheckSuperScript d4h, +OU  
         B[]v[q<  
    End If &4%j   
     zuR F6?un  
    If Me.chkStyle.Value Then 5DHFxym'  
        Me.txtStatus.Text = "设置样式,请稍候...." 5Z`9L| 3d  
        DoEvents B@Ae2_;  
        CeateOrModifyStyle P7||d@VW,  
    End If w<3g1n7R  
     YXR%{GUP[  
     ^E5[~C*o3  
     q0oNR Avn"  
    ClearDomain Z5vpo$l  
         <]u~;e57  
     <R6$ kom`  
     M] +FTz  
    If Me.chkLIST.Value Then Rr#vv  
        Me.txtStatus.Text = "将所有自动列表标题转化为人工标题形式" B^z3u=ll  
     DKjkO5R\  
        ConvertListToOrdinary p&:(D=pIu  
    End If pm*6&,  
     Z?vbe}pUM  
     Mpm#a0f  
    Dim pType As String, trimpTEXT As String d`z),A=  
    If Me.chkNum.Value = True Then 0;b% @_E  
        Me.txtStatus.Text = "转换全角数字形式为半角" ZkyH<Aa  
        ConvertWidth "1", "1" BtSl%(w  
        DoEvents m|RA@sY%`  
        ConvertWidth "2", "2" N* C"+2  
        DoEvents X\I"%6$  
        ConvertWidth "3", "3" "v"w ER?  
        DoEvents n 2k&yL+a  
        ConvertWidth "4", "4" Uv(T HxVh  
        DoEvents \9*,[mvC  
        ConvertWidth "5", "5" y8$TU;  
        DoEvents H'L ~8>  
        ConvertWidth "6", "6" 7,sslf2%K  
        DoEvents O~r.sJ}  
        ConvertWidth "7", "7" r&G=}ZMO  
        DoEvents (5SN=6O  
        ConvertWidth "8", "8" w2!5Cb2  
        DoEvents 7yU<!p?(  
        ConvertWidth "9", "9" v$O%U[e<  
        DoEvents * 7ki$f!  
        ConvertWidth "0", "0" nJ.<yrzi  
        DoEvents A&$oiLc  
        ConvertWidth "a", "a" *}t,:N;i  
        DoEvents S}=euY'i  
        ConvertWidth "b", "b" H)s$0Xd  
        DoEvents 6o_t;cpT  
        ConvertWidth "c", "c" `X wFH#_  
        DoEvents 8H>: C (h  
        ConvertWidth "d", "d" +,xl_,Z6  
        DoEvents (Ut)APM  
        ConvertWidth "e", "e" Kw%n;GFl'  
        DoEvents _$+lyea   
        ConvertWidth "f", "f" ]#C;)Vy  
        DoEvents a8#6}`|C?  
        ConvertWidth "g", "g" )$*T>.JA  
        DoEvents f?iQ0wv)  
        ConvertWidth "h", "h" qc*z`Wz:  
        DoEvents RtrESwtR  
        ConvertWidth "i", "i" uqhNi!;  
        DoEvents 9` /\|t|V  
        ConvertWidth "j", "j" -NG`mfu  
        DoEvents OZ*V7o  
        ConvertWidth "k", "k" \X=?+| 9  
        DoEvents ![wV}. }  
        ConvertWidth "l", "l" ; 7`y##  
        DoEvents "]%.%$  
        ConvertWidth "m", "m" #1:&uC1vj  
        DoEvents "Q:m0P xb  
        ConvertWidth "n", "n" Yy4? |wVl  
        ConvertWidth "o", "o" uZe|%xK$y  
        ConvertWidth "p", "p" *Ge2 P3  
        ConvertWidth "q", "q"  xZ*.@Pkr  
        ConvertWidth "r", "r" VQr)VU=jb  
        ConvertWidth "s", "s" ?lh `>v  
        ConvertWidth "t", "t" tFvc~zz9  
        ConvertWidth "u", "u" ddDl~&}o  
        ConvertWidth "v", "v" L}bS"=B[&W  
        ConvertWidth "w", "w" / M(A kNy  
        ConvertWidth "x", "x" *}Al0\q0M  
        ConvertWidth "y", "y" < c[+60p"  
        ConvertWidth "z", "z" UIUCj8QJg  
        ConvertWidth "A", "A" AwhXCq|k  
        ConvertWidth "B", "B" ,&II4;F  
        ConvertWidth "C", "C" D Hkmn  
        ConvertWidth "D", "D" 'V reO52  
        ConvertWidth "E", "E" hhTM-D1Ehs  
        ConvertWidth "F", "F" z@lUaMm:F  
        ConvertWidth "G", "G" zCdQI  
        ConvertWidth "H", "H" &></l| hY  
        ConvertWidth "I", "I" fIo7R-XP  
        ConvertWidth "J", "J" 1D42+cy  
        ConvertWidth "K", "K" Z7<N<  
        ConvertWidth "L", "L" c xhS*"Ph  
        ConvertWidth "M", "M" k!gft'iU  
        ConvertWidth "N", "N" TS Q/{=r  
        ConvertWidth "O", "O" GW_@hYIqD  
        ConvertWidth "P", "P" $Ik\^:-  
        ConvertWidth "Q", "Q" :nuMakZZ  
        ConvertWidth "R", "R" P"`OuN  
        ConvertWidth "S", "S" -q9`Btz  
        ConvertWidth "T", "T" wG1A]OJl1  
        ConvertWidth "U", "U" \0'7p-T6  
        ConvertWidth "V", "V" o(,u"c/Or  
        ConvertWidth "W", "W" Fd:A^]  
        ConvertWidth "X", "X" =?U"#a  
        ConvertWidth "Y", "Y" {L[n\h.4.  
        ConvertWidth "Z", "Z" sv<U$M~)X  
        ConvertWidth "^l", "^p" MtYi8"+<e.  
        ConvertWidth "(", "(" x[Xj[O  
        ConvertWidth ")", ")" Rc2|o.'y  
     -kp! .c  
    End If |O XufV?I  
A$K>:Tt>  
    With ActiveDocument RO-ABFEi(  
        Dim tbl As Table S7cxEOfAu  
        For Each tbl In .Tables r-#23iT.~  
            tbl.Rows.Alignment = wdAlignRowCenter 6m_whGosi  
            tbl.Range.Font.NameFarEast = "楷体" 26fbBt8nP  
            tbl.Range.Font.NameAscii = "Times New Roman" gDP\u<2!  
            tbl.Range.Font.Size = 10.5 VU1 ;ZJ E  
        Next CU3[{a  
        Set tbl = Nothing Cd:ofv/3  
    End With O`nrXC{  
     rrGsam\.  
     `!?SA<a:  
    With ActiveDocument V9:h4]  
         fmD U  
        For i = 1 To .TablesOfContents.Count )q?z "F|  
            .TablesOfContents(i).Delete Sri,sZv  
        Next 5>J{JW|  
         :NL.#!>/  
         <<@vy{*Hg  
         CD\k.  
        paraTotal = .Paragraphs.Count ^<0u~u)%T  
        paraCounter = 1 ?UAB}CjY  
         BJgg-z{Y  
        LastTitle0No = 0 rz c}2I  
        LastTitle1No = 0 /n= %#{  
        LastTitle2No = 0 [KIK} :  
        LastTitle3No = 0 _ri1RK,  
        LastTitle4No = 0 4%Q8>mEvT  
        LastTableNo = 0 l4oI5)w  
        LastFigureNo = 0 ;~Eb Q  
         Fg8i} >w  
        Dim Sec As Long V j\1 HQ  
         @D!KFJ  
        Sec = InputBox("正文从第一节开始?", "节设置", 6) ^c1%$@H  
        If Sec = 0 Then &8R%W"<K  
            Exit Sub Jsi [,|G  
        End If \29a@ 6  
         H\tz"<*``  
        k = 0 $9v:(:!Bm  
        Do While (paraCounter < paraTotal) And bContinue }(AgXvRq  
            k = k + 1 zi~_[l-  
            If .Paragraphs(paraCounter).Range.Information(wdActiveEndSectionNumber) >= Sec Then T<*i($ [  
                Exit Do xU/Eu;m  
            End If ;eznONNF  
            paraCounter = paraCounter + 1 B;A^5~b  
            If k Mod 20 = 0 Then ;m{*iKL6{  
                Me.lbCounter.Caption = paraCounter $O*rxQ}  
                DoEvents Xp <RG p7E  
            End If 5}3Q}o#  
        Loop a9 =,P  
         Z~}=q  
         #t /.fd  
        Do While (paraCounter < paraTotal) And bContinue m2[q*k]AtS  
             30 Vv Zb  
            ParaText = Trim(.Paragraphs(paraCounter).Range.Text) 9Ny{2m=Ye  
            ShapeHeight = 0 =F2e*?a3  
            ShapeWidth = 0 >W,1s  
           g:/l5~b  
            CheckPara .Paragraphs(paraCounter).Range, ParaType, rText, ttString, ttNo, ShapeCounter, ShapeHeight, ShapeWidth -Dw qoWZ  
             .aWEXJ  
            Select Case ParaType V\8vJ3.YV  
                Case "【】表格内容" )Yvf9dl  
                    .Paragraphs(paraCounter).Style = "QLNU表格内容" ,bRvj8"M  
                Case "章" .YquOCc(  
                    LastTitle0No = LastTitle0No + 1 . W{\wk n  
                    '新一章开始,复位其下属标题编号 k;v2 3  
                    LastTitle1No = 0 j%R}  
                    LastTitle2No = 0 .@#i   
                    LastTitle3No = 0 FHVZ/ e  
                    LastTitle4No = 0 7<V(lX.{  
                     [\NyBc  
                    k = Val(ttNo) o/E A%q1  
                    If k = 0 Then '非数字编号章节 j[ !'l,I  
                        If ttNo <> NoSeries1(LastTitle0No) Then Km2ppGLNn  
                            rText = "第" & NoSeries1(LastTitle0No) & ttString 0r=:l/Pz  
                            Me.ErrMsg.AddItem "章节编号错误:" & ParaText pqPhtWi%PJ  
                        End If s8T} ah!  
                    Else 7bioLE  
                        If Val(ttNo) <> LastTitle0No Then ~8AcW?4Z  
                            rText = "第" & LastTitle0No & ttString * iW>i^  
                            Me.ErrMsg.AddItem "章节编号错误:" & ParaText %\?2W8Qv_J  
                        End If MF/359r)Et  
                         BJDe1W3;'  
                    End If 3R%'<MV|  
                     `X8AM=  
                    '章段落设置 tp2CMJc{L  
                    '字体大小:三号16磅小三号15磅四号14磅小四号12磅五号10.5磅小五号9磅 $\>GQ~k  
                    .Paragraphs(paraCounter).Style = "QLNU章节" (KaP=t}  
                    .Paragraphs(paraCounter).Range.Select 7Wg0-{yK4  
                    Selection.EndKey unit:=wdLine _K{hq<g  
                    tc = Replace(rText, vbCr, "") GH2D5HVN  
                    Selection.Fields.Add Range:=Selection.Range, Type:=wdFieldEmpty, Text:="TC  """ & tc & """ \l 1 ", PreserveFormatting:=False *9}2Bmojv  
                Case "一级标题" -R 4 t  
                    LastTitle1No = LastTitle1No + 1 #z{9:o7[-  
                    '新一级标题开始,复位其下属标题编号 -[?q?w!?  
                    LastTitle2No = 0 bq3G3oAyG  
                    LastTitle3No = 0 mBgMu@zt)  
                    LastTitle4No = 0 :. B};;N  
                     s$e0;C!D  
                    If ttNo <> NoSeries1(LastTitle1No) Then wXf_2qB9  
                            rText = NoSeries1(LastTitle1No) & "、" & ttString +D|y))fE  
                            Me.ErrMsg.AddItem "一级标题编号错误:" & ParaText 4CO:*qG)o  
                    End If p(UUH3%W  
                   0}]k>ndT  
                     Hw8`/'M=%5  
                    '一级标题段落设置  格式:一、标题内容 3IHya=qN  
                    .Paragraphs(paraCounter).Range.Text = rText 7-81,ADv(  
                    .Paragraphs(paraCounter).Style = "QLNU一级标题" mT\!LpX  
                    .Paragraphs(paraCounter).Range.Select kKnz F  
                    Selection.EndKey unit:=wdLine }YHoWYR  
                    tc = Replace(rText, vbCr, "") E<;C@B  
                    Selection.Fields.Add Range:=Selection.Range, Type:=wdFieldEmpty, Text:="TC  """ & tc & """ \l 1 ", PreserveFormatting:=False O#Ab1 FQn  
                Case "二级标题"  Ex35  
                    LastTitle2No = LastTitle2No + 1 ;wCp j9hir  
                    '新二级标题开始,复位其下属标题编号 IH?.s k  
                    LastTitle3No = 0 #"%=7(  
                    LastTitle4No = 0 E!J;bX5  
                     kBd #=J  
                    If ttNo <> NoSeries1(LastTitle2No) Then R*I{?+  
                            rText = "(" & NoSeries1(LastTitle2No) & ")" & ttString 9aT#7B  
                            ErrMsg.AddItem "二级标题编号错误:" & ParaText uUb[Dqn  
                    End If $-9m8}U(Y  
                     <\c 5  
                    '二级标题段落设置 格式:(一)、标题内容 UahFs  
                    .Paragraphs(paraCounter).Range.Text = rText 5DKR1z:  
                    .Paragraphs(paraCounter).Style = "QLNU二级标题" (NUwkAO M}  
                     CN0&uyu#4  
                    .Paragraphs(paraCounter).Range.Select v/6QE;BY&Q  
                    Selection.EndKey unit:=wdLine C,:3z  
                    tc = Replace(rText, vbCr, "") S2/c2  
                    Selection.Fields.Add Range:=Selection.Range, Type:=wdFieldEmpty, Text:="TC  """ & tc & """ \l 2 ", PreserveFormatting:=False ;3NA,JA#Y  
                 dE2(PQb*P  
                Case "三级标题" #LEK?]y  
                    LastTitle3No = LastTitle3No + 1 5S:#I5Wa  
                    '新三级标题开始,复位其下属标题编号 d V#h~  
                    LastTitle4No = 0 @qH{;   
                     GbG!vo  
                    If Val(ttNo) <> LastTitle3No Then lqe;lWC0Z  
                            rText = LastTitle3No & ". " & ttString +.MHI   
                            Me.ErrMsg.AddItem "三级标题编号错误:" & ParaText s<x2*yVUA  
                         }~$zdgMT  
                    End If n\ aG@X%oq  
                    '三级标题段落设置 格式:1. 标题内容 :M(%sv</  
                    .Paragraphs(paraCounter).Range.Text = rText {zhN>n_  
                    .Paragraphs(paraCounter).Style = "QLNU三级标题" 31-%IkX+k  
                    .Paragraphs(paraCounter).Range.Select <\@JbL*  
                    Selection.EndKey unit:=wdLine iF2/:iP  
                    tc = Replace(rText, vbCr, "") hH8:7i  
                    Selection.Fields.Add Range:=Selection.Range, Type:=wdFieldEmpty, Text:="TC  """ & tc & """ \l 3 ", PreserveFormatting:=False 8E{<t}  
                Case "四级标题" niY9`8  
                    LastTitle4No = LastTitle4No + 1  u(\O  
                     {4tJT25  
                    If Val(ttNo) <> LastTitle4No Then rWI6L3,i+  
                            rText = "(" & LastTitle4No & "). " & ttString B@dA?w.x  
                            ErrMsg.AddItem "四级标题编号错误:" & ParaText wYZFW'5p  
                     /m%Y.:g  
                    End If _O ~DJ"  
                    '四级标题段落设置 格式:(1). 标题内容 'Uqz,  
                    .Paragraphs(paraCounter).Range.Text = rText jLc4D'  
                    .Paragraphs(paraCounter).Style = "QLNU四级标题" "Q]`~u':  
                    .Paragraphs(paraCounter).Range.Select E`.dU<8HE  
                    Selection.EndKey unit:=wdLine -#= v~vE  
                    tc = Replace(rText, vbCr, "") zZDa7 1>  
                    Selection.Fields.Add Range:=Selection.Range, Type:=wdFieldEmpty, Text:="TC  """ & tc & """ \l 4 ", PreserveFormatting:=False ,dK<2XP  
                 ~0r:Wcj x  
                Case "表格标题" y)?Sn  
                    LastTableNo = LastTableNo + 1 +K2jYgy  
                     lCg'K(|"  
                    If ttNo <> CStr(LastTableNo) Then ZZp6@@zyq'  
                            rText = "表" & LastTableNo & ". " & ttString j.X3SQb4G  
                            ErrMsg.AddItem "表格编号错误:" & ParaText \"i2E!  
                   ,o\v umx  
                    End If Ak[}s|,)  
                     [9NzvC 9I  
                    '表格名称段落设置 格式:表1. 表格名称 c*ac9Y'o  
                    .Paragraphs(paraCounter).Style = "QLNU表格标题" & D4'hL3  
                    xe = Replace(rText, vbCr, "") I?@9;0R  
                    .Paragraphs(paraCounter).Range.Select * 3mF.^  
                    Selection.MoveEnd wdCharacter, -1   '选择范围包括行尾的换行符。 4Y8/>uL  
                    Selection.Range.Text = xe # (B <n  
                    Selection.EndKey MDa 4U@Q  
                    Selection.Fields.Add Range:=Selection.Range, Type:=wdFieldEmpty, Text:="XE  " & """" & xe & """", PreserveFormatting:=False k8w }2Vw  
                 io^^f|  
                Case "表格首行" he;;p="!*  
                    .Paragraphs(paraCounter).Style = "QLNU表格首行" <hgt{b4  
                Case "图片标题" 5 rkIK  
                    LastFigureNo = LastFigureNo + 1 1i :l  
                     *?%DdVrO@  
                    If ttNo <> CStr(LastFigureNo) Then U#R=y:O?  
                            rText = "图" & LastFigureNo & ". " & ttString #:v}d+  
                            ErrMsg.AddItem "表格编号错误:" & ParaText 2:^Dv1J)rD  
                   K1 a$ m2  
                    End If TG'_1m*$  
                    '图片名称段落设置 格式:图1. 图名称 <zH24[  
                    .Paragraphs(paraCounter).Range.Text = rText gy/z;fB  
                    .Paragraphs(paraCounter).Style = "QLNU图片标题" J< BBM.^]  
                    .Paragraphs(paraCounter).Range.Select sF}T9 Ue  
                    Selection.EndKey unit:=wdLine `qp[x%7^  
                    xe = Replace(rText, vbCr, "") 0 3kzS ]g  
                    Selection.Fields.Add Range:=Selection.Range, Type:=wdFieldEmpty, Text:="XE  " & """" & xe & """", PreserveFormatting:=False 0t ?:  
                Case "正文" 85Y E6^y  
                     '正文名称段落设置 @D&VOJV  
                    .Paragraphs(paraCounter).Style = "QLNU正文" GL'zs8AKf  
               Case "文献条目" GB Ia Ul  
                    With .Paragraphs(paraCounter) _n(O?M&x  
                        '.Range.Select 5Og.:4  
                        'Selection.ClearFormatting Dsc{- <v  
                        '.Range.Find.Execute findtext:=rText, replacewith:=strSeperator   'Replacetext 传回了编号及分隔符部分, 而StrSeperator传回了正确的格式与分隔符如“[15] ” Y ## ftQ  
                        .Style = "QLNU参考文献" 8W Mhe=[  
                    End With 5O<7<O B  
               Case "图表注解" C]K|;VQ  
                    With .Paragraphs(paraCounter) wYK-YY:Q3  
                        .Range.Font.NameFarEast = "楷体" <[Ae 0UK  
                        .Range.Font.NameAscii = "Times New Roman" -kT *gIJ}  
                        .Range.Font.Size = 9 '小5号字 F ?xbVN  
                         q-O=Em<*  
                        .Alignment = wdAlignParagraphCenter J@w Q3#5a  
                        .LeftIndent = 0 h^ea V,x>=  
                        .RightIndent = 0 a,IE;5kG  
                        .FirstLineIndent = 0 ;QQLYT  
                        .LineSpacing = 12 PJLSDIeN  
                        .LineSpacingRule = wdLineSpaceExactly e*. l6H/B  
                        .LineUnitAfter = 0 wB}s>o\  
                        .LineUnitBefore = 0 $+qJ#0OE$  
                        .OutlineLevel = wdOutlineLevelBodyText s0 hD;`cm  
                        .PageBreakBefore = False vK z/-9im  
                        .RightIndent = 0 8R}CvzI  
                        .WordWrap = True JlJy3L8L  
                        .LineUnitAfter = 0.5 9mfqr$3  
                         +G*2f V>  
                    End With k\X1`D}R  
                Case Else rkh+$*t@i7  
                    '不作处理 ~]P_Yd-|  
            End Select -bT1Qh X  
             ~#+ Hhc(  
            '含有inlineshape的段落处理 gnF]m0LR  
            If ShapeHeight > 30 Then 7(AB5.O  
                .Paragraphs(paraCounter).LineSpacingRule = wdLineSpaceSingle  '对有图片的段落设置为单倍行距 ^=@L(;Y  
            End If :786Z,')  
              2bwf(  
            If (ShapeWidth + ShapeHeight) > 150 Then Kf#9-.}?  
                .Paragraphs(paraCounter).Style = "QLNU图片段落" ?]SSmZpk  
            End If |GJSAs"L@  
             ] P;Ng=a  
            '段落计数器递 wB~Ag$~  
            paraCounter = paraCounter + 1 ^w'y>uFM  
            Me.lbCounter.Caption = "当前检测段落:" & paraCounter 'H- : >'k  
            Me.txtStatus.Text = ParaText !=M[u+-  
            DoEvents :r* skV|  
        Loop &OD)e@Tc  
    End With Lgl%fO/<t  
     vfPL;__{Y]  
    msg = "" `''\FPhh  
     uuW._$.A>  
    For i = 0 To Me.ErrMsg.ListCount - 1 ;:NW  
        msg = msg & vbCrLf & vbCrLf & Me.ErrMsg.List(i) qB PUB(  
    Next 0w}OE8uq  
     ,,vl+Z <&  
     v:kTZB  
     %_N-~zZ1E  
    Me.txtStatus.Text = "格式化完成!" & vbCrLf & "开始时间:" & tm1 & vbCrLf & "结束时间:" & Now & vbCrLf & msg "pGSz%i-  
    Me.cmdCheck.Enabled = True "HSAwe`5jU  
    Me.txtStatus.Visible = True yUcWX bT@  
    Me.lbParaType.Visible = False 3(l^{YC+[7  
     [`^5Zb  
    bContinue = False y6tzmyg  
End Sub N 0h* |  
J P'|v"  
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) &|'k)6Rx  
    Dim pTEXT As String H$Om{r1j  
     [A99e`  
    pTEXT = ChKRange.Text ousvsP%'  
     'B0= "7  
    ParaType = "其它" 7xidBVx  
    TitleString = pTEXT Lq.aM.&;#  
    TitleNo = "N/A" v?Q&06PMRc  
     %7WGodlXW  
    shpCounter = ChKRange.InlineShapes.Count U {Xg#UN  
    If shpCounter <> 0 Then ~LqjWU  
        MaxShpHeight = 0: TotalShpWidth = 0 q ELy'\  
        For i = 1 To shpCounter F3j#NCuO=z  
            k = ChKRange.InlineShapes(i).Height nS'hdeoW  
            l = ChKRange.InlineShapes(i).Width :^7/+|}9p  
            If k > MaxShpHeight Then CU'$JF  
                MaxShpHeight = k nw|ls2   
            End If W=j  
            TotalShpWidth = TotalShpWidth + l LRl2@&z<  
        Next | wuUH  
        If MaxShpHeight > 60 Or TotalShpWidth > 150 Then ,tBb$T)7<  
            Exit Sub Oo<L~7B  
        End If uzjP!qO  
    End If #wn`choT'  
     luAmq+  
    '空行 j}~3m$  
    If Len(pTEXT) <= 2 Then dV(61C0wn  
        Exit Sub w4w[qxV>  
    End If i|A0G%m]$  
     cC@B\Q  
         R+Q..9 P  
    '是否为表格中的文字 CPGiKE  
    If ActiveDocument.Paragraphs(paraCounter).Range.Information(wdWithInTable) Then <RQ\nU  
        ParaType = "表格内容" H0tj Bnu   
        k = ActiveDocument.Paragraphs(paraCounter).Range.Information(wdEndOfRangeRowNumber) _s{on/u  
        If k = 1 Then = rDoXm  
            ParaType = "表格首行" J_) .Hd  
        End If b`M  2VZu  
        Exit Sub * 0M[lR0t  
    End If Bbk=0+ ^8I  
     t/xWJW2  
    '例外情况:脚注 ;s m )f  
    If ActiveDocument.Paragraphs(paraCounter).Range.Information(wdInFootnote) Then C{7 j<O  
        ParaType = "脚注" ]Q-*xho  
        Exit Sub .=rS,Tpo  
    End If ?QuD:v ck  
     $<&N#  
    '例外情况:尾注 'o41)p  
    If ActiveDocument.Paragraphs(paraCounter).Range.Information(wdInEndnote) Then uEqL Dg  
        ParaType = "尾注" 1#B Mc%  
        Exit Sub AP*Z0OFE  
    End If ^5n"L2 9V  
     \!D<u'n  
    If ActiveDocument.Paragraphs(paraCounter).Range.Information(wdInHeaderFooter) Then e%_2n=p~)%  
        ParaType = "页眉页脚" ghtvAG  
        Exit Sub p2Yc:9r9+A  
    End If 6Ap-J~4  
     .;#Wf @V  
     8{QN$Qkn  
    With regEX Hg<d%7.  
        .Global = True >S\D+1PV  
         )xKZ)SxV  
        .Pattern = "^第([1-9]|1|2|3|4|5|6|7|8|一|二|三|四|五|六|七|八|九|十)章(、|\.|\s|。|.)+(.{1,30})$" _Ec9g^I10  
        If regEX.Test(pTEXT) Then %dA6vHI,  
            ReplaceTEXT = regEX.Replace(pTEXT, "第$1章 $3") |Et8FR3[m  
            TitleString = regEX.Replace(pTEXT, "$3") Y#[jDS(ip  
            TitleNo = regEX.Replace(pTEXT, "$1") Se*o{V3s$  
            ParaType = "章" M'gw-^(  
            Exit Sub rt-^?2c?  
        End If BWRM gN'.  
         );-?~   
        .Pattern = "^(十一|十二|十三|十四|十五|十六|一|二|三|四|五|六|七|八|九|十)(、|\.|\s|。|.)+(.{1,40})$" ro:B[XE  
        If regEX.Test(pTEXT) Then $mf Z{  
            ParaType = "一级标题" h$3o]~t  
            regEX.Execute (pTEXT) ;jC}.] _)w  
            ReplaceTEXT = regEX.Replace(pTEXT, "$1、$3") op!8\rM<e  
            TitleString = regEX.Replace(pTEXT, "$3") Q7uhz5oZ  
            TitleNo = regEX.Replace(pTEXT, "$1") zF'LbQz0[  
            Exit Sub c8'a<<sj  
        End If 90ZMO7_  
         DL$O274uZ  
        '全角或半角括号中的数字 x93t.5E6  
        .Pattern = "(^\(|()(十一|十二|十三|十四|十五|十六|一|二|三|四|五|六|七|八|九|十)(\)|))(、|\.|\s|。|.)*(.{1,40})$" O2z{>\  
        If regEX.Test(pTEXT) Then 7{0;<@  
            ParaType = "二级标题" 5cY([4,  
            regEX.Execute (pTEXT) |^: A,%>  
            ReplaceTEXT = regEX.Replace(pTEXT, "($2)$5") /{h@A~<96  
            TitleString = regEX.Replace(pTEXT, "$5") iKs @oHW  
            TitleNo = regEX.Replace(pTEXT, "$2") `1;m:,9  
            Exit Sub N rQGoAOw  
        End If AP1Eiv<Hub  
         E8$k}I  
        '阿拉伯数字  1. 2. #6w\r&R6  
        .Pattern = "^([1-9]|1|2|3|4|5|6|7|8|9|0){1,2}(、|\.|\s|。|.)+(.{1,80})$" J@$h'YUF  
        If regEX.Test(pTEXT) Then &z'N Q !uV  
            ParaType = "三级标题" jhU'U An  
            regEX.Execute (pTEXT) <0R$yB  
            ReplaceTEXT = regEX.Replace(pTEXT, "$1. $3") '未进行全半角转换,如需要可分成两步分别检测 <UI^~Azc#  
            TitleString = regEX.Replace(pTEXT, "$3") `x b\)  
            TitleNo = regEX.Replace(pTEXT, "$1") V $'~2v{_  
            Exit Sub 9eG{"0)  
        End If k'H+l]=  
         U tb"6_   
        '全角或半角括号中的阿拉伯数字 l-?B1gd,l  
        .Pattern = "^(^\(|()([0-9]|0|1|2|3|4|5|6|7|8|9){1,2}(\)|))(、|\.|\s|。|.)*(.{1,80})$" T["(wPrt  
        If regEX.Test(pTEXT) Then zvJQ@i"Z  
            ParaType = "四级标题" L-J 7z+{  
            regEX.Execute (pTEXT) 954!ED|F(  
            ReplaceTEXT = regEX.Replace(pTEXT, "($2) $5") >J4Tk1//b  
            TitleString = regEX.Replace(pTEXT, "$5") A5U//y![{  
            TitleNo = regEX.Replace(pTEXT, "$2") -B+Pl*  
            Exit Sub 9 GEMmo3  
        End If \53(D7+  
         r1vF/yt(  
        '表格名称 QYl Pr&O9  
        .Pattern = "^表(\d{1,2}-{0,1}\d{0,1})([、|\.|。|.|\s]{1,9})(.{1,120})$" =v-qao7xCV  
        If regEX.Test(pTEXT) Then }2@Aj  
            ParaType = "表格标题" ^g^R[8  
            regEX.Execute (pTEXT) E]T >m!6  
            ReplaceTEXT = Trim(regEX.Replace(pTEXT, "表$1. $3")) 6} b1*xQ  
            TitleString = Trim(regEX.Replace(pTEXT, "$3")) $hND!T+;  
            TitleNo = Trim(regEX.Replace(pTEXT, "$1")) J/OG\}  
            strSeperator = Trim(regEX.Replace(pTEXT, "$2")) '不知道为什么,但是发现传回的replacetext在修改Paragraph对象的Range.Text后,表格标题就会落入第一个单元格中,所以,只能用Paragraph.Range.Find.Execute方法替换 LmCr[9/  
            Exit Sub >ucVrLm,X  
        End If "}"hQ.kAz  
         R<* c   
        '图片名称 ^r4@C2#vzJ  
        .Pattern = "^图(\d{1,2}-{0,1}\d{0,1})(、|\.|\s|。|.)+(.{1,120})$" ] yg3|C;  
        If regEX.Test(pTEXT) Then H] i.\ 2z  
            ParaType = "图片标题" X*4iNyIs_  
            regEX.Execute (pTEXT) Q7V*~{  
            ReplaceTEXT = regEX.Replace(pTEXT, "图$1. $3") #Tm^$\*h\]  
            TitleString = regEX.Replace(pTEXT, "$3") : T` Ni  
            TitleNo = regEX.Replace(pTEXT, "$1") =t@8Y`9w  
            Exit Sub "$@>n(w  
        End If 'MF|(`  
         e u{  
        '参考文献 TU-aL  
        .Pattern = "^([\[|[])(\d+)([]|\]])([、|\.|\s|。|.]{0,1})"  '[数字]、 (T&rvE  
        If regEX.Test(pTEXT) Then Tf0"9  
            ParaType = "文献条目" yH YqJ|t  
            'ReplaceTEXT = regEX.Replace(pTEXT, "$1$2$3$4") >"Tivc5  
            'TitleNo = regEX.Replace(pTEXT, "[$2] ") Gcu[G]D  
            Exit Sub |_fmbG  
        End If tsGt,]O30  
         HhZlHL  
        prfx = Left(pTEXT, 2) hh%f mc  
        If prfx = "注:" Or prfx = "注:" Then |r|<cc#  
            ParaType = "图表注解" :9nqQJ+~  
            Exit Sub Q:nBx[%  
        End If  (TKn'2  
         q oA?  
         #ZzFAt  
        ParaType = "正文" 0O@UT1 M;v  
         }vx+/J  
    End With '+ %<\.$  
End Sub JI"&3H")g%  
pv LA:LW2  
Sub ConvertListToOrdinary() q$#5>5&  
    Dim st As Paragraph Dm^Bk?#(  
    With ActiveDocument }MW7,F  
        For i = .Paragraphs.Count To 1 Step -1 h\]D:S  
            Set st = .Paragraphs(i) - >H4!FS  
            lst = st.Range.ListFormat.ListString fv;3cxQp  
            If lst <> "" Then *?l-:bc]  
                st.Range.ListFormat.RemoveNumbers "`va_Mk  
                st.Range.InsertBefore lst & " " _BC%98:WP  
            End If H]zi>;D  
        Next `B1r+uTP~  
    End With G0e]PMeFl  
    Set st = Nothing DL*/hbG  
End Sub 1u9*)w  
\:7G1_o  
Private Sub UserForm_Activate() )iKV" jsC  
    Me.lbTotal.Caption = "当前文章段落总数:" & ActiveDocument.Paragraphs.Count & " 共" & ActiveDocument.Sections.Count & "节"  gAFu  
    Me.lbTotal.Font.Bold = True CP5vo-/)-  
    Me.txtStatus.Visible = False /"Z6\T9  
    Me.cmdCheck.Enabled = True \my5E\  
 /y2)<{{I  
End Sub  Rix|LKk{  
H{tG:KH  
Y.7iKMp(  
Sub CheckSuperScript() 9n\b!*x  
    Selection.Find.ClearFormatting Npr<{}ZE  
    Selection.Find.Replacement.ClearFormatting utH/E7^8  
    With Selection.Find s2IjZF{  
        .Text = "[【\[[〖](*)[】\]〗]]" PM(M c]6  
        .Replacement.Text = "[\1]" seNJ6p=`  
        .Replacement.Font.Superscript = True D]P_tJI  
        '.Replacement.Font.Color = wdColorBlue 4y: pj7h  
        .Forward = True \E}YtN#  
        .Wrap = wdFindContinue O6 :GE'S  
        .FORMAT = True te<lCD6  
        .MatchCase = False ^0x0 rY  
        .MatchWholeWord = False h vC gd^M  
        .MatchByte = False NZ{)&ObBRt  
        .MatchAllWordForms = False {Yt@H  
        .MatchSoundsLike = False d9qA\ [  
        .MatchWildcards = True 5*~]=(BE  
    End With Z30r|Ufh  
    Selection.Find.Execute Replace:=wdReplaceAll VM.4w.})_E  
End Sub )(4.7>  
ygN4%-[XA  
Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer) &"_5?7_N  
    bContinue = False t9C.|6X  
    Set regEX = Nothing \vKK q/f  
End Sub c3L)!]kB  
~4T:v _Q7g  
Sub CeateOrModifyStyle() " A4 .2  
' CC,f*I  
' ?QbxC,& i  
Dim stl As Style b$*1!a  
     jPDk~|  
    Options.Pagination = False > 14 x.c  
     NQ9/,M  
    On Error Resume Next OrG1Mfx&2%  
    For Each stl In ActiveDocument.Styles `]T# uP<u  
        stl.Delete SJ ay  
    Next @7}]\}SR  
    On Error GoTo 0 6=aXz2.f  
     ~_XK<}SK  
    Set stl = Nothing jV)4+D  
     CO<P$al  
    DoEvents $vC}Fq  
    On Error Resume Next 5LYzX+a)  
     n7>L&?N#y#  
    ActiveDocument.Styles.Add Name:="BaseStyle", Type:=wdStyleTypeParagraph p?6`mH  
     WP}NHz4H  
    ActiveDocument.Styles.Add Name:="QLNU论文题目", Type:=wdStyleTypeParagraph {S$]I)tV  
    ActiveDocument.Styles.Add Name:="QLNU中文摘要", Type:=wdStyleTypeParagraph ,NA _pvH)  
     btG+Ak+K*  
    ActiveDocument.Styles.Add Name:="QLNU英文标题", Type:=wdStyleTypeParagraph s MZ90Q$  
    ActiveDocument.Styles.Add Name:="QLNU英文摘要", Type:=wdStyleTypeParagraph ~uUN\qx52  
     ]cKxYX)J  
    ActiveDocument.Styles.Add Name:="QLNU目录项", Type:=wdStyleTypeParagraph 9 SBVp 6'  
    ActiveDocument.Styles.Add Name:="QLNU章节标题", Type:=wdStyleTypeParagraph XCP/e p  
    ActiveDocument.Styles.Add Name:="QLNU一级标题", Type:=wdStyleTypeParagraph ;A\SbLM  
    ActiveDocument.Styles.Add Name:="QLNU二级标题", Type:=wdStyleTypeParagraph aN^x]0P!0  
    ActiveDocument.Styles.Add Name:="QLNU三级标题", Type:=wdStyleTypeParagraph =sIkA)"!=  
    ActiveDocument.Styles.Add Name:="QLNU四级标题", Type:=wdStyleTypeParagraph #Yd 'Vve  
    ActiveDocument.Styles.Add Name:="QLNU正文", Type:=wdStyleTypeParagraph $XZC8L#  
     X5Fi , /H  
    ActiveDocument.Styles.Add Name:="QLNU表格标题", Type:=wdStyleTypeParagraph L-,C5^  
    ActiveDocument.Styles.Add Name:="QLNU表格首行", Type:=wdStyleTypeParagraph 79yF {  
    ActiveDocument.Styles.Add Name:="QLNU表格内容", Type:=wdStyleTypeParagraph EE,57(  
    ActiveDocument.Styles.Add Name:="QLNU图片标题", Type:=wdStyleTypeParagraph >Q-"-X1  
    ActiveDocument.Styles.Add Name:="QLNU图片段落", Type:=wdStyleTypeParagraph  mS]&  
     (q 0wV3Qv  
    ActiveDocument.Styles.Add Name:="QLNU参考文献", Type:=wdStyleTypeParagraph CRh.1-  
    On Error GoTo 0 o`{@': %D`  
    DoEvents 4.t72*ML  
     ab!Cu8~v  
    'BaseStyle U3-cH  
    ActiveDocument.Styles("BaseStyle").AutomaticallyUpdate = False LBw$K0  
    With ActiveDocument.Styles("BaseStyle").Font n2p(@  
        .NameFarEast = "宋体" V_Xq&!HN[  
        .NameAscii = "Times New Roman" }%}yOLo:  
        .NameOther = "宋体" 'v~%rhq3  
        .Size = 10.5 X+$IaLfCxD  
        .Bold = wdUndefined lL$no7HBy  
        .Italic = wdUndefined 5Z<y||=  
        .Subscript = wdUndefined y~r5KB6w  
        .Subscript = wdUndefined 9&O7F}VP2  
         5ltrr(MeD  
        .Underline = wdUnderlineNone wG-lR,glb  
        .UnderlineColor = wdColorAutomatic 1SwKd*aRR?  
        .StrikeThrough = False 23iMG]J&  
        .DoubleStrikeThrough = False a3wk#mH  
         JNx;/6'd,  
        .Outline = False z m{U.Q  
        .Emboss = False #Rj&PzBe  
        .Shadow = False nf2[hx@=U  
        .Hidden = False  0rA&Q0  
        .SmallCaps = False @dHQ}Ni  
        .AllCaps = False =-dg]Ol8  
        .Color = wdColorAutomatic />13?o#  
        .Engrave = False >"/Sa_w  
        .Scaling = 100 N!Cy)HnS\w  
        .Kerning = 1 yh'P17N|q  
        .Animation = wdAnimationNone vMHJgpd&j  
        .DisableCharacterSpaceGrid = False VUQx"R 9-  
        .EmphasisMark = wdEmphasisMarkNone d7U%Q8?wUR  
    End With X$0&tmum  
    With ActiveDocument.Styles("BaseStyle").ParagraphFormat OMz_xm.UPi  
        .LeftIndent = 0 u$MXO].Q  
        .RightIndent = 0 cvk$ I"q+  
        .SpaceBefore = 0 6");NHE  
        .SpaceBeforeAuto = False ?]]7PEee*  
        .SpaceAfter = 0 d95 $w8>  
        .SpaceAfterAuto = False t/KH`  
         -|WQs'%O  
        .LineSpacingRule = wdLineSpaceSingle OH_mZA  
        .Alignment = wdAlignParagraphJustify "oLY";0(=  
         VZ1u/O?ub  
        .WidowControl = False "0sk(kT  
        .KeepWithNext = False vFx0B?  
        .KeepTogether = False cq0#~20  
        .PageBreakBefore = False R[bI4|t  
        .NoLineNumber = False ,?KN;~t#vz  
         -"} mmTa*<  
        .FirstLineIndent = CentimetersToPoints(0) .dQEr~f#}  
        .OutlineLevel = wdOutlineLevelBodyText MRb6O!$`C  
        .CharacterUnitLeftIndent = 0 5<RZ ht$i  
        .CharacterUnitRightIndent = 0 p|&9#?t4A  
        .CharacterUnitFirstLineIndent = 0 ?H0"*8C?Y  
        .LineUnitBefore = 0 huTWoMU  
        .LineUnitAfter = 0 |.~0Ulk,  
        .AutoAdjustRightIndent = True gY/p\kwsj  
        .DisableLineHeightGrid = True ~6!TMVr  
         \-Ipa59U  
        .FarEastLineBreakControl = True J};=)xLX;  
        .WordWrap = True tXg>R _\C  
        .Hyphenation = False ~/R bYvyA  
         d# >iFD+  
        .HangingPunctuation = True p3W-*lE  
        .HalfWidthPunctuationOnTopOfLine = True C_rA'Hy  
        .AddSpaceBetweenFarEastAndAlpha = True @ |^;d  
        .AddSpaceBetweenFarEastAndDigit = True Js0hlWu  
        .BaseLineAlignment = wdBaselineAlignBaseline )d =8)9B  
    End With $OP w$  
    ActiveDocument.Styles("BaseStyle").NoSpaceBetweenParagraphsOfSameStyle = False  C4.g}q  
    ActiveDocument.Styles("BaseStyle").ParagraphFormat.TabStops.ClearAll T:|PSJc0  
    ActiveDocument.Styles("BaseStyle").LanguageID = wdSimplifiedChinese o'*7I|7a  
    ActiveDocument.Styles("BaseStyle").NoProofing = False ]N4?*S*jd)  
     nN*:"F/^  
    '一级标题题样式 rsPo~nA  
    ActiveDocument.Styles("QLNU一级标题").BaseStyle = ActiveDocument.Styles("BaseStyle") RbN# dI'  
    ActiveDocument.Styles("QLNU一级标题").NextParagraphStyle = "BaseStyle" Q G8X{'  
    ActiveDocument.Styles("QLNU一级标题").AutomaticallyUpdate = False .?NraydwV  
    With ActiveDocument.Styles("QLNU一级标题").Font SMMvRF`7  
        .NameFarEast = "黑体" 7@u:F?c  
        .NameAscii = "Arial Black" #bZT&YE^  
        .NameOther = "黑体" x:0nK,  
        .Name = "黑体" =P)H3|AdIm  
        .Size = 16              '三号 [39  
        .Bold = True CGCI3Z'  
        .Italic = wdUndefined d#Xt2   
        .Subscript = wdUndefined (d ?sFwOt\  
        .Superscript = wdUndefined )oCb9K:km  
    End With Pu`;B   
    With ActiveDocument.Styles("QLNU一级标题").ParagraphFormat L; (J6p]h  
         7dq*e4z)  
        .LeftIndent = CentimetersToPoints(0) 5m\T~[`%  
        .RightIndent = CentimetersToPoints(0) T~G~M/  
        .FirstLineIndent = CentimetersToPoints(0) h3BDHz,  
         gu|cQ2xV  
        .LineSpacingRule = wdLineSpaceSingle a`E1rK'  
        .Alignment = wdAlignParagraphCenter (;T g1$  
         wxW\L!@  
        .WidowControl = True C/{%f,rU  
        .KeepWithNext = True 3OvQ,^[J4  
        .KeepTogether = True I?~iEO\nh  
        .OutlineLevel = wdOutlineLevelBodyText @";zM&  
         ]R%+  
        .LineUnitBefore = 0.5 1 [D,Mu%E  
        .LineUnitAfter = 0.5  }0f"SWO>  
    End With d'UC Pg<Y  
    ActiveDocument.Styles("QLNU一级标题").NoSpaceBetweenParagraphsOfSameStyle = False 6U?z  
    ActiveDocument.Styles("QLNU一级标题").ParagraphFormat.TabStops.ClearAll 3?Tk[m1b  
    ActiveDocument.Styles("QLNU一级标题").LanguageID = wdSimplifiedChinese UWIw/(Mv/]  
    ActiveDocument.Styles("QLNU一级标题").NoProofing = True fb;y*-?#  
    DoEvents p`mNy o'  
     d>k"#|  
    '二级 \ QE?.Fx  
    ActiveDocument.Styles("QLNU二级标题").BaseStyle = ActiveDocument.Styles("BaseStyle") T ^1]|P  
    ActiveDocument.Styles("QLNU二级标题").NextParagraphStyle = "BaseStyle" i286`SLU  
    ActiveDocument.Styles("QLNU二级标题").AutomaticallyUpdate = False +-d)/h.7  
    With ActiveDocument.Styles("QLNU二级标题").Font o>?#$~XNv  
        .NameFarEast = "黑体" u0?,CQPL  
        .NameAscii = "Arial Narrow" "qxu9Hg!  
        .NameOther = "黑体" Nt/#Qu2#br  
        .Name = "黑体" {<#~Ya-  
        .Size = 15        '小三号 D)){"Q!b  
        .Bold = False >og- jz  
        .Outline = False ;'7gg]  
        .Italic = wdUndefined >j}.~$6dj_  
        .Subscript = wdUndefined pe@j`Sm:Ej  
        .Superscript = wdUndefined  o^*k   
    End With J<27w3bs~p  
    With ActiveDocument.Styles("QLNU二级标题").ParagraphFormat W"&Y7( "y  
        .LeftIndent = CentimetersToPoints(0) [W,}&  
        .RightIndent = CentimetersToPoints(0) Qk#`e  
        .FirstLineIndent = CentimetersToPoints(0) TZ>_N;jTZ  
         Izr_]%  
        .LineSpacingRule = wdLineSpaceSingle k:sFI @g  
        .Alignment = wdAlignParagraphLeft w^N3Ma  
         M9dOLM.  
        .WidowControl = True o3kVcX^  
        .KeepWithNext = True *c{X\!YBh  
        .KeepTogether = True *-lw2M9V  
        .PageBreakBefore = False Puodsd  
        .OutlineLevel = wdOutlineLevelBodyText 9TZ4ffXV*  
         8TV "9{ n  
        .LineUnitBefore = 0.5 y{O81 7 \  
        .LineUnitAfter = 0.5 n04lTME  
         O$, bNu/g  
    End With Ow f:Kife  
    ActiveDocument.Styles("QLNU二级标题").NoSpaceBetweenParagraphsOfSameStyle = False 's7 (^1hH  
    ActiveDocument.Styles("QLNU二级标题").ParagraphFormat.TabStops.ClearAll )a0%62  
    ActiveDocument.Styles("QLNU二级标题").LanguageID = wdSimplifiedChinese 9%6W_ 0>  
    ActiveDocument.Styles("QLNU二级标题").NoProofing = True x2@W,?oPm  
    DoEvents 0.kQqy~5  
     (n {,R  
    '三级标题样式 0fP-[7P  
    ActiveDocument.Styles("QLNU三级标题").BaseStyle = ActiveDocument.Styles("BaseStyle") yf@DaIG  
    ActiveDocument.Styles("QLNU三级标题").NextParagraphStyle = "BaseStyle" 04}" n  
    ActiveDocument.Styles("QLNU三级标题").AutomaticallyUpdate = False ZT1IN6;8W  
    With ActiveDocument.Styles("QLNU三级标题").Font 5FQtlB9F  
        .NameFarEast = "宋体" p&Ev"xhs  
        .NameAscii = "Times New Roman" V0/O T~gS8  
        .NameOther = "黑体" T(4OPiKu  
        .Name = "黑体" Kjfpq!NYE  
        .Size = 14               '四号 e%K oecq  
        .Bold = False ReZ&SNJ  
        .Outline = False ~3r}6,%  
        .Italic = wdUndefined MFqM 6_  
        .Subscript = wdUndefined hJkF-yW  
        .Superscript = wdUndefined ;:#g\|(<+  
    End With Yj#4{2A  
    With ActiveDocument.Styles("QLNU三级标题").ParagraphFormat p*OpO&oodu  
        .LeftIndent = CentimetersToPoints(0) \9 5O  
        .RightIndent = CentimetersToPoints(0) o5`LLVif5y  
        .FirstLineIndent = CentimetersToPoints(0) 2GW.'\D  
         f>kW\uC  
        .LineSpacingRule = wdLineSpaceSingle ML-?#jNa<  
        .Alignment = wdAlignParagraphLeft ^!yJ;'H\  
         lN,)T%[ 0-  
        .WidowControl = True dWDM{t\}\  
        .KeepWithNext = True ,d~6LXr<fM  
        .KeepTogether = True *@SZ0   
        .PageBreakBefore = False 6>R|B?I%  
        .OutlineLevel = wdOutlineLevelBodyText =lG/A[66  
         V+- ]txu|  
        .CharacterUnitLeftIndent = 0 z(JDLd  
        .CharacterUnitRightIndent = 0 =*Ru 2  
        .CharacterUnitFirstLineIndent = 2 N}5'Hk4+  
         f'Cx %  
        .LineUnitBefore = 0.5 c$AwJhl^]  
        .LineUnitAfter = 0 ie9,ye"  
    End With Z`{ZV5  
    ActiveDocument.Styles("QLNU三级标题").NoSpaceBetweenParagraphsOfSameStyle = False Uh=@8v  
    ActiveDocument.Styles("QLNU三级标题").ParagraphFormat.TabStops.ClearAll gK+/wTQ%  
    ActiveDocument.Styles("QLNU三级标题").LanguageID = wdSimplifiedChinese 1?hx/02  
    ActiveDocument.Styles("QLNU三级标题").NoProofing = True o'auCa,N  
    DoEvents ,'c?^ $J|z  
     dRu|*s  
    '四级标题样式 p|,3X*-ynx  
    ActiveDocument.Styles("QLNU四级标题").BaseStyle = ActiveDocument.Styles("BaseStyle") %FSY}65  
    ActiveDocument.Styles("QLNU四级标题").NextParagraphStyle = "BaseStyle" 2Pz)vnV"  
    ActiveDocument.Styles("QLNU四级标题").AutomaticallyUpdate = False hQPNxpe  
    With ActiveDocument.Styles("QLNU四级标题").Font 2uy<wJE >  
        .NameFarEast = "宋体" W&HF*Aw  
        .NameAscii = "Times New Roman" 7'1 +i  
        .NameOther = "宋体" vpL3XYs`  
        .Name = "宋体" T2p;#)dP  
        .Size = 12               '小四号 %IhUQ6  
        .Bold = True nr>Os@\BU  
        .Outline = False zd-qQ.j0  
        .Italic = wdUndefined 6 ~LCj"  
        .Subscript = wdUndefined nLcOz3h  
        .Superscript = wdUndefined Vb$4'K '  
    End With 7f,!xh$  
    With ActiveDocument.Styles("QLNU四级标题").ParagraphFormat KVA~|j B  
         :$5$H  
        .LeftIndent = CentimetersToPoints(0) 5ON\Ve_H  
        .RightIndent = CentimetersToPoints(0) O=2SDuBZ  
        .FirstLineIndent = CentimetersToPoints(0) d&ap u{  
         E whCX'Vaj  
        .LineSpacingRule = wdLineSpaceSingle QxS=W2iN  
        .Alignment = wdAlignParagraphLeft [44C`x[8M+  
         s6+`cC4  
        .WidowControl = True _zF*S]9 X  
        .KeepWithNext = True u/S{^2`b  
        .KeepTogether = True  4ht+u  
        .PageBreakBefore = False zEN3N n.8  
        .OutlineLevel = wdOutlineLevelBodyText J_ y+.p- 5  
         {j!+\neL  
        .CharacterUnitLeftIndent = 0 o b,%); m  
        .CharacterUnitRightIndent = 0 1p }:K`#{  
        .CharacterUnitFirstLineIndent = 2 w_hN2eYo&e  
         zc#$hIi  
        .LineUnitBefore = 0 "CcdwWM  
        .LineUnitAfter = 0 1xsIM'&  
         IyJHKDFk  
    End With GO<,zOqvU  
    ActiveDocument.Styles("QLNU四级标题").NoSpaceBetweenParagraphsOfSameStyle = False e_Un:r@)  
    ActiveDocument.Styles("QLNU四级标题").ParagraphFormat.TabStops.ClearAll C]'ru  
    ActiveDocument.Styles("QLNU四级标题").LanguageID = wdSimplifiedChinese n) xLEx,  
    ActiveDocument.Styles("QLNU四级标题").NoProofing = True unZYFA}(  
    DoEvents || 0n%"h>i  
     >jH%n(TcC  
    '正文校式 `Eq~W@';Q0  
    ActiveDocument.Styles("QLNU正文").BaseStyle = ActiveDocument.Styles("BaseStyle") IqrT@ jgN-  
    ActiveDocument.Styles("QLNU正文").NextParagraphStyle = "BaseStyle" ~f5g\n;  
    ActiveDocument.Styles("QLNU正文").AutomaticallyUpdate = False ~&\}qz3  
    With ActiveDocument.Styles("QLNU正文").Font '#Pg:v_  
         SoPiEq  
        .NameFarEast = "宋体" `+?g96   
        .NameAscii = "Times New Roman" wM aqR"%  
        .NameOther = "宋体" iB0#Z_  
        .Name = "宋体" ~P;KO40K  
         I2G:jMPy  
        .Size = 12               '小四号 EnD }|9  
         rwh,RI) )g  
        .Bold = wdUndefined Vq>$Zlv S  
        .Italic = wdUndefined #'lqE)T  
        .Subscript = wdUndefined r>Rm=eKJ  
        .Superscript = wdUndefined G,fh/E+  
         :y%CP8  
        .Outline = False Rt=zqfJ  
        .Emboss = False  tQSJ"Q  
        .Shadow = False [ :*Jn}  
        .Hidden = False B;=-h(E}vJ  
         =QQTHL{3  
        .DisableCharacterSpaceGrid = True ]sL)[o  
    End With Lw_s'QNWR  
    With ActiveDocument.Styles("QLNU正文").ParagraphFormat + 2?=W1 `  
         ecIZ +G)k  
        .LeftIndent = CentimetersToPoints(0) e$=UA%  
        .RightIndent = CentimetersToPoints(0) 4_&+]S  
        .FirstLineIndent = CentimetersToPoints(0) } X?M6;$)  
         Z?"f#  
        .LineSpacingRule = wdLineSpaceExactly o{r<=X ysM  
        .LineSpacing = 20 |b^+= "  
        .Alignment = wdAlignParagraphLeft |'ML )`c[  
         L$rMfe S  
        .WidowControl = False s.qo/o\b  
        .KeepWithNext = False ?vn9HhTD  
        .KeepTogether = False 6! .nj3$*  
        .PageBreakBefore = False _ 0g\g~[  
        .Hyphenation = False i0/RvrLc  
         yNU.<d 5  
        .OutlineLevel = wdOutlineLevelBodyText pN?geF~t|  
         {>rGe#Vu  
       7>,(QHl  
        .CharacterUnitLeftIndent = 0 T_3JAH e  
        .CharacterUnitRightIndent = 0 14Y<-OO: k  
        .CharacterUnitFirstLineIndent = 2 ?=#vp /  
         9hn+eU  
        .LineUnitBefore = 0 :Y)jf  
        .LineUnitAfter = 0 pB0p?D)n  
        .SpaceBefore = 0 ^]{m*bEkR  
        .SpaceAfter = 0 "`q:  
         Tt\h#E  
        .DisableLineHeightGrid = True mMSQW6~j  
    End With ~>-MV p  
    ActiveDocument.Styles("QLNU正文").NoSpaceBetweenParagraphsOfSameStyle = False bpp {Z1/4  
    ActiveDocument.Styles("QLNU正文").ParagraphFormat.TabStops.ClearAll &'KJh+jJ  
    ActiveDocument.Styles("QLNU正文").LanguageID = wdSimplifiedChinese %8hjMds  
    ActiveDocument.Styles("QLNU正文").NoProofing = True X" m0||  
    DoEvents rO3.%B}  
     P~d&PhOe  
    '图片段落样式 ^T&@(|o  
    ActiveDocument.Styles("QLNU图片段落").BaseStyle = ActiveDocument.Styles("BaseStyle") CaE1h9  
    ActiveDocument.Styles("QLNU图片段落").NextParagraphStyle = "BaseStyle" {@YY8SKb9  
    ActiveDocument.Styles("QLNU图片段落").AutomaticallyUpdate = False 6#gS`X23Y  
    With ActiveDocument.Styles("QLNU图片段落").Font 2/F";tc\'  
        .Size = 12               '小四号 :plN<8  
        .Italic = wdUndefined ;%W]b  
        .Subscript = wdUndefined =R6IW,*  
        .Superscript = wdUndefined RM|2PG1m  
    End With sDXD>upO  
    With ActiveDocument.Styles("QLNU图片段落").ParagraphFormat R&MdwTa  
         -'%>Fon  
        .LeftIndent = CentimetersToPoints(0) bbe$6xwi  
        .RightIndent = CentimetersToPoints(0) 4#"_E:;PQ  
        .FirstLineIndent = CentimetersToPoints(0) o4PJ9x5R!  
         L5j%4BlK/  
        .LineSpacingRule = wdLineSpaceSingle $LkTu  
        .Alignment = wdAlignParagraphCenter n> tru L  
        .KeepWithNext = True wY'w'%A?  
        .OutlineLevel = wdOutlineLevelBodyText 0s'h2={iI  
         OAw- -rl  
        .CharacterUnitLeftIndent = 0 1XXuFa&  
        .CharacterUnitRightIndent = 0 X"Ca  
        .CharacterUnitFirstLineIndent = 0 G~ mLc  
         8gn12._x  
        .LineUnitBefore = 0 Q}6!t$Vk  
        .LineUnitAfter = 0 `WRM7  
    End With Q /zlU@  
    ActiveDocument.Styles("QLNU图片段落").NoSpaceBetweenParagraphsOfSameStyle = False oqUF_kh  
    ActiveDocument.Styles("QLNU图片段落").ParagraphFormat.TabStops.ClearAll Z`]r)z%f  
    ActiveDocument.Styles("QLNU图片段落").LanguageID = wdSimplifiedChinese !> 2kH  
    ActiveDocument.Styles("QLNU图片段落").NoProofing = True :f_fp(T  
    DoEvents *l{GD1ZDk  
     hb ="J349  
     w _ONy9  
    '第X章 #X t|"Z  
    ActiveDocument.Styles("QLNU章节标题").BaseStyle = ActiveDocument.Styles("BaseStyle") ='G-w X&k  
    ActiveDocument.Styles("QLNU章节标题").NextParagraphStyle = "BaseStyle" -g\;B  
    ActiveDocument.Styles("QLNU章节标题").AutomaticallyUpdate = False }huFv*<@'  
    With ActiveDocument.Styles("QLNU章节标题").Font >K;DBy*  
        .NameFarEast = "黑体" $~c wB  
        .NameAscii = "Arial Black" $s]vZ( H  
        .NameOther = "Arial Black" o|G[/o2  
        .Name = "黑体" )sZJH9[K  
        .Size = 16 iO@UzD #v  
        .Bold = True ``:+*4e9  
        .UnderlineColor = wdColorAutomatic :tf'Gw6v  
        .Outline = False +{h.nqdAE  
        .Italic = wdUndefined 7U647G(Sg  
        .Subscript = wdUndefined #UesXv  
        .Superscript = wdUndefined kJ[r.)HU  
        .Scaling = 100 euiP<[|h=  
        .DisableCharacterSpaceGrid = True #T3dfVWv  
    End With A~)#  
    With ActiveDocument.Styles("QLNU章节标题").ParagraphFormat ;k |U2ajFJ  
        .LineSpacingRule = wdLineSpaceSingle J5Ovj,[EZ  
        .Alignment = wdAlignParagraphCenter NXHe;G  
        .WidowControl = True {3`cSm6c  
        .KeepWithNext = True gzd<D}2F~  
        .KeepTogether = True \` U=pZJ  
        .PageBreakBefore = True  $+  
        .OutlineLevel = wdOutlineLevelBodyText aDZ,9}  
         J:Idt}@z  
        .LeftIndent = CentimetersToPoints(0) GTuxMg`  
        .RightIndent = CentimetersToPoints(0) FKBI.}A?!'  
        .FirstLineIndent = CentimetersToPoints(0) PK).)5sW  
         E*AI}:or;  
        .CharacterUnitLeftIndent = 0 %5$)w;p.$'  
        .CharacterUnitRightIndent = 0 i@m@]-2  
        .CharacterUnitFirstLineIndent = 0 sXaudT  
         /P%OXn$i/  
        .LineUnitBefore = 1 "K c/Cs2[  
        .LineUnitAfter = 0.5 !*e1F9k  
         Aw$+Ew[8 2  
        .AutoAdjustRightIndent = False ;V0^uB.z  
        .DisableLineHeightGrid = True iz %wozf  
        .FarEastLineBreakControl = True xQ,My  
        .WordWrap = True K 7 OIT2-  
    End With LE}V{%)xD  
    ActiveDocument.Styles("QLNU章节标题").NoSpaceBetweenParagraphsOfSameStyle = False N@#,YnPI  
    ActiveDocument.Styles("QLNU章节标题").ParagraphFormat.TabStops.ClearAll K; Fs5|gFU  
    ActiveDocument.Styles("QLNU章节标题").LanguageID = wdSimplifiedChinese `F`{s`E)  
    ActiveDocument.Styles("QLNU章节标题").NoProofing = True vdIert?p  
    DoEvents oH='\M%+  
     CuT50N;tk  
    '表格标题 S7 !;Z@  
    ActiveDocument.Styles("QLNU表格标题").BaseStyle = ActiveDocument.Styles("BaseStyle") g^: & Dh  
    ActiveDocument.Styles("QLNU表格标题").NextParagraphStyle = "BaseStyle" (Cb;=:3G  
    ActiveDocument.Styles("QLNU表格标题").AutomaticallyUpdate = False 8AQ__&nT  
    With ActiveDocument.Styles("QLNU表格标题").Font !rsGCw!Pg  
        .NameFarEast = "楷体" V| &->9"  
        .NameAscii = "Arial" _)kTlX:,  
        .Name = "楷体" H):(8/> (  
        .Size = 10.5 c> 0R_  
        .Bold = True (L<q Jd1Q  
        .Underline = wdUnderlineNone z5p5=KOb  
        .Italic = wdUndefined pf$gv L  
        .Subscript = wdUndefined hN^,'O  
        .Superscript = wdUndefined  35%\"Y?  
        .Color = wdColorAutomatic Fs(FI\^  
    End With iY*fp=c9  
    With ActiveDocument.Styles("QLNU表格标题").ParagraphFormat + l hJ8&  
         y|/[;  
        .LineSpacingRule = wdLineSpaceSingle $uUR@l  
        .Alignment = wdAlignParagraphCenter '\M]$`Et  
        .KeepWithNext = True {/}%[cY =  
        .KeepTogether = True $a'}7Q_  
        .OutlineLevel = wdOutlineLevelBodyText Ji4JP0  
         ]{| wU.  
        .LeftIndent = CentimetersToPoints(0) 92x)Pc^D  
        .RightIndent = CentimetersToPoints(0) #w@V!o  
        .FirstLineIndent = CentimetersToPoints(0) %#x l+^  
         < Dt/JA(p  
        .CharacterUnitLeftIndent = 0 ,GF]+nI89  
        .CharacterUnitRightIndent = 0 ZM16 ~k  
        .CharacterUnitFirstLineIndent = 0 Ge7Uety  
         es^@C9qt  
        .LineUnitBefore = 1 46##(4RF  
        .LineUnitAfter = 0 >@)p*y.K  
         =Hbf()cN)  
    End With 3O*^[$vM  
    ActiveDocument.Styles("QLNU表格标题").NoSpaceBetweenParagraphsOfSameStyle = False N Hiac(&*  
    ActiveDocument.Styles("QLNU表格标题").ParagraphFormat.TabStops.ClearAll [\3W_jR  
    ActiveDocument.Styles("QLNU表格标题").LanguageID = wdSimplifiedChinese v`@M IOv  
    ActiveDocument.Styles("QLNU表格标题").NoProofing = True fSVb.MZa7  
    DoEvents FBxg^g%PB@  
H/U.Bg 4  
    '表格首行 B~B,L*kC2  
    ActiveDocument.Styles("QLNU表格首行").BaseStyle = ActiveDocument.Styles("BaseStyle") gA}?X  
    ActiveDocument.Styles("QLNU表格首行").AutomaticallyUpdate = False ezb*tN!  
    With ActiveDocument.Styles("QLNU表格首行").Font 7 !dj&?  
        .NameFarEast = "楷体" 1ixBwnp?  
        .NameAscii = "Times New Roman" A<_{7F9  
        .Name = "楷体" $0Ys{m  
        .Size = 9 [vqf hpz  
        .Bold = True !oa/\p  
        .Underline = wdUnderlineNone ;,/4Ry22j-  
        .Italic = wdUndefined JNv@MJb}  
        .Subscript = wdUndefined Cto>~pV  
        .Superscript = wdUndefined {l"(EeW6)  
    End With -}u1ZEND  
    With ActiveDocument.Styles("QLNU表格首行").ParagraphFormat 7M)<Sv  
        .LineSpacingRule = wdLineSpaceSingle 4sq](! A  
        .Alignment = wdAlignParagraphCenter 3i1TBhs6  
         2m^qXE$  
        .LeftIndent = CentimetersToPoints(0) 2]]}Xvx4#  
        .RightIndent = CentimetersToPoints(0) 6WX?Xc]$3  
        .FirstLineIndent = CentimetersToPoints(0) #/> a`Ur_  
         ot0 g@q[3  
         ~)pso7^:  
        .CharacterUnitLeftIndent = -0.5 A0,h 7<i  
        .CharacterUnitRightIndent = -0.5 *ze,X~8-  
        .CharacterUnitFirstLineIndent = -0.5 K0~=9/  
         ]nNn"_qh  
        .LineUnitBefore = 0 &F:%y(;{Y  
        .LineUnitAfter = 0  SQ&}18Z~  
        .SpaceBefore = 0 Kr?<7vMT5  
        .SpaceAfter = 0 :T{VCw:*  
         C8W_f( i~  
    End With L*OG2liJ  
    ActiveDocument.Styles("QLNU表格首行").NoSpaceBetweenParagraphsOfSameStyle = False vmg[/#  
    ActiveDocument.Styles("QLNU表格首行").ParagraphFormat.TabStops.ClearAll 8*;>:g  
    ActiveDocument.Styles("QLNU表格首行").LanguageID = wdSimplifiedChinese $zM \Jd  
    ActiveDocument.Styles("QLNU表格首行").NoProofing = True M`n0 q y  
    DoEvents =QK ucLo  
RzU9]e  
    '表格内容 RN&6z"|jR  
    ActiveDocument.Styles("QLNU表格内容").BaseStyle = ActiveDocument.Styles("BaseStyle") Ma4eu8  
    ActiveDocument.Styles("QLNU表格内容").AutomaticallyUpdate = False } m"':f  
    With ActiveDocument.Styles("QLNU表格内容").Font ^5Zka!'X2Z  
        .NameFarEast = "楷体" R^B8** N  
        .NameAscii = "Times New Roman" gO{$p q}  
        .Name = "楷体" w75Ro6y  
        .Size = 9 $*`E;}S0  
        .Bold = False 0V?7'Em  
        .Underline = wdUnderlineNone l9e=dV:pH  
        .Italic = wdUndefined V?)YQ B  
        .Subscript = wdUndefined  W_6gV  
        .Superscript = wdUndefined *cZ7?  
    End With =l d!=II  
    With ActiveDocument.Styles("QLNU表格内容").ParagraphFormat rJh$>V+ '  
        .LineSpacingRule = wdLineSpaceSingle fZoQQ[s  
        .Alignment = wdAlignParagraphCenter ~d#;r5>  
         zoJkDr=jn  
        .LeftIndent = CentimetersToPoints(0) &"H<+>`  
        .RightIndent = CentimetersToPoints(0) N`|Ab(.  
        .FirstLineIndent = CentimetersToPoints(0) yOn2}Z  
         "e7$q&R |  
        .CharacterUnitLeftIndent = -0.5 -Y jv&5  
        .CharacterUnitRightIndent = -0.5 . ' N O~  
        .CharacterUnitFirstLineIndent = -0.5 beHCEwh  
        .LineUnitBefore = 0 (-Ct!aW|  
        .LineUnitAfter = 0 yZ(Nv $[5  
        .SpaceBefore = 0 , T21z}r  
        .SpaceAfter = 0 xn x1`|1u  
    End With K^cWj_a"  
    ActiveDocument.Styles("QLNU表格首行").NoSpaceBetweenParagraphsOfSameStyle = False 3Ld ;zW  
    ActiveDocument.Styles("QLNU表格首行").ParagraphFormat.TabStops.ClearAll \dxW44sM  
    ActiveDocument.Styles("QLNU表格首行").LanguageID = wdSimplifiedChinese SFk 11  
    ActiveDocument.Styles("QLNU表格首行").NoProofing = True meM.?kk(  
    DoEvents (zTI)EV  
}r<@o3t  
    '图片标题 Oz9Mqcx  
    ActiveDocument.Styles("QLNU图片标题").BaseStyle = ActiveDocument.Styles("BaseStyle") s ?Qb{  
    ActiveDocument.Styles("QLNU图片标题").NextParagraphStyle = "BaseStyle" X-ki%jp3  
    ActiveDocument.Styles("QLNU图片标题").AutomaticallyUpdate = False [nPzh Xs  
    With ActiveDocument.Styles("QLNU图片标题").Font m^oi4mV  
        .NameFarEast = "楷体" ,d [b"]Zy  
        .NameAscii = "Times New Roman" X?}GPA4 W  
        .Name = "楷体" ]stLC; nI  
        .Size = 10.5 l"pz )$eE  
        .Bold = True ,C'w(af@}  
        .Underline = wdUnderlineNone Uc4 L|:  
        .Italic = wdUndefined ,C@hTOT  
        .Subscript = wdUndefined Dxa)7d A|  
        .Superscript = wdUndefined 3EW f|6RI  
        .Outline = False {,  *Y  
        .Shadow = False I ;11j  
        .Color = wdColorAutomatic Z\gg<Q  
    End With L ugk`NUvF  
    With ActiveDocument.Styles("QLNU图片标题").ParagraphFormat J:-TINeB  
        .LineSpacingRule = wdLineSpaceSingle '__3[D  
        .Alignment = wdAlignParagraphCenter v YmtpKNj%  
         IIt^e#s&  
        .KeepWithNext = wdUndefined 1~xn[acy  
        .KeepTogether = True 84oW  
        .OutlineLevel = wdOutlineLevelBodyText tm36Lw  
         o YI=p3l  
        .LeftIndent = CentimetersToPoints(0) '*LN)E> d  
        .RightIndent = CentimetersToPoints(0) */Ry6Yu  
        .FirstLineIndent = CentimetersToPoints(0) cT=wJ  
         <sWcS; x  
        .CharacterUnitLeftIndent = 0 cmGj0YUQ1  
        .CharacterUnitRightIndent = 0 f w>Gx9  
        .CharacterUnitFirstLineIndent = 0 MCrO]N($b  
         #+ lq7HJ1  
        .LineUnitBefore = 0 tU2to V  
        .LineUnitAfter = 0 i>if93mpj  
    End With vL=--#  
    ActiveDocument.Styles("QLNU图片标题").NoSpaceBetweenParagraphsOfSameStyle = False k4AE`[UE  
    ActiveDocument.Styles("QLNU图片标题").ParagraphFormat.TabStops.ClearAll t1{%FJ0F  
    ActiveDocument.Styles("QLNU图片标题").LanguageID = wdSimplifiedChinese xP/1@6]_Je  
    ActiveDocument.Styles("QLNU图片标题").NoProofing = True uI-7 6  
    DoEvents ':R3._tw\  
^q N1~v=hS  
    '目录项 ?o(X0  
    ActiveDocument.Styles("QLNU目录项").BaseStyle = ActiveDocument.Styles("BaseStyle") /&!d  
    ActiveDocument.Styles("QLNU目录项").NextParagraphStyle = "BaseStyle" 2p;}wYt  
    ActiveDocument.Styles("QLNU目录项").AutomaticallyUpdate = False 4ysdna\+  
    With ActiveDocument.Styles("QLNU目录项").Font <QoE_z`76  
        .NameFarEast = "黑体" F6GZZKj  
        .NameAscii = "Times New Roman" /%q9hI   
        .NameOther = "Times New Roman" e'?d oP  
        .Name = "黑体" ~ GT\RAj[  
        .Size = 10.5 gc8PA_bFz  
        .Bold = False !9<RWNKV)Y  
        .Italic = wdUndefined y[5P<:&s  
        .Underline = wdUnderlineNone Gv+Tg/  
        .Color = wdColorAutomatic wyA(}iSq  
        .Superscript = wdUndefined Q}f}Jf3P  
        .Subscript = wdUndefined (#l_YI -  
    End With `=l{kBZT|  
    With ActiveDocument.Styles("QLNU目录项").ParagraphFormat 0) Um W{  
         eN?P) ,  
        .LineSpacingRule = wdLineSpaceSingle 6RT0\^X*:  
        .Alignment = wdAlignParagraphLeft .]ZuG  
         g(Xg%&@KZ  
        .WidowControl = False I&NpN~AU  
        .KeepWithNext = False r5qx! >  
        .KeepTogether = False m<'xlF  
        .PageBreakBefore = False {LJ6't 8y:  
        .NoLineNumber = False ]pP2c[;  
        .OutlineLevel = wdOutlineLevelBodyText SnF[mN'  
         )w 8lu sa  
        .LeftIndent = CentimetersToPoints(0) `0G.Y  
        .RightIndent = CentimetersToPoints(0) *I1W+W`G  
        .FirstLineIndent = CentimetersToPoints(0) $J0~2TV<  
         pA,EUh| H  
        .CharacterUnitLeftIndent = 0 tDLk ZCP  
        .CharacterUnitRightIndent = 0 |e[0Qo@  
        .CharacterUnitFirstLineIndent = 0 c+i`Zd.m<  
         3(GrDO9^  
        .LineUnitBefore = 0 \NQ)Po@z  
        .LineUnitAfter = 0 I/b8  
    End With I7z]%Z  
    ActiveDocument.Styles("QLNU目录项").NoSpaceBetweenParagraphsOfSameStyle = False 6ewOZ,"j"4  
    ActiveDocument.Styles("QLNU目录项").ParagraphFormat.TabStops.ClearAll *=If1qZs  
    ActiveDocument.Styles("QLNU目录项").ParagraphFormat.TabStops.Add Position:=PicasToPoints(44.5), Alignment:=wdAlignTabRight, Leader:=wdTabLeaderMiddleDot ,JB w$ C  
    ActiveDocument.Styles("QLNU目录项").LanguageID = wdSimplifiedChinese >]Yha}6h  
    ActiveDocument.Styles("QLNU目录项").NoProofing = True oY6|h3T=Q$  
    DoEvents w{O3P"N2  
     E+c3KqM  
    '参考文献 P$qkb|D,  
    ActiveDocument.Styles("QLNU参考文献").BaseStyle = ActiveDocument.Styles("BaseStyle") I~ ]mX;  
    ActiveDocument.Styles("QLNU参考文献").NextParagraphStyle = "BaseStyle" ;@Hi*d[  
    ActiveDocument.Styles("QLNU参考文献").AutomaticallyUpdate = False FR6I+@ oX~  
    With ActiveDocument.Styles("QLNU参考文献").Font #|_UA}Y  
        .NameFarEast = "宋体" g*c\'~f;  
        .NameAscii = "Times New Roman" ]GR q  
        .NameOther = "Times New Roman" GuY5 % wr  
        .Name = "Times New Roman" WKJL< D ]:  
        .Size = 12 -r'seb5  
        .Bold = False +G[HZ,FL  
        .Italic = wdUndefined "oXAIfU#T  
        .Subscript = wdUndefined +2fJ  
        .Superscript = wdUndefined 2GKU9cV*`  
        .Underline = wdUnderlineNone Z *<x  
        .UnderlineColor = wdColorAutomatic GV@E<dg$R  
        .Color = wdColorAutomatic m^x\@!N:(  
        .Engrave = False H!>oLui  
    End With 4Hpu EV8Q  
    With ActiveDocument.Styles("QLNU参考文献").ParagraphFormat CU`Oc>;*T  
         95 .'t}  
        .LineSpacingRule = wdLineSpaceExactly 8*PAgPj a  
        .LineSpacing = 16 @N_H]6z4  
        .Alignment = wdAlignParagraphLeft MH8%-UV  
        .WidowControl = False Qp.!U~  
        .KeepWithNext = False x)wt.T?eL  
        .KeepTogether = False /Vd#q)b%T  
        .PageBreakBefore = False yGG\[I;7  
        .OutlineLevel = wdOutlineLevelBodyText Fx:en|g  
         'U{: zBh  
        .LeftIndent = CentimetersToPoints(0) ~_j%nJ &2  
        .RightIndent = CentimetersToPoints(0) KB *#t  
        .FirstLineIndent = CentimetersToPoints(0) Tocdh.H|  
         Z#:@M[HH{  
        .CharacterUnitLeftIndent = 0 7>@/*S{X  
        .CharacterUnitRightIndent = 0 _ * s  
        .CharacterUnitFirstLineIndent = -2 n@,eZ!  
         } =m?gF%3  
        .LineUnitBefore = 0 <07W&`Dw  
        .LineUnitAfter = 0 qVe6RpS  
        .SpaceBefore = 0 M-K@n$k   
        .SpaceAfter = 0 z==}~|5  
         3N*C]  
    End With 2xdJ(\JWM  
    ActiveDocument.Styles("QLNU参考文献").NoSpaceBetweenParagraphsOfSameStyle = False [,$mpJCI  
    ActiveDocument.Styles("QLNU参考文献").ParagraphFormat.TabStops.ClearAll L{,7(C=  
    ActiveDocument.Styles("QLNU参考文献").LanguageID = wdEnglishUS 7Z~szD  
    ActiveDocument.Styles("QLNU参考文献").NoProofing = True {ro!OuA  
    ActiveDocument.Styles("QLNU参考文献").LanguageID = wdSimplifiedChinese _ N f[HP  
    DoEvents ts\>_/  
X6*y/KG N  
    ' L?C~ qS2g  
    ActiveDocument.Styles("QLNU论文题目").BaseStyle = ActiveDocument.Styles("BaseStyle") .-~% w  
    ActiveDocument.Styles("QLNU论文题目").NextParagraphStyle = "BaseStyle" AG\ 852`1m  
    ActiveDocument.Styles("QLNU论文题目").AutomaticallyUpdate = False uvv-lAbjw  
    With ActiveDocument.Styles("QLNU论文题目").Font _7"W\gn:9  
        .NameFarEast = "黑体" UVmyOC[Y{  
        .NameAscii = "Arial Black" RkP|_Bf8)  
        .NameOther = "Arial Black" _v=WjN  
        .Name = "Arial Black" `"mK\M  
        .Size = 16 [K@!JY  
        .Bold = False a&aIkD  
        .Italic = wdUndefined L=w Fo^N  
        .Superscript = wdUndefined yx;R#8;b.  
        .Subscript = wdUndefined !3 Z|!JY  
        .Underline = wdUnderlineNone ?[/,*Q%  
        .UnderlineColor = wdColorAutomatic R/cq00g  
        .Color = wdColorAutomatic d4h(F,K7V  
(0m$W<  
    End With V+~{a:8[pq  
    With ActiveDocument.Styles("QLNU论文题目").ParagraphFormat "_@+/Iy.  
        .LineSpacingRule = wdLineSpaceSingle d*(Bs $De  
        .Alignment = wdAlignParagraphCenter ZV4' |q  
        .WidowControl = True $<% nt  
        .KeepWithNext = True (ai-n,y  
        .KeepTogether = True {!Z_&i5  
        .PageBreakBefore = True ]sP9!hup  
        .NoLineNumber = False |Pl{Oo+  
        .OutlineLevel = wdOutlineLevelBodyText u,SZ-2K!7~  
         oqHm:u ^2  
        .LeftIndent = CentimetersToPoints(0) OSi9J. ]O  
        .RightIndent = CentimetersToPoints(0) WM )g(i~(  
        .FirstLineIndent = CentimetersToPoints(0) HF[%/Tu  
         !;C(pnE  
        .CharacterUnitLeftIndent = 0 :p)9Heu  
        .CharacterUnitRightIndent = 0 78~V/L;@S2  
        .CharacterUnitFirstLineIndent = 0 Xt*%"7yTp  
         %vYlu%c<  
        .LineUnitBefore = 1 JU1; /3(  
        .LineUnitAfter = 1 7.rZ%1N  
         )mVYqlU"  
        .BaseLineAlignment = wdBaselineAlignAuto Y'*h_K  
    End With ^K8a#-  
    ActiveDocument.Styles("QLNU论文题目").NoSpaceBetweenParagraphsOfSameStyle = False -vfu0XI~  
    ActiveDocument.Styles("QLNU论文题目").ParagraphFormat.TabStops.ClearAll t\d;}@bl  
    ActiveDocument.Styles("QLNU论文题目").LanguageID = wdEnglishUS VD`2lGdF  
    ActiveDocument.Styles("QLNU论文题目").NoProofing = True 5nqdY*  
    ActiveDocument.Styles("QLNU论文题目").LanguageID = wdSimplifiedChinese L=!kDU  
    ActiveDocument.Styles("QLNU论文题目").NoProofing = True kGiw?~t=%  
    DoEvents 58'y~Ou  
     pcTX Ty 28  
    '中文摘要 tU/NwA"  
    ActiveDocument.Styles("QLNU中文摘要").BaseStyle = ActiveDocument.Styles("BaseStyle") C\@YH]  
    ActiveDocument.Styles("QLNU中文摘要").NextParagraphStyle = "BaseStyle" afq +;Sh  
    ActiveDocument.Styles("QLNU中文摘要").AutomaticallyUpdate = False ,;pX.Ob U  
    With ActiveDocument.Styles("QLNU中文摘要").Font I>~BkR+u%o  
        .NameFarEast = "宋体" 3v+}YT{>b  
        .NameAscii = "Times New Roman" J$*["y`+  
        .NameOther = "Times New Roman" < ^!eaBR4  
        .Name = "Times New Roman" 2MzFSmhc"  
        .Size = 12 (MiOrzT  
        .Bold = wdUndefined *LdH/C.LIf  
        .Superscript = wdUndefined tS|zf,7  
        .Subscript = wdUndefined ?ML<o>OKg  
        .Italic = wdUndefined yzb&   
        .Underline = wdUnderlineNone ~cj:AIF  
        .UnderlineColor = wdColorAutomatic Awf = yE:  
        .Color = wdColorAutomatic (`/i1#nR  
    End With q ? TI,  
    With ActiveDocument.Styles("QLNU中文摘要").ParagraphFormat ']e4 !  
        .LineSpacingRule = wdLineSpaceExactly ?Cfp=85ea!  
        .LineSpacing = 20 bO%ck-om!  
        .Alignment = wdAlignParagraphLeft 'z!#E!i  
         }C`0 " 1  
        .WidowControl = False \J&#C(pn  
        .KeepWithNext = False n7.lF  
        .KeepTogether = True  grA L4  
        .PageBreakBefore = False QnLg P7Ft  
        .NoLineNumber = False * <QL[qyV  
        .OutlineLevel = wdOutlineLevelBodyText pFRnPOv  
         \1 D,Kx;Cb  
        .LeftIndent = CentimetersToPoints(0) 7gmMqz"z(>  
        .RightIndent = CentimetersToPoints(0)  2_v+q  
        .FirstLineIndent = CentimetersToPoints(0) VZ@@j[F(  
         ,8 ?*U]}  
        .CharacterUnitLeftIndent = 0 luog_;{h+  
        .CharacterUnitRightIndent = 0 "dOY_@kg  
        .CharacterUnitFirstLineIndent = 2 abP?Dj&  
        .LineUnitBefore = 0 Qh%vh ;|^  
        .LineUnitAfter = 0 g7f%(W 2dd  
         >.~k?_Of  
    End With ]=<@G.[=  
    ActiveDocument.Styles("QLNU中文摘要").NoSpaceBetweenParagraphsOfSameStyle = False 2]f.mq_PD  
    ActiveDocument.Styles("QLNU中文摘要").ParagraphFormat.TabStops.ClearAll c}s3c >`d  
    ActiveDocument.Styles("QLNU中文摘要").LanguageID = wdEnglishUS pR>QIZq<gT  
    ActiveDocument.Styles("QLNU中文摘要").NoProofing = True ^@"f%3  
    ActiveDocument.Styles("QLNU中文摘要").LanguageID = wdSimplifiedChinese #|E. y^IC  
    ActiveDocument.Styles("QLNU中文摘要").NoProofing = True sswAI|6ou  
    ActiveDocument.Styles("QLNU中文摘要").Frame.Delete Vzm7xl [  
    DoEvents o;I86dI6C  
     2DdLqZY#  
    ActiveDocument.Styles("QLNU英文标题").BaseStyle = ActiveDocument.Styles("BaseStyle") G)|HFcE  
    ActiveDocument.Styles("QLNU英文标题").NextParagraphStyle = "BaseStyle" g]JI}O*5  
    ActiveDocument.Styles("QLNU英文标题").AutomaticallyUpdate = False LOkDx2@g  
    With ActiveDocument.Styles("QLNU英文标题").Font 7B"aFnK;[J  
        .NameFarEast = "黑体" ?|yJ #j1=  
        .NameAscii = "Arial Narrow" 8k'em/M~  
        .Name = "Arial Narrow" ^q r[?ky]&  
        .Size = 16 qqre d>K  
        .Bold = True ]r5Xp#q2  
        .Bold = wdUndefined "z4E|s  
        .Superscript = wdUndefined [/j-d  
        .Subscript = wdUndefined A~SSu.L@  
        .Italic = wdUndefined :u93yH6~8  
         0Hf-~6  
        .Underline = wdUnderlineNone k rjd:*E  
        .UnderlineColor = wdColorAutomatic Gfch|Q^INy  
        .StrikeThrough = False 8GQs9  
        .DoubleStrikeThrough = False 7O :Gi*MA  
    End With '-TFrNO;h  
    With ActiveDocument.Styles("QLNU英文标题").ParagraphFormat Y %8QFM  
        .LineSpacingRule = wdLineSpaceSingle Ll48)P{+}V  
        .Alignment = wdAlignParagraphCenter K%_JQ0`  
        .WidowControl = True ,1h(k<-  
        .KeepWithNext = False vjS7nR"T  
        .KeepTogether = False B%;+8]  
        .PageBreakBefore = False !gQ(1u|r  
        .NoLineNumber = False s5#g[}dj  
        .FirstLineIndent = CentimetersToPoints(0) WT N!2b  
        .OutlineLevel = wdOutlineLevelBodyText %'5wwl  
         MRu+:Y=K  
        .LeftIndent = CentimetersToPoints(0) /^ 7 9|$E  
        .RightIndent = CentimetersToPoints(0) < rxem(PPu  
        .FirstLineIndent = CentimetersToPoints(0) >g=:01z9  
         y%Ah"UY  
        .CharacterUnitLeftIndent = 0 8Wp1L0$B  
        .CharacterUnitRightIndent = 0 1&nrZG9  
        .CharacterUnitFirstLineIndent = 0 dU n#'<g5  
         KJZY.7  
        .LineUnitBefore = 1 [/]3:|  
        .LineUnitAfter = 1 @},k\Is  
         $7g(-W  
    End With J1MnkxJmpQ  
    ActiveDocument.Styles("QLNU英文标题").NoSpaceBetweenParagraphsOfSameStyle = False "+Rm4_  
    ActiveDocument.Styles("QLNU英文标题").ParagraphFormat.TabStops.ClearAll R_DQtLI  
    ActiveDocument.Styles("QLNU英文标题").LanguageID = wdEnglishUS xF0 *q  
    ActiveDocument.Styles("QLNU英文标题").NoProofing = True f89<o#bm7h  
    ActiveDocument.Styles("QLNU英文标题").LanguageID = wdSimplifiedChinese 40/[ uW"  
    ActiveDocument.Styles("QLNU英文标题").NoProofing = True K* RRbtb  
    ActiveDocument.Styles("QLNU英文标题").Frame.Delete X)5O@"4 ?  
    DoEvents U?yXTMD  
?"Q6;np*  
    ActiveDocument.Styles("QLNU英文摘要").BaseStyle = ActiveDocument.Styles("BaseStyle") zaPR>:r0  
    ActiveDocument.Styles("QLNU英文摘要").NextParagraphStyle = "BaseStyle" '11hIu=:  
    ActiveDocument.Styles("QLNU英文摘要").AutomaticallyUpdate = False \LXNdE2B  
    With ActiveDocument.Styles("QLNU英文摘要").Font r${a S@F  
        .NameFarEast = "宋体" .1M>KRSr,  
        .NameAscii = "Arial" >.>5%  
        .NameOther = "Arial" $yJfAR  
        .Name = "Arial" cn{l %6K  
        .Size = 12 Vdyx74xX  
        .Bold = wdUndefined E atDT*!  
        .Italic = wdUndefined "$9ZkADO  
        .Superscript = wdUndefined 5@5="lNjS  
        .Subscript = wdUndefined oWOZ0] H1  
    End With ZH :X 4!  
     N?:S?p9R@  
    With ActiveDocument.Styles("QLNU英文摘要").ParagraphFormat Os+ =}  
         =2'^ : 4Z  
        .LineSpacingRule = wdLineSpaceExactly Id1[}B-T  
        .LineSpacing = 20 1N*~\rV*?  
         ] "_'o~  
        .Alignment = wdAlignParagraphJustify <{j9|mt  
         qIp`'.#m  
        .WidowControl = False f}3bYF  
        .KeepWithNext = False qpCi61lTDJ  
        .KeepTogether = False !{\c`Z<#  
        .PageBreakBefore = False 6Wp:W1E{`  
        .NoLineNumber = False "5bk82."  
         ]ORat.*0[T  
        .OutlineLevel = wdOutlineLevelBodyText Hq8.O/Y"=  
         ),|bP`V  
        .LeftIndent = CentimetersToPoints(0) L}nc'smvM  
        .RightIndent = CentimetersToPoints(0) 2YQ$hL~  
        .FirstLineIndent = CentimetersToPoints(0) x$sQ .aT  
         a[ De  
        .CharacterUnitLeftIndent = 0 I`1=VC]^8  
        .CharacterUnitRightIndent = 0 ' 'N@ <|  
        .CharacterUnitFirstLineIndent = 2 r?*?iw2g  
         vkLG<Y  
        .LineUnitBefore = 0 K*[wr@)u  
        .LineUnitAfter = 1 Sj+#yct-  
         E>v~B;@  
    End With oQO3:2a  
    ActiveDocument.Styles("QLNU英文摘要").NoSpaceBetweenParagraphsOfSameStyle = False G&-h,"yo^  
    ActiveDocument.Styles("QLNU英文摘要").ParagraphFormat.TabStops.ClearAll beoMLHp  
    ActiveDocument.Styles("QLNU英文摘要").LanguageID = wdEnglishUS HN%ZN}  
    ActiveDocument.Styles("QLNU英文摘要").NoProofing = False Ho|n\7$  
    DoEvents =r8(9:F!  
K`3cH6"L6  
    Options.Pagination = True QB>e(j%  
    Me.txtStatus.Text = "样式修改完成,重新进行分页,请稍候....." /8R1$7  
    DoEvents p6*D^-  
    ActiveDocument.Repaginate /@e\I0P^  
qB`P7!VN^]  
End Sub C:cu1Y9  
9X~^w_cdk  
V;=T~K|)>  
杺栫杣杊椌柮栬,䒴蓉艿芖。
伍胥之 离线
级别: 军区司令员

显示用户信息 
99楼  发表于: 2021-07-18   
继续填个坑: b04~z&Xv  
3z<t#  
用VBA控制WORD自己修订学生毕业文的格式。 &0`L;1R  
杺栫杣杊椌柮栬,䒴蓉艿芖。
伍胥之 离线
级别: 军区司令员

显示用户信息 
98楼  发表于: 2021-01-02   
继续填 BotNET 或Pynthon? 有没有XDJMs接龙啊 ? /~Iy1L#  
HT'dft #  
杺栫杣杊椌柮栬,䒴蓉艿芖。
伍胥之 离线
级别: 军区司令员

显示用户信息 
97楼  发表于: 2015-09-06   
下一次练手,也是VB,不过只是用CCD测量济钢中板车间轧机出来的板的宽度。 w_ m  
V SxLBwXf  
这一次,我自己做了一个二进制的尺子,用CCD在一个盒子里读尺。
杺栫杣杊椌柮栬,䒴蓉艿芖。
伍胥之 离线
级别: 军区司令员

显示用户信息 
96楼  发表于: 2015-09-06   

_Z%C{~,7)x  
p0/I}n4<5n  
这个地方现在已经变化很大了。以前紧靠山东农科院的实验田
杺栫杣杊椌柮栬,䒴蓉艿芖。
伍胥之 离线
级别: 军区司令员

显示用户信息 
95楼  发表于: 2015-09-06   

从这里里分离出来的。
杺栫杣杊椌柮栬,䒴蓉艿芖。
伍胥之 离线
级别: 军区司令员

显示用户信息 
94楼  发表于: 2015-09-06   
拍下的火车 u5lj+?  
第6车皮 4CDmq[AVS[  

L%"&_v#a^  
#2pgh?  
第9车皮 Yy&0b(m U  
-n6C~Yx  
  
杺栫杣杊椌柮栬,䒴蓉艿芖。
伍胥之 离线
级别: 军区司令员

显示用户信息 
93楼  发表于: 2015-09-06   

一共这么多文件。 sg3%n0Ms.W  
{r Gx*<e  
这是我用VB写出的最大的程序,也是用API最多的。
杺栫杣杊椌柮栬,䒴蓉艿芖。
伍胥之 离线
级别: 军区司令员

显示用户信息 
92楼  发表于: 2015-09-06   
这才是我当年写出的一个比较烂的程序 BKN]DxJ6  
ieObo foD  
Main2.bas -QRKDp  
oI^iL\\2h  
Attribute VB_Name = "SubMain" BV<LIrAS  
Option Explicit fz:F*zT1  
*G=n${'  
'采集文件与临时文件 ek.L(n,J|  
Public Const TmpFile As String = "d:\30-0600.dat" 'Y[\[]3[8  
'已有数据:30-0600.dat /30日早6点进车与6:30出车头 *rA!`e*  
nuvz!<5\{  
Public fStatus As Long, hFile As Long, bytesRW As Long, lptrFile As Long m0 `wmM  
Public hBCFile As Long  '记录采集参数的文件 uu(.,11`  
Public Const TmpBMP As String = "d:\1.bmp" ]E`DG  
Public hTmpFile As Long py)V7*CgH  
0evG  
,"DkMK4%  
'采集窗口参数常量 ] $5rh8  
Public Const FrameH As Long = 280& L-Z1Xs  
Public Const FrameW As Long = 768& %!WQ;(  
Public Const pFrameSize As Long = FrameW * FrameH 8R)*8bb  
'*K/K],S]  
'标志区范围,用于识别车辆 }UX>O  
Public Const PilarC As Integer = 260   '识别标志立柱中线坐标X |gT$M _}  
Public Const mkW As Integer = 28  '识别标志立柱宽度 [3j]r{0I  
Public Const mkH As Integer = 80 ''识别标志立柱高度(上白中黑下白) a-hF/~84S:  
Public Const mkY As Integer = 4 ''识别标志立柱Y坐标(40-79白, 80-119黑,120-159白)  Q}G   
Public Const mkX As Integer = PilarC - mkW / 2 '识别标志立柱X坐标 olh|.9Kdj}  
'车缝检测位置常数 Hd4&"oeY  
Public Const sSize As Long = 32& :V`q;g  
Public Const sPos As Long = 310& I5  
Public Const sPosL As Long = 200&  [j&>dE  
Public Const sPosR As Long = 500& x *(pr5k  
'车缝检测框位置 T1D7H~ \lG  
Public Slice(1 To sSize, 1 To FrameH) As Byte #B54p@.}  
Public SliceL(1 To sSize, 1 To FrameH) As Byte K2NnA  
Public SliceR(1 To sSize, 1 To FrameH) As Byte zVp|%&  
Public avSL As Integer, avSLR As Integer, avSLL As Integer WWD\EDnS  
lO<Ujb#"R  
_))_mxV{  
Public MKpilar(1 To mkW * mkH) As Byte   '一维数组用于亮度对比度分析,比使用二维数组更便于VB编译优化 BHa!jw_~o  
'该数组用于亮度对比度调节、车辆通过识别与车皮间隔识别 w)hJ0k  
Public BsLine(1 To 4 * FrameW) As Byte, bsAV As Integer  '图像的前4行。用于确定标志区的亮度与对比度范围 (xq25;|Y  
Public PilarW As Long, PilarH As Long, PilarX As Long, PilarY As Long W/fM0=!  
Public LeftBK(1 To 1024, 0 To 1) As Byte, RightBK(1 To 1024, 0 To 1) As Byte pS51fF9  
'前后帧左右上角128列*8行像素块,根据平均值差绝对值判断进车方向 &bTadd%0  
~bg FU  
)5bhyzSZI  
SdN|-'qf  
'一次连续采集的帧数 T?Gi;ld7  
Public tFrames As Long .0Cpqn,[  
;IwC`!(#  
'在采集卡申请的缓存中,是按帧为单位的,每一帧包含奇偶场两场的数据 ^M8\ 3G  
'而该卡的硬件设置是按场采集,只需要读第一场的数据即可。 ^m?h .  
'所以要设置的缓存帧的大小是frameW*frameH*2,而一场的数据量为pFrameSize +>{{91mN  
$vicxE~-E  
Public pFRAME(1 To FrameW, 1 To FrameH) As Byte BoFJ8Ukq|  
Public pBuffer(1 To FrameW * FrameH * 2) As Byte az7L0 pp  
Public pWorkSpace(1 To FrameW * FrameH) As Long eml(F  
Public Const pBufferSize As Long = FrameW * FrameH * 2 oU67<jq  
Public pGray(0 To 255) As Long '整幅图像的灰度直方图 C}wmoYikV  
aMT&}3  
Public hBoard As Long   '采集卡标识 I/fERnHM/+  
Public mBufferAddr As Long  '缓存地址 Rg+V;C C~  
Public BufferSize As Long  '缓存大小(字节) L k`0z  
Public iCurrentCard As Long 0YW<>Y`6  
Public CapStatus As Long d[jxU/.p;  
Public iFrames As Long TqCzpf&&h/  
Public currentBr As Byte, currentContr As Byte /SSl$  
i |cSO2O+  
Public hMEM As Long, mStatus As Long Zb3E-'G+  
Public Const hMemSize As Long = pFrameSize * 4 *|MPYxJ<  
Public hMemWork As Long ?f:FmgQk  
Public Const hMemWorkSize As Long = pFrameSize * 5 =U2`]50  
tXwnK[~x  
ar R)]gk 7  
}[? X%=  
'串口接收轨道衡数据 ZCV&v47\p_  
Public WeightFromCom As String 5q@o,d  
Public bReceiveComplete As Boolean jR*1%.Ng  
~u7a50  
2#ypM9  
Public Type GrayBMPHeader P 3);R>j  
  Tag As Integer pl'n 0L<l  
  FileLength As Long    '文件大小 zPZy#7/A  
  Reserve1 As Long e>X&[\T  
  DataOffset As Long    '图像数据偏移量 t4 $cMf  
  BMPHeaderSize As Long  '文件头长 Q_]O[Kx  
                        'length of the bitmap info header used to describe the bitmap colors, compression,… ^?w6  
                        'the following sizes are possible: Z-Zox-I1}-  
                        '28h - windows 3.1x, 95, nt, … (7&[!PS  
                        '0ch - os/2 1.x iw<+rh*C  
                        'f0h - os/2 2.x .z)&#2E  
?;!l-Dy  
  ImageWidth As Long           '图像宽(像素数) !y `wAm>n  
  ImageHeight As Long          '图像高(像素数) ga0W;Vq&X  
  PlaneNumber As Integer  '图像层数 BPtU]Bv-  
  bpp As Integer    'bits per pixels    '1 - monochrome bitmap a'W-&j  
                                        '4 - 16 color bitmap q=Q5s?sQc  
                                        '8 - 256 color bitmap ;IE|XR(  
                                        '16 - 16bit (high color) bitmap |G!-FmIK  
                                        '24 - 24bit (true color) bitmap #*XuU8q?  
                                        '32 - 32bit (true color) bitmap *b~$|H-\  
  Compression As Long '压缩方法     '0 - none (also identified by bi_rgb) R 8?Xz5  
                                    '1 - rle 8-bit / pixel (also identified by bi_rle4) bv-s}UP0  
                                    '2 - rle 4-bit / pixel (also identified by bi_rle8) 0vf2wBK'T  
                                    '3 - bitfields (also identified by bi_bitfields) OlQ7Yi>  
  IMAGESIZE As Long  '图像数据字节数 e &#qj^  
  hResolution  As Long  '水平分辩率  像素数/米 V(w2k^7) F  
  vResolution  As Long  '垂直分辩率 ?tg(X[h{S  
  ColorsinBMP As Long   '图中所用的颜色。对256色图像总为0x100 @<r  ;>G  
  ImportantColors As Long 8.F]&D0p8  
  Pallate(0 To 255) As Long  '图像每个值对应的实际显示颜色,项数对应PallateNumber所指调色板项数 (?;Fnq  
End Type m'@NF--#Oq  
px" .pYr0  
tBp dKJn##  
h{qB\aK  
Public BMPHeader As GrayBMPHeader, BMP1 As GrayBMPHeader JM@MNS_||(  
Public sRECT As RECT d 6j'[  
ut fD$8UI  
j8_WEjG  
Public conn As ADODB.Connection ?kISAA4x  
Public rsTrain As ADODB.Recordset u6$fF=  
Public rsOperater As ADODB.Recordset ['e8Xz0  
Public rsGoods As ADODB.Recordset yIOoVi\m  
Public rsGood2 As ADODB.Recordset ]t(;bD hT  
Public rsSender As ADODB.Recordset WR%x4\,d#  
Public rsReceover As ADODB.Recordset U_B"B;ng+  
Public rsTrainTMP As ADODB.Recordset =;`+^  
fMP$o3;  
Ks7DoXCvE  
'打开采集卡 eBlVb*nmq  
'设置参数 !*'uPw:l2  
'设置为实时单帧采集到缓存方式 l0l2fwz(  
'由另一线程查询采集状态,如果完成采集,传送至用户数组分析或保存 4F^(3RKZ|  
s^)wh v`C  
rK9X68)  
Sub Main() pk:YjJs  
  Dim i As Integer, status As Long 5W(G~m?jC6  
     ":tQYo]d  
   InitBMPinfo oX8e}  
   '生成BMP文件头---该文件头是固定将pFRAME数组写成BMP文件 {?$-p%CF`8  
    BMPHeader.Tag = &H4D42 cEhwv0f!qS  
    BMPHeader.ImageWidth = FrameW lL/|{A|-j  
    BMPHeader.ImageHeight = FrameH ?1JS*LQ$  
    BMPHeader.BMPHeaderSize = &H28 s: ~3|D][  
    BMPHeader.PlaneNumber = 1 [2WJ>2r}6  
    BMPHeader.bpp = 8 uF/l,[0v  
    BMPHeader.Compression = 0 ej4xW~_  
    BMPHeader.hResolution = &H1274   'Windows pBrush.exe的默认值,PhotoED.exe默值为0 ;n?H/(6X8>  
    BMPHeader.vResolution = &H1274 wspZ Eu>C;  
    BMPHeader.ColorsinBMP = 256 2*ZB[5_V  
    BMPHeader.ImportantColors = BMPHeader.ColorsinBMP $&OoxC  
    BMPHeader.DataOffset = Len(BMPHeader) gk1I1)p  
    For i = 0 To 255 7 &DhEI ^  
      BMPHeader.Pallate(i) = RGB(i, i, i) j:0(=H!#  
    Next i .r[kNh@ b%  
    BMPHeader.IMAGESIZE = FrameH * FrameW @Q 8E)k@  
    BMPHeader.FileLength = Len(BMPHeader) + BMPHeader.IMAGESIZE !:'%'@uc  
vdyLwBz:  
5~5d%C^3k  
    MoveMemory BMP1, BMPHeader, Len(BMPHeader) Gn>#Mvq  
     ^ `!5!|  
    BMP1.ImageWidth = FrameW g/'CX}g`  
    BMP1.ImageHeight = FrameH * 2 'x$>h)t]  
    BMP1.IMAGESIZE = BMP1.ImageWidth * BMP1.ImageHeight YQ:F Bj  
    BMP1.FileLength = Len(BMP1) + BMP1.IMAGESIZE 8F9sKRq|rO  
CuR.a  
  '确定标志位置,为pilarX, pilarY确定初始值 k}(C.`.  
   PilarW = mkW ]_G!(`Udh  
   PilarH = mkH  '此两项为固定值 Hw-,sze j"  
   PilarX = GetSetting(App.EXEName, "Mark", "MarkX", mkX) :} i #ODJ  
   PilarY = GetSetting(App.EXEName, "Mark", "MarkY", mkY)  '此两项需要在程序初始化时检查并进行调整 )`, Bt  
   [yF>W$Bn%  
   %ZDo;l+<F6  
  '连续采集记录文件 +vY8HQ|v  
  ' 建立一个缓冲区为页对齐方式的文件 7`9J.L&,;  
  If Dir(TmpFile) <> "" Then /{gCf  
    hFile = CreateFile(TmpFile, GENERIC_READ Or GENERIC_WRITE, _ gf$5pp-  
     0&, 0&, OPEN_ALWAYS, FILE_FLAG_NO_BUFFERING, 0&) 0Rz'#O32V  
    ' 在95/98中,如果打开文件时没有声明overlapped方式,在读定文件时就不能使用overlapped参数项 .BuXg<`  
    ' 而必须用setfilepointer函数调节与操作系统保留的文件指针。 ]k-<[Z;I,  
  Else w)2X0ev"  
    hFile = CreateFile(TmpFile, GENERIC_READ Or GENERIC_WRITE, _ FZ)_WaqGf  
     0&, 0&, CREATE_ALWAYS, FILE_FLAG_NO_BUFFERING, 0&) H.3+5 po  
  End If 7j8nDX<  
  If hFile = 0 Then :<=A1>&8  
    MsgBox TmpFile & ": File Open Error", vbOKOnly &!x!j ,nT  
    Exit Sub N<}{oIsZ+  
  End If eZ'J,;  
  '采集参数记录文件 c!{v/zOz  
hBCFile = FreeFile() B b_R~1 l  
Open TmpFile + ".BC" For Binary Access Read Write As #hBCFile Ei2hI  
   Vcm9:,Xlw  
hMEM = VirtualAlloc(ByVal 0&, hMemSize, MEM_COMMIT, PAGE_READWRITE)  ’分配系统内容 mR\rK&'6  
If hMEM = 0 Then S: "R/EE(  
    fStatus = GetLastError {9S=:  
    MsgBox "内存分配错误: 错误代码 - " & Str(fStatus) & vbCrLf _ XT~!dq5  
     & "请向技术人员报告该错误代码。", vbOKOnly f| P%  
    CloseHandle hFile 'Y Bz?l9  
    Exit Sub wxYB-Wh<  
End If 7A@]t_83Y  
Yw&{.<sL  
hMemWork = VirtualAlloc(ByVal 0&, hMemWorkSize, MEM_COMMIT, PAGE_READWRITE) zZ@]Kq;.s  
If hMemWork = 0 Then @*`9!K%  
    fStatus = GetLastError kC"lO'  
    MsgBox "内存分配错误: 错误代码 - " & Str(fStatus) & vbCrLf _ By% mJ%$~  
     & "请向技术人员报告该错误代码。", vbOKOnly t2Q40' `  
     '释放已成功分配的内存 (,z0 V+ !  
    mStatus = VirtualFree(ByVal hMEM, hMemSize, MEM_DECOMMIT) v1*Lf/  
    mStatus = VirtualFree(ByVal hMEM, 0&, MEM_RELEASE) >AX&PMb`  
     )u)]#z  
    CloseHandle hFile 35|F?Jx.r  
    Exit Sub @Fv"j9j-3G  
End If i"V2=jTeBv  
}d?"i@[  
' Test writing ;-Fr^|do y  
'WriteFile hFile, ByVal hMEM, ByVal 4096&, bytesRW, ByVal 0& X458%)G!(K  
     x%Ivd  
   '初始化采集卡参数 E2+x?Sc+  
   iCurrentCard = -1 ]k &Y )  
   hBoard = okOpenBoard(iCurrentCard) o&g-0!"  
   Debug.Print hBoard B! $ a Y  
   If hBoard = 0 Then 5v<X-8"  
      ExitGrabber V4@ HIM  
      End mltG4R ?  
   End If {ULyB$\-  
   okGetBufferSize hBoard, mBufferAddr, BufferSize Z#0hh%E"|y  
   If mBufferAddr = 0 Then )GhMM  
     MsgBox "缓存不存在!" ^LO=&Cq  
     ExitGrabber BIovPvq;i  
   End If !*JE%t  
   Debug.Print Hex(mBufferAddr), Hex(BufferSize) ~?T*D*  
   +o^b ,!  
   @62QDlt;  
   currentBr = 128: currentContr = 128 k<x  %  
   '设置视频输入参数 *8y kE  
   okSetVideoParam hBoard, VIDEO_SOURCECHAN, 1 'Video2 Lx6C fR  
      ' lParam=0,1.. Comp.Video; 0x100,101...to Y/C(S-Video), 0x200,0x201 to RGB Chan.Input a7KP_[_(  
   okSetVideoParam hBoard, VIDEO_BRIGHTNESS, currentBr '亮度 [ }-CXB  
   okSetVideoParam hBoard, VIDEO_CONTRAST, currentContr '对比度  ---初始设置条件下如果图像亮度达不到基本要求则控制灯光 Ss ;C1:  
   okSetVideoParam hBoard, VIDEO_RGBFORMAT, FORM_GRAY8 '8位灰度模式 cyu)YxT  
   okSetVideoParam hBoard, VIDEO_TVSTANDARD, 0 'PAL制式 %P05k  
   okSetVideoParam hBoard, VIDEO_SIGNALTYPE, &H10000 '逐行(低字)同步开槽(高字) ZU\TA|  
   okSetVideoParam hBoard, VIDEO_RECTSHIFT, 144 + &H2C0000 '有效区起始位置:高字Y偏移,低字X偏移 (144/44经验值) R-CFF  
   okSetVideoParam hBoard, VIDEO_AVAILRECTSIZE, FrameW + FrameH * 2 * &H10000 '有效区大小:低字X高字Y (768/576采集卡最大值) b~uz\%'3  
   okSetVideoParam hBoard, VIDEO_FREQSEG, 0 ' 低频部分信号 9U$n;uA  
   m/vwM"  
   '设置采集参数 ;[9WB<t  
   okSetCaptureParam hBoard, CAPTURE_INTERVAL, 0  '逐帧 EA_6L\+8&  
   okSetCaptureParam hBoard, CAPTURE_CLIPMODE, 2 '裁剪方式 aMI\gCB/  
   okSetCaptureParam hBoard, CAPTURE_BUFRGBFORMAT, FORM_GRAY8  '8位灰度 K.'II9-{  
   okSetCaptureParam hBoard, CAPTURE_HARDMIRROR, 0 '不作镜像变换 C QO gR GW  
   okSetCaptureParam hBoard, CAPTURE_FRMRGBFORMAT, FORM_GRAY8 '帧存格式 J}a 8N.S  
   okSetCaptureParam hBoard, CAPTURE_SAMPLEFIELD, 0 ' 逐场采集 8JvF4'zx  
   okSetCaptureParam hBoard, CAPTURE_HORZPIXELS, 944  '水平像素数 PAL制式固定值  0].*eM  
   okSetCaptureParam hBoard, CAPTURE_VERTLINES, 625 '垂直线数 "_dh6naZX  
   okSetCaptureParam hBoard, CAPTURE_SEQCAPWAIT, 0 '不等结束立即返回 :j2G0vHIl(  
   'okSetCaptureParam hBoard, CAPTURE_BUFBLOCKSIZE, FrameW + FrameH * 2 * &H10000 `hJSo?G>  
   'Buffer Block Size不用设置,而用okSetTargetRect函数进行动态调节 94Wf ]  
   ]"?+R+  
   >5G2!Ns'  
   okCloseBoard hBoard H= Sy.  
   Sleep 50 lrQ +G@#  
   hBoard = okOpenBoard(iCurrentCard)   '关闭后重新打开使新的设置值生效 CDOqdBQ  
   B^`'2$3  
   '设置数据传送方式 c@iP^;D  
   'okSetConvertParam hBoard, CONVERT_FIELDEXTEND, FIELD_COPYEXTEND '逐行并扩展行 sY,q*}SLD  
   '该设置对本程序无意义,因为程序直接用CopyMemory方法读缓存,而扩展行方式是在用采集卡内置函数读RECT过程中实现的。 ,I# X[^/  
   N]qX^RSb  
   sRECT.Right = -1   '用于获得当前设置值 |_7nvck  
   iFrames = okSetTargetRect(hBoard, BUFFER, sRECT) ;/.ZjTRw  
   Debug.Print sRECT.Left, sRECT.Right, sRECT.Top, sRECT.Bottom CtItzp  
   Debug.Print okSetCaptureParam(hBoard, CAPTURE_BUFBLOCKSIZE, -1)  'FrameW + FrameH * &H10000 g!%C_AI   
   sRECT.Left = 0 9*wS}A&Jh  
   sRECT.Top = 0 57W4E{A  
   sRECT.Right = sRECT.Left + FrameW lB_&Lq 8G  
   sRECT.Bottom = sRECT.Top + FrameH * 2 H3< `  
   iFrames = okSetTargetRect(hBoard, BUFFER, sRECT) e}e|??'(\  
   Q?]307g7  
   sRECT.Right = -1   '检查新设置值 Gc6`]7 s  
   iFrames = okSetTargetRect(hBoard, BUFFER, sRECT) #SWL$Vm>  
   Debug.Print sRECT.Left, sRECT.Right, sRECT.Top, sRECT.Bottom 2pa: 3O  
   Debug.Print Hex(okSetCaptureParam(hBoard, CAPTURE_BUFBLOCKSIZE, -1)) DSiI%_[Ud  
   A#t#c*  
   If TESTSignal = False Then cEzWIS?pp\  
      'ExitGrabber =fy~-FN_  
   End If cu&td g^q  
   1QkAFSl3  
   96M?tTa  
   T 9lk&7W  
   '设为实时采集状态 ^3`CP4DT  
   'iFrames = okCaptureActive(hBoard, BUFFER, 0&) [;O 6)W  
   :$eg{IXC"  
   7/^`y')  
   '单帧采集 'uAH, .B  
   'okWaitSignalEvent hBoard, EVENT_FRAMEHEADER, -1 G+Vlaa/7  
   'iFrames = okCaptureSingle(hBoard, BUFFER, 0&) pi`sx[T@{Z  
   okCaptureTo hBoard, BUFFER, 0, 1 'single z=q   
   'Do While okGetCaptureStatus(hBoard, False) <> 0 ~]t/|xe p  
   '   Sleep 20 #IH7WaN  
   'Loop >9KQWeD  
   okGetCaptureStatus hBoard, True eLC}h %  
   MoveMemory pFRAME(1, 1), ByVal mBufferAddr, pFrameSize PP{2{  
   '写入768*576测试图象 h|z{ (v  
   ArrayToBMP TmpBMP Zr!he$8(2  
   O}VI8OB(&  
   '打开数据库 GMLDmTV  
   Set conn = New ADODB.Connection er G@8CG  
   conn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;" & _ 'J*)o<%  
      "Persist Security Info=False;Data Source=" & "c:\train\train.mdb" & _ GS1Vcav <  
      "; Mode=Read|Write" CH h]v.V  
   conn.Open tTa" JXG  
   OG}auM4  
   frmRecord.Picture1.Picture = LoadPicture(TmpBMP) /y2upu*!  
   frmRecord.Visible = True X[pk9mh a  
   frmQuery.Visible = True G}.t!"  
   Load frmReceiveFromComm \g|u|Y.2[  
   p_z_d6?  
   '调试参数 &j2fh!\4  
   If InStr(UCase(Command()), "/CAPTURE") > 0 Then 9D 2B8t"a  
     SignalBox.Visible = True l+$ e|F  
   End If b.Wf*I?  
   If InStr(UCase(Command()), "/COMM") > 0 Then -.#He  
     frmReceiveFromComm.Visible = True .^]=h#[e  
   End If ?9<byEO%M  
Id->F0x0  
End Sub WHh=ht s\  
C/nzlp~  
Sub ExitGrabber() iM'{,~8R5  
  '关闭数据库 n|,kL!++.  
  '关闭采集卡 -t28"jyj  
  mStatus = VirtualFree(ByVal hMEM, hMemSize, MEM_DECOMMIT) 3PS( 1  
  mStatus = VirtualFree(ByVal hMEM, 0&, MEM_RELEASE) =l&A9 >\  
  mStatus = VirtualFree(ByVal hMemWork, hMemWorkSize, MEM_DECOMMIT) RJMrSz$  
  mStatus = VirtualFree(ByVal hMemWork, 0&, MEM_RELEASE) XsE] Z4  
  okStopCapture hBoard E2f9J{ Ki=  
  okCloseBoard hBoard gm;6v30e  
  CloseHandle hFile 'MEO?]Tf.^  
  Close #hBCFile bY6y)l  
  conn.Close /*B^@G|]'  
  End k:D;C3vJd  
End Sub Q{9#Am^6w  
+/idq  
Function ArrayToBMP(ByVal File As String) ==d@0`  
Dim BytesWrite As Long oe1Dm   
U?dd+2^};t  
hTmpFile = CreateFile(File, GENERIC_READ Or GENERIC_WRITE, 0&, 0&, _ Yjo$^q  
  CREATE_ALWAYS, 0&, 0&) !M]_CPh]  
gwFHp .mE  
If hTmpFile = 0 Then +f)Nf) \q  
   ArrayToBMP = False h#p1wK;N  
   Exit Function jtWI@04o09  
End If ;dq AmBG{8  
!Pmv  
SetFilePointer hTmpFile, 0&, 0&, FILE_BEGIN x@EEMO1_"  
WriteFile hTmpFile, BMPHeader, 2&, BytesWrite, ByVal 0& =1D* JU  
SetFilePointer hTmpFile, 2&, 0&, FILE_BEGIN |Tz/9t  
WriteFile hTmpFile, BMPHeader.FileLength, Len(BMPHeader) - 2, BytesWrite, ByVal 0& \qPgQsy4  
u#tLY/KA  
SetFilePointer hTmpFile, Len(BMPHeader), 0&, FILE_BEGIN G ~Oj}rn  
WriteFile hTmpFile, pFRAME(1, 1), pFrameSize, BytesWrite, ByVal 0& ?cQ  
S9Kay'.aJ(  
If BytesWrite < pFrameSize Then ,~@0IKIA Q  
  ArrayToBMP = False gHS;RF9  
End If 7X|M\WUq  
c" mRMDg%  
CloseHandle hTmpFile -QaS/WO_  
UYu 54`'kg  
End Function 0q%=Vs~@g  
Vab+58s5  
Function ArrayToBMP1(ByVal File As String) HRF4 Ro  
LGb.>O^  
Dim BytesWrite As Long v5i?4?-Z  
/?b<}am  
hTmpFile = CreateFile(File, GENERIC_READ Or GENERIC_WRITE, FILE_SHARE_READ Or FILE_SHARE_WRITE, 0&, _ wg? :jK  
  CREATE_ALWAYS, 0&, 0&) ,^JP0Vc*  
Q^q G=  
If hTmpFile = 0 Then Z4#lZS`'A  
   ArrayToBMP1 = False >j]*=&,7  
   Exit Function @21G[!%J  
End If #vN\]e  
%;,D:Tv=&  
SetFilePointer hTmpFile, 0&, 0&, FILE_BEGIN GnbXS>  
WriteFile hTmpFile, BMP1, 2&, BytesWrite, ByVal 0& oh{!u!L`]  
Q!DQ!;Br6  
SetFilePointer hTmpFile, 2&, 0&, FILE_BEGIN w}Q|*!?_  
WriteFile hTmpFile, BMP1.FileLength, Len(BMP1) - 2, BytesWrite, ByVal 0& ~5aq.hF1,A  
n*\AB=|X  
SetFilePointer hTmpFile, Len(BMP1), 0&, FILE_BEGIN xe)< )y  
WriteFile hTmpFile, pBuffer(1), pBufferSize, BytesWrite, ByVal 0& =Ewa}$-  
c9e  }P  
If BytesWrite < pBufferSize Then #+Lo&%p#3  
  ArrayToBMP1 = False ldJ eja~Xl  
End If 7QiJ1P.z  
1a {~B#  
CloseHandle hTmpFile 1KxtHLLU  
H9)$ #r6i  
End Function 3mWd?!+m=  
=U3,P%  
'使用该过程建立的文件要求在用后关闭 A{hwT,zV:  
Public Function ArrayToBMP2(File As String) As Boolean 7Kx3G{5ja  
^=)? a;V  
Dim BytesWrite As Long >M7e'}0 ;  
)i; y4S  
ArrayToBMP2 = True `m5cU*@D  
Hl&]r'bK  
hTmpFile = CreateFile(File, GENERIC_READ Or GENERIC_WRITE, FILE_SHARE_READ Or FILE_SHARE_WRITE, 0&, _ 9\W~5J<7  
  CREATE_ALWAYS, FILE_ATTRIBUTE_TEMPORARY, 0&) D]+tr%  
i>bFQ1Rdx  
If hTmpFile = 0 Then "HR &Rf k  
   ArrayToBMP2 = False ;D_6u(IC4:  
   Exit Function S\<]|tM:x  
End If 7M: 0%n$  
8a{FxCBw  
SetFilePointer hTmpFile, 0&, 0&, FILE_BEGIN ;F@dN,Y  
WriteFile hTmpFile, BMPHeader, 2, BytesWrite, ByVal 0& VHsNz WI  
k07JMS?  
SetFilePointer hTmpFile, 2&, 0&, FILE_BEGIN &o/&T{t}  
WriteFile hTmpFile, BMPHeader.FileLength, Len(BMPHeader) - 2, BytesWrite, ByVal 0& &,':@OQ  
Rs; ,_  
SetFilePointer hTmpFile, Len(BMPHeader), 0&, FILE_BEGIN F]Zg9c{#  
WriteFile hTmpFile, pFRAME(1, 1), pFrameSize, BytesWrite, ByVal 0& hB:R8Y^?H  
Q!> 8E4Z  
If BytesWrite < pFrameSize Then x@ bZ((w  
  ArrayToBMP2 = False Jrlc% ,pZ  
End If >u5}5O P7  
F' ZLN]"{  
CloseHandle hTmpFile whP>'9t.w  
6 USet`#  
End Function 5v8&C2Jy@  
Xmy(pV!PF  
Private Function TESTSignal() As Boolean 9s)YPlDz  
Dim extsign As Long, videotype As Long, scanlines As Long, fieldfrq As Long (mHFyEG  
d87pQ3e:&  
extsign = okGetSignalParam(hBoard, SIGNAL_VIDEOEXIST) B\bIMjX V  
hIa@JEIt  
If extsign = 1 Then D@H'8C\  
   TESTSignal = True 9;;1 "^4/  
Else DSix(bs9  
    If extsign = 0 Then *>.~f<V  
        MsgBox "无视频输入信号,检查摄像机电源!", vbOKOnly ->vfQwBFd  
        TESTSignal = False  6<A\U/  
        Exit Function 'w.:I TJf  
    End If aisX56Lc  
End If w&;\}IS  
}vO^%Gd  
'测试视频输入类型 ?,|_<'$4T  
'video type /B!"\0G/,  
okWaitSignalEvent hBoard, EVENT_ODDFIELD, 40 5}e-~-  
videotype = okGetSignalParam(hBoard, SIGNAL_VIDEOTYPE) Zl"h-~31  
If videotype = 1 Then nLkC-+$tM  
        '"隔行信号(Interlaced)" K)GC&%_$O  
Else iXC/? EK4  
   If videotype = 0 Then ?|^1-5l3  
       '"逐行信号(Non-interlaced)" o <LA2 q`T  
   Else {Z;W|w1t  
     If videotype = -1 Then (JFa  
       ' "不支持" _p{ag 1gP  
     End If +7+ VbsFG  
   End If hmkcW r`  
End If T$%u=$E%F  
d QA J`9B  
'测试垂直扫描线数 FQi"OZHq  
'video scanlines ?A Y596  
scanlines = -1 +u _mT$|T  
scanlines = okGetSignalParam(hBoard, SIGNAL_SCANLINES) e,I-u'mLQs  
    If scanlines = -1 Then _*Vq1D]C  
        ' "不支持" BU:s&+LYUv  
    Else M 0->  
        'Trim(Str(ScanLines)) + " 行数/幅" vzaxi;S<  
    End If L~ V 63K  
ik~hL/JD\  
'测试帧频 s4SR6hBO  
'video field frequency h bj^!0m  
    fieldfrq = okGetSignalParam(hBoard, SIGNAL_FIELDFREQ) %{/0 K<M  
    If fieldfrq = -1 Then UeE& 8{=d  
        'lblSignal(8) = "不支持" Uk ?V7 ?&  
    Else =]7|*-  
        'lblSignal(8) = Trim(Str(FieldFRQ)) + " 场数/秒" 7K9+7I&C  
    End If c#9 zw[y-L  
End Function wr*A %:  
`Y.RAw5LrE  
cJ:BEe  
Sub PicIdentify() Q}]:lmqH  
'本程序完成从文件中按顺序读出一幅图像并完成图像识别 u4o%qK  
'根据固定位置判断透过车皮连接处接收的对面的立柱影像。出现立柱后该帧前1-2帧与后1-2帧分别为车号信息与车皮信息 O\OG~`HBN  
'判定标准:如果在立柱位置上有明显的模式反差,则视为车皮之间的间隔 ) !ZA.sx  
'方法:对立柱标志区进行平均值二值化,面积为32*40,亮区(255)与暗区(0)的亮度平均值理论差大于200倍,实际差值应不小于100倍 wlKpHd*  
C bG"8F|4  
  Dim fPTR As Long, cFrame As Long hFa\x5I5  
  Dim i As Long, j As Integer, pTotal As Long, pAV As Integer \{?v|%n=/i  
     L0|Vc9  
/]]\jj#^  
cFrame = 0 & A9psc(,&  
ZH:#~Zyj  
*Gu Cv3|  
Do While cFrame < tFrames Q+G=f  
   Jb$PlOQ  
  fStatus = SetFilePointer(hFile, cFrame * pFrameSize, 0&, FILE_BEGIN) 3SQ 5C' E  
  fStatus = ReadFile(hFile, ByVal hMEM, ByVal pFrameSize, bytesRW, ByVal 0&) iO#H_&L.p  
  MoveMemory pFRAME(1, 1), ByVal hMEM, pFrameSize x)#k$ QU  
    wSV[nK  
  frmRecord.RText.Text = Str(cFrame) biGaP#"0  
  frmRecord.RText.Refresh U$VTk  
       :'GTCo$3  
  If CheckMark = True Then ?h>mrj  
   ArrayToBMP TmpBMP |c8p{)  
   frmRecord.Picture1.Picture = LoadPicture(TmpBMP)  =sG(l  
   frmRecord.RText.Text = "第" & Str(cFrame) & "帧" E_?3<)l)RI  
   u[2R>=  
   DrawSlice * JO"8iLw  
   7F?^gMi  
   'i = MsgBox("检测到立柱:第" & Str(cFrame) & "帧", vbYesNo) !^q<)!9<EO  
   'If i = vbNo Then 2%vwC]A  
   '  Exit Do RWTv,pLK  
   'End If 9FV#@uA}D  
   'cFrame = cFrame + 1 "hog A5=  
   /q='~t  
  End If dJNY uTZ'  
  DoEvents aDza"Ln  
  cFrame = cFrame + 1  Mw'd<{  
Loop >&?wo{b  
End Sub )IZ$R*Y{  
: Np&G4IM>  
WKxJ`r\  
Function CheckMark(Optional iBlk As Integer = 30, Optional iWhite As Integer = 230) As Boolean !;CY @=  
=NJb9S&8A  
'如标志区模式反差存在则为TRUE,否则返回FALSE $BH0W{S  
shn`>=0.&  
Dim i As Integer, j As Integer, mTotal As Long, mAV As Single, mTop As Long, mBot As Long @292;qi  
CheckMark = True L/nz95  
   5+%BZ  
'复制标志区 LZ&CGV"Z-  
For i = 1 To mkH L1)?5D  
   MoveMemory MKpilar((i - 1) * PilarW + 1), pFRAME(PilarX, PilarY + i), PilarW m/Yi;>I(  
Next i =K8`[iH  
L?KEe>;r  
For j = 1 To PilarW * PilarH / 2 GUat~[lUrj  
   mTop = mTop + MKpilar(j) |7%$+g  
Next j , {z$M  
ew?UHV  
For j = PilarW * PilarH / 2 + 1 To PilarW * PilarH >47,Hq:2  
   mBot = mBot + MKpilar(j) FIU( 2  
Next j  NX)7g}S  
by6E "7%  
mTop = mTop / PilarW / PilarH * 2 9M01}  
mBot = mBot / PilarW / PilarH * 2 qLYv=h$,  
NqqLRgMOR'  
mAV = (mTop + mBot) / 2 + (mBot - mTop) / 4 '标志区平均亮度 kV6>O C&^  
9lTA/-  
'平均值极值化 wm2Q(l*HH  
  For j = 1 To PilarH * PilarW ~sSB.g  
    MKpilar(j) = IIf(MKpilar(j) > mAV, 255, 0) MiOSSl};  
  Next j 5W<BEcV\  
   :sT<<LtI-  
mTop = 0: mBot = 0 e4CG=K3s  
For j = 1 To PilarH * PilarW / 2 =t)eT0  
  mTop = mTop + MKpilar(j) o'Tqqrr  
Next j e1&c_"TOih  
!2&h=;i~V  
For j = PilarH * PilarW / 2 + 1 To PilarH * PilarW mg >oB/,'Z  
  mBot = mBot + MKpilar(j) , st4K;-  
Next j I8^z\ef&  
&Vgjd>  
u> >t"w  
  mTop = mTop / PilarH / PilarW * 3 8-8= \  
  mBot = mBot / PilarH / PilarW * 3 \UB<'~z6!  
   d G:=tf&1R  
L**!$k"{5  
If mBot > iWhite And mTop < iBlk Then B)^]V<l(w  
  CheckMark = True |Ca$>]?  
Else V i#(x9.  
  CheckMark = False }3[ [ONA  
End If 2?-}(F;Z  
End Function v/yk T9@;  
R4V>_\D/  
Sub Capture1Frame() A ;kAAM  
   okCaptureTo hBoard, BUFFER, 0, 1 'single $ HUCp9  
   okGetCaptureStatus hBoard, True M5)6|T  
   MoveMemory pFRAME(1, 1), ByVal mBufferAddr, pFrameSize >!WJ{M0  
End Sub iQa Q"s  
pm)A*][s  
pM VeUK?  
Sub CopyMark(iBlk As Integer, iWhite As Integer) 7^Onq0ym T  
'复制标志区并返回标志区暗区与亮区的亮度平均值 Pi*,&D>{7  
Dim i As Integer, j As Integer, mTotal As Long, mAV As Single, mTop As Long, mBot As Long, mMid As Single, bsTotal As Long $g|g}>Sc  
   ]Dx?HBM"DC  
'复制标志区 lBh {8a|2W  
For i = 1 To mkH &]z2=\^e  
   MoveMemory MKpilar((i - 1) * PilarW + 1), pFRAME(PilarX, PilarY + i), PilarW RI*Q-n{  
Next i OZt'ovY  
V<nzThM\  
For j = 1 To mkW * mkH / 2 3U:0,-j"  
   mTotal = mTotal + MKpilar(j) ;#xhlR* ~  
Next j R!$j_H  
SxT:k,ji  
iBlk = mTotal / (mkW * mkH / 2)  '标志区上部白区平均亮度 n}MG  
pbm4C0W}  
mTotal = 0 SZwfYY!ft0  
For j = mkW * mkH / 2 + 1 To mkW * mkH 'w9tZO\2  
   mTotal = mTotal + MKpilar(j) K{|;'N-1  
Next j c yN_Sg  
xOu cZ+  
iWhite = mTotal / (mkW * mkH / 2) '标志区下部黑区平均亮度 kP;Rts8JD  
>) S a#w;  
'背景亮度 VJr?` eY4  
  MoveMemory BsLine(1), pFRAME(1, 1), 4 * FrameW D]oS R7h  
  For i = 1 To 4 * FrameW @ $(4;ar  
    bsTotal = bsTotal + BsLine(i) yobi$mnsy!  
  Next i 'm/b+9?.  
  bsAV = bsTotal / FrameW / 4 hZzsZQ`  
iwmXgsRa9}  
End Sub j@9nX4Z  
i1G}m Yz_  
OB$A"XGAEV  
Sub AdjIMGbright(Optional bInit As Boolean = True) H uE*jQ  
UJ6WrO5#kB  
  '自动调节亮度与对比度,此时处于无车辆状态(白天特别高,而夜间特别暗) [9+M/O|Vs  
  '图像平均亮度白天不高于200(当车辆通过时可能会下降到100左右),不低于100 `C!Pe84(  
  '            夜间不高于80(过高时通常是由于雪花噪声引起),但立柱不低于30 \*_a#4a  
     6'wP?=  
  Dim bsTotal As Long, i As Integer, iBlack As Integer, iBright As Integer 3rR(>}:[V  
   ! B)Em  
  '按标准亮度与对比度采集一帧,确定背景亮度 }){h Qt7  
  currentContr = 128   '初始对比度 n!tCz<v  
  currentBr = 128   '初始亮度 Bq@G@Qi  
  okSetVideoParam hBoard, VIDEO_BRIGHTNESS, currentBr '亮度 lXz<jt@5  
  okSetVideoParam hBoard, VIDEO_CONTRAST, currentContr '对比度 )(!vd!p5  
  DoEvents bt j\v[D  
  Capture1Frame D %5 0  
  '获得图像上缘4行象素 }:hdAZ+z  
  MoveMemory BsLine(1), pFRAME(1, 1), 4 * FrameW msoE8YK&tg  
  CopyMark iBlack, iBright   '图像标志区亮度 +JQN=nTA  
  For i = 1 To 4 * FrameW 45-pJf8F  
    bsTotal = bsTotal + BsLine(i) ^Y'>3o21f  
  Next i ,[ Ytl  
  bsAV = bsTotal / FrameW / 4    '图像上缘基线亮度 a<\m` Es=  
   ;wvV hQ  
  Select Case bsAV Z)?"pBv'  
     Case 0 To 60    '夜间通过灯光照明,完全没有背景 p(x[zn+%Y  
       currentBr = 150 ,g\.C+.S  
       currentContr = 60 TUk1h\.q  
     Case 61 To 80   '有可见背景 '-v~HwC+/T  
       currentBr = 140 kF\ QO [  
       currentContr = 70 ZGp8$Y>r  
     Case 81 To 100  '有清晰背景 fk",YtS*  
       currentBr = 128 V25u'.'v  
       currentContr = 80 \j K?R 6  
     Case 100 To 150  '有明亮背景 H3b@;&`&  
       currentBr = 140                '5:30-6:00钟实测数据 C(gH}N4  
       currentContr = 50 8H{@0_M  
     Case 151 To 180 \{~x<<qFd  
       currentBr = 130 .eeM&n;c  
       currentContr = 60 i.byHz? /  
     Case 181 To 220  '背景全为白色 a{u)~:/G  
       currentBr = 110 +5T0]!  
       currentContr = 130 ZMx<:0ai  
     Case 221 To 255  '背景全为白色 LL,~&5{  
       currentBr = 100 >)VrbPRuA  
       currentContr = 100 7qh_URt@  
  End Select oHa6fi  
   da 2BQ;  
  Select Case (iBlack + iBright) / 2   '图像反射光强度修正 * |,V$  
        Case 100 To 150 K, 35*  
          currentBr = currentBr - 10 g\jdR_/  
        Case 151 To 255 4QDF%#~q^  
          currentBr = currentBr - 20 ("9)=x*5  
  End Select }S42.f.p  
   K): )bL(B  
  okSetVideoParam hBoard, VIDEO_BRIGHTNESS, currentBr '亮度 Wxg|jP$~   
  okSetVideoParam hBoard, VIDEO_CONTRAST, currentContr '对比度 khEHMvVH  
End Sub lR-4"/1|y  
0c`wJktWK  
Sub CopyCorner(rowID As Integer, diffL As Integer, diffR As Integer) W~7q&||;C  
    Dim i As Integer, j As Integer, L1 As Long, L2 As Long, R1 As Long, R2 As Long r<b g->lX  
     Z&}94  
    For i = 1 To 8 Y*7.3 +#  
      MoveMemory LeftBK((i - 1) * 128 + 1, rowID), pFRAME(1, i), 128& @w|~:>/g  
      MoveMemory RightBK((i - 1) * 128 + 1, rowID), pFRAME(640, i), 128& ^,`yt^^A  
    Next i / ?Q@Pn  
     #U6Wv1H{Lp  
    For j = 1 To 1024 *J%+zH  
      L1 = L1 + LeftBK(j, 0) Aal yEn&>  
      L2 = L2 + LeftBK(j, 1) *.~M#M 9c  
      R1 = R1 + RightBK(j, 0) %_/_klxnO  
      R2 = R2 + RightBK(j, 1) q=6M3OnS>  
    Next j |: EUh  
    diffL = Abs(L1 - L2) / 1024 4l z9z>J.V  
    diffR = Abs(R1 - R2) / 1024 D%BV83S   
End Sub CP={|]>+S  
g4~{#P^i  
Function CheckSlice() As Boolean 5SK.R;mn  
  CopySlice avSL, avSLR, avSLL &Wn!W  
  If Abs(avSL - avSLL) > (Abs(avSLL - avSLR) + 5) * 4 Then A).wjd(_,  
    CheckSlice = True <GR]A|P  
  Else 8cW]jm  
    CheckSlice = False ]p$fEW g  
  End If t(s']r  
End Function @s@r5uR9B  
`@Qq<T}V  
Sub CopySlice(avSL As Integer, avSLR As Integer, avSLL As Integer) rgOB0[  
  Dim i As Long, j As Long, total As Long, totalL As Long, totalR As Long Pu}2%P)p  
  For i = 1 To FrameH ]C'r4Ch^  
    MoveMemory Slice(1, i), pFRAME(sPos, i), sSize <K2 )v~  
    MoveMemory SliceL(1, i), pFRAME(sPosL, i), sSize 0gn r@9,X  
    MoveMemory SliceR(1, i), pFRAME(sPosR, i), sSize ,NVQ C=  
  Next i &0 N 3 p  
  For i = 1 To FrameH ]i{-@Ven  
    For j = 1 To sSize G2em>W_n  
       total = total + Slice(j, i) #&$4tTl  
       totalL = totalL + SliceL(j, i) ;%Z)$+Z_)<  
       totalR = totalR + SliceR(j, i) XLOk+Fn  
    Next j M'[J0*ip  
  Next i LdRLKE<'e  
  avSL = total / FrameH / sSize ThF I=K  
  avSLR = totalR / FrameH / sSize h], _1!0  
  avSLL = totalL / FrameH / sSize Q+#, VuM  
End Sub q`qbaX\J3  
6rR}qV,+{  
Sub DrawSlice() a7M8sZ?"  
   frmRecord.Picture1.Line (sPosL, 0)-(sPosL + sSize, FrameH), RGB(255, 0, 0), B RJSNniYr7  
   frmRecord.Picture1.Line (sPos, 0)-(sPos + sSize, FrameH), RGB(0, 255, 0), B XV!P8n  
   frmRecord.Picture1.Line (sPosR, 0)-(sPosR + sSize, FrameH), RGB(0, 0, 255), B PY) 74sa  
   frmRecord.RText.Text = Str(avSLL) & "/" & Str(avSL) & "/" & Str(avSLR) ! WQEv_G@  
End Sub )C <sj   
Sub DrawMark(pic As Control) $@DXS~UQA  
   Dim i As Long, j As Long hL&z"_`  
   pic.Line (PilarX, FrameH - PilarY)-(PilarX + PilarW, FrameH - PilarY - PilarH / 2), RGB(255, 0, 0), B ^#_@Kq%th  
   pic.Line (PilarX, FrameH - PilarY - PilarH / 2 - 1)-(PilarX + PilarW, FrameH - PilarY - PilarH), RGB(0, 0, 255), B U?.VY@  
   For i = 1 To PilarH 3ne=7Mj  
     For j = 1 To PilarW 38JvJR yK}  
       pic.PSet (PilarX + PilarW + 10 + j, FrameH - PilarY - i), RGB(MKpilar((i - 1) * PilarW + j), 0, 0) * 78TT \q<  
     Next j AC 3 ;i  
   Next i J/)Q{*`_  
End Sub m:K/ )v*  
m}8c.OJ>K`  
Function avIMG() As Integer 1vQ*Br  
  Dim i As Long, j As Long, totalIMG As Long HhIa=,VY  
  MoveMemory pBuffer(1), pFRAME(1, 1), pFrameSize ,.DU)Wi?}  
  For i = 1 To pFrameSize C/lp Se  
    totalIMG = totalIMG + pBuffer(i) M|e@N  
  Next i CbwQ'c$}  
  avIMG = totalIMG / pFrameSize R{Cj]: Ky  
End Function edbzg #wy  
!v$hqNt7  
Function avRegion(barCol As Integer, barWidth As Integer) As Integer a N_M  
  Dim i As Long, j As Long, totalIMG As Long Y2Y/laD  
  For i = 1 To FrameH V>z8 *28S.  
     MoveMemory pBuffer((i - 1) * barWidth + 1), pFRAME(barCol, i), barWidth QDLtilf :  
  Next i W${0#qq  
  For i = 1 To FrameH * barWidth ^gD&NbP8  
    totalIMG = totalIMG + pBuffer(i) _jP]ifu`  
  Next i ^F_c'  
  avRegion = totalIMG / pFrameSize nww,y  
End Function d+z8^$z"  
杺栫杣杊椌柮栬,䒴蓉艿芖。
伍胥之 离线
级别: 军区司令员

显示用户信息 
91楼  发表于: 2015-09-06   
'VB 6.0 版 NouT~K`'  
'这不是我写的,它更强悍了。因为可以直接读写物理扇区(CHS),而不是逻辑扇区。 JrS|Ib)6  
V\4'Hd  
Private Declare Function CreateFile Lib "kernel32" Alias "CreateFileA" (ByVal lpFileName As String, ByVal dwDesiredAccess As Long, ByVal dwShareMode As Long, lpSecurityAttributes As Long, ByVal dwCreationDisposition As Long, ByVal dwFlagsAndAttributes As Long, ByVal hTemplateFile As Long) As Long W!htCwnkF  
Private Declare Function CloseHandle Lib "kernel32" (ByVal hObject As Long) As Long q,kdr)-  
Private Declare Function ReadFile Lib "kernel32" (ByVal hFile As Long, lpBuffer As Any, ByVal nNumberOfBytesToRead As Long, lpNumberOfBytesRead As Long, ByVal lpOverlapped As Long) As Long '//declare has changed o5A@U0c_  
Private Declare Function WriteFile Lib "kernel32" (ByVal hFile As Long, lpBuffer As Any, ByVal nNumberOfBytesToWrite As Long, lpNumberOfBytesWritten As Long, ByVal lpOverlapped As Long) As Long '//declare has changed 9Yd<_B#  
Private Declare Function SetFilePointer Lib "kernel32" (ByVal hFile As Long, ByVal lDistanceToMove As Long, lpDistanceToMoveHigh As Long, ByVal dwMoveMethod As Long) As Long F d *p3a  
'如果用绝对扇区写,那么文件的建立打开都不能用VB的 open 语句了。 b m`x  
1;S@XC>  
0<nk>o  
Private Const GENERIC_READ = &H80000000 O*T(aM3r  
Private Const GENERIC_WRITE = &H40000000 s}X2*o`,  
E ekX|*  
Private Const FILE_SHARE_READ = &H1 +>Y2luR1  
Private Const FILE_SHARE_WRITE = &H2 Me2%X>;  
Private Const OPEN_EXISTING = 3 ZC@Pfba[`  
'\=aSZVO  
Private Const INVALID_HANDLE_VALUE = -1 ,n^{!^JW  
!-p5j3A4L  
'//file seek ~xkcQ{  
Private Const FILE_BEGIN = 0 qgDd^0  
Private Const FILE_CURRENT = 1 CKy' 8I9  
Private Const FILE_END = 2 UJ n3sZ<}  
+<&_1% 5+  
Private Const ERROR_SUCCESS = 0& lfK sqe"  
`Z0FQ( r_  
'//device io control 9K~X}]u  
Private Declare Function DeviceIoControl Lib "kernel32" (ByVal hDevice As Long, ByVal dwIoControlCode As Long, lpInBuffer As Any, ByVal nInBufferSize As Long, lpOutBuffer As Any, ByVal nOutBufferSize As Long, lpBytesReturned As Long, ByVal lpOverlapped As Long) As Long AwUcU;"9>  
}~y i6!w'  
Private Const IOCTL_DISK_GET_DRIVE_GEOMETRY As Long = &H70000   '458752 Qne@Vf kA  
Private Const IOCTL_STORAGE_GET_MEDIA_TYPES_EX  As Long = &H2D0C04 RMDzPda.  
Private Const IOCTL_DISK_FORMAT_TRACKS As Long = &H7C018 "V}WV!w  
Private Const FSCTL_LOCK_VOLUME As Long = &H90018 o4\\q66K  
Private Const FSCTL_UNLOCK_VOLUME As Long = &H9001C i=nd][1n  
Private Const FSCTL_DISMOUNT_VOLUME As Long = &H90020 F7x]BeTM  
Private Const FSCTL_GET_VOLUME_BITMAP = &H9006F _-$(=`8|<{  
Wv8?G~>  
'//type <0T|RhbY   
Private Type LARGE_INTEGER 2old})CLJ  
    lowpart As Long u {o3  
    highpart As Long PFu{OJg&  
End Type /&_$+Iun  
Ja"?Pb  
Private Enum MEDIA_TYPE xN'$ Yh  
    Unknown ) pbsvR_  
    F5_1Pt2_512 +9<"Y6  
    F3_1Pt44_512 /R!:ll2  
    F3_2Pt88_512 +d>?aqI\A  
    F3_20Pt8_512 ~5q1zr)E  
    F3_720_512 Uyj6Ij_Pj)  
    F5_360_512 WB K6Ug  
    F5_320_512 F}wy 7s2i  
    F5_320_1024 n#|ljC  
    F5_180_512 kZ>_m &g  
    F5_160_512 pE,2pT2>  
    RemovableMedia gE\&[;)DB  
    FixedMedia [+ K jun_  
End Enum 9$$dSN\&  
of659~EIW  
Private Type DISK_GEOMETRY C6Lc   
    Cylinders           As LARGE_INTEGER lK 5@qG#  
    MediaType           As MEDIA_TYPE 9sJ=Nldq  
    TracksPerCylinder   As Long e];lDa#4-Y  
    SectorsPerTrack     As Long g]vo."}5E  
    BytesPerSector      As Long &N:Iirg  
End Type J;|a)Nw  
e#!%:M;4 P  
'//private vars kUGOkSP8[  
Private hDisk           As Long             'disk handle I() =Ufs5z  
Private lpGeometry      As DISK_GEOMETRY    'disk info :m]H?vq] \  
Private lBufferSize     As Long             'the buffer size of read/write ^CO{86V  
#oW" 3L{,  
Public Function OpenDisk(ByVal FileName As String) As Boolean ,)@njC?J  
'// 打开磁盘 -Aaim`06bv  
    hDisk = CreateFile(FileName, _ w;W# 'pE  
                        GENERIC_READ Or GENERIC_WRITE, _ 3:C)1q  
                        FILE_SHARE_READ Or FILE_SHARE_WRITE, _ N?`V;`[  
                        ByVal 0&, _ G5vp(%j  
                        OPEN_EXISTING, _ ^m~&2l\N=  
                        0, _ ct`j7[  
                        0) 4A"3C  
    OpenDisk = Not (hDisk = INVALID_HANDLE_VALUE) {7'Wi$^F  
End Function >mJH@,F:  
> ~:Md  
Public Function CloseDisk() As Boolean =h0vdi%{  
'//关闭磁盘 jVi> 9[rz  
    CloseDisk = CloseHandle(hDisk) z?dd5.k  
End Function ,cE yV74  
 3>M%?d  
Public Function GetDiskGeometry() As Boolean `%;Hj _X}  
'//获取磁盘参数 _t&` T  
    Dim dwOutBytes      As Long B>.x@(}V~  
    Dim bResult         As Boolean & 6'Rc#\P  
     =gNPS 0H  
    bResult = DeviceIoControl(hDisk, _ M#n lKj<  
                                IOCTL_DISK_GET_DRIVE_GEOMETRY, _ 2[j(C  
                                ByVal 0&, 0, _ o=J-Ju  
                                lpGeometry, Len(lpGeometry), _ e`n+U-)z  
                                dwOutBytes, _ U}@xMt8@l  
                                ByVal 0&) 6~c#G{kc  
     'b)qP|  
    If bResult Then lBufferSize = lpGeometry.BytesPerSector * lpGeometry.SectorsPerTrack 5.1z9[z  
    GetDiskGeometry = bResult 7zM9K+3L  
End Function v;soJlxF~  
z_93j3 #  
Public Sub GetDiskInfo(MediaType As Long, _ ~jC+6v  
                        Cylinders As Long, _ }D>#AFs6#  
                        TracksPerCylinder As Long, _ =' uePM")  
                        SectorsPerTrack As Long, _ ysapvQN_6  
                        BytesPerSector As Long) (qglD  
'//返回磁盘的参数 @,Z0u2WLl6  
    MediaType = lpGeometry.MediaType )Zf1%h~0r  
    Cylinders = lpGeometry.Cylinders.lowpart .DNPL5[v  
    TracksPerCylinder = lpGeometry.TracksPerCylinder L"bZ~'y  
    SectorsPerTrack = lpGeometry.SectorsPerTrack plL|Ubn  
    BytesPerSector = lpGeometry.BytesPerSector b:Z&;A|"{  
&^2SdF  
End Sub NNt  n  
3P@D!l V&K  
Public Property Get BufferSize() As Long c+ D  <  
'//返回每次读/写的缓冲大小 C RBj>  
    BufferSize = lBufferSize  bTU[E  
End Property \?SvO  
w=pr?jt1:  
Lq|>n Y  
Public Function LockVolume() As Boolean is }>+&_  
'// 将卷锁定 Q2/65$ nW  
    Dim dwOutBytes  As Long ] # VHx  
    Dim bResult     As Boolean Hz\@#   
     n{u\t+f  
    bResult = DeviceIoControl(hDisk, _ .7]P-]uOZ  
                                FSCTL_LOCK_VOLUME, _ mG"xo^1_H  
                                ByVal 0&, 0, _ d~1uK-L]*  
                                ByVal 0&, 0, _ z? Iu;X  
                                dwOutBytes, _ ! FVD_8  
                                ByVal 0&) j ];#=+  
    LockVolume = bResult qP[_!C.  
End Function Fs}B\R/J  
zr ~4@JTS  
U:AB%gr[  
Public Function UnlockVolume() As Boolean :x,dYJm  
'// 将卷解锁 1@t8i?:h  
    Dim dwOutBytes As Long lSfPOx;*  
    Dim bResult As Boolean FKtG  
     V~_6t{L  
    bResult = DeviceIoControl(hDisk, _ }S"qU]>8a  
                                FSCTL_UNLOCK_VOLUME, _ !a4`SjOgu  
                                ByVal 0&, 0, _ sa}.o ZpQ  
                                ByVal 0&, 0, _ Xz?7x0)Z  
                                dwOutBytes, _ vL#I+_ 2  
                                ByVal 0&) y*Gq VA[  
    UnlockVolume = bResult ~OMo$qt`lP  
End Function ZcHd.1fXh  
: IO"' b  
(M?VB*sm0  
Public Function DismountVolume() As Boolean },=ORIB B:  
'// 将卷卸下,使系统重新辨识磁盘,等效于重新插盘 x"7PnN|~  
    Dim dwOutBytes As Long z57q |  
    Dim bResult As Boolean J8B0H1  
     = Rn  
    bResult = DeviceIoControl(hDisk, _ >]HvXEdNZ|  
                                FSCTL_DISMOUNT_VOLUME, _ UGxF}Q  
                                ByVal 0&, 0, _ ,V9 r2QY  
                                ByVal 0&, 0, _ $azK M,<q  
                                dwOutBytes, _ R2==<"gq  
                                ByVal 0&) 33ZHrZ  
    DismountVolume = bResult &lo<sbd.  
End Function '=H3Y_{oO  
>E7s}bL"  
hWiHKR]  
Public Function ReadDisk(ByVal Cylinders As Long, _ B qo#cnlG  
                    ByVal Tracks As Long, _ 4Wu(Tps  
                    db() As Byte) As Boolean BXNC(^  
'//按柱面和磁道来读取磁盘数据 as73/J6  
    Dim iPos    As Long "yK)9F[9Mo  
    Dim lRead   As Long :*vSC:q  
     \qDY0hIv t  
    iPos = Cylinders * Tracks * lBufferSize _H@8qR  
     e#vGrLs.  
    If SeekAbsolute(0, iPos) Then TtrV -X>L  
        ReadDisk = ReadBytes(lBufferSize, db(), lRead) [s[!PlazX  
    End If peew <SX  
End Function 610u!_-  
Y>{%,d#s_  
Public Function WriteDisk(ByVal Cylinders As Long, _ (Z0.H3  
                     ByVal Tracks As Long, _ `46|VQAx  
                     db() As Byte) As Boolean fo=@ X>S  
'//按柱面和磁道来写磁盘数据 iA|n\a~ny,  
    Dim iPos    As Long k$.l^H u  
    Dim lRead   As Long BM9:|}\J65  
     2q UX"a4  
    iPos = Cylinders * Tracks * lBufferSize I* P xQ  
     RT2&^9-  
    If SeekAbsolute(0, iPos) Then T2A74>Nw  
        WriteDisk = WriteBytes(lBufferSize, db()) gW?Hd/  
    End If ac,<+y7A  
End Function R|k!w ]  
r3Kx   
i!G<sfL  
'///////////////////////////////////////////////////////////////////////////////////// rM4Ri}bS  
'//file system T-\q3X|y /  
 T4J WZ  
Private Function SeekAbsolute(ByVal HighPos As Long, ByVal LowPos As Long) As Boolean @nnX{$YX  
'//seek file ?k=)T]-}  
    '//Notice: when you set LowPos=5, the read/write will begin with the 6th(LowPos+1) byte \'X-><1  
    LowPos = SetFilePointer(hDisk, LowPos, HighPos, FILE_BEGIN) "u'dd3!  
    If LowPos = -1 Then sHPlNwyy  
        SeekAbsolute = (Err.LastDllError = ERROR_SUCCESS) t]{, 7.S  
    Else /IG3>|R  
        SeekAbsolute = True 5k c?:U&  
    End If E*yot[kj  
     uF {l`|b'  
End Function _ t.E_K  
[,Y;#;   
=I9hGj6  
Private Function ReadBytes(ByVal ByteCount As Long, ByRef DataBytes() As Byte, ByRef ActuallyReadByte As Long) As Boolean 3*F|`js"  
'//read data to array pf#R]  
    Dim RetVal    As Long Odm1;\=Eg+  
    RetVal = ReadFile(hDisk, DataBytes(0), ByteCount, ActuallyReadByte, 0) ~iIFe+6  
    'ActuallyReadByte =>> if the bytesRead=0 mean EOF ~(L&*/c  
    ReadBytes = Not (RetVal = 0) *o6QBb  
     ]vuxeu[cu,  
End Function S/yBr `  
Bnz}:te}  
Private Function WriteBytes(ByVal ByteCount As Long, ByRef DataBytes() As Byte) As Boolean t Kjk<  
'//write data from array P  V9q=  
    Dim RetVal As Long P@<K&S+f  
    Dim BytesToWrite As Long -j^G4J  
    Dim BytesWritten As Long c],Zw  
     vos-[$  
    RetVal = WriteFile(hDisk, DataBytes(0), ByteCount, BytesWritten, 0) o9v.]tb  
     % C)|fDwN  
    WriteBytes = Not (RetVal = 0) b%X<'8 z9Z  
End Function 3W[Ps?G  
杺栫杣杊椌柮栬,䒴蓉艿芖。
伍胥之 离线
级别: 军区司令员

显示用户信息 
90楼  发表于: 2015-09-05   
//从指定扇区号dwSector开始,写dwLength长度的数据 (#Xgfb"S3  
BOOL WriteDisk( HANDLE hpartition, DWORD dwSector, DWORD dwLength, char* lpBuffer){ W,%qL6qV  
DWORD dwCB; zB "y^g  
LARGE_INTEGER  offset; "9RW<+  
offset.QuadPart  =  UInt32x32To64(dwSector ,  512); i;J*9B _U  
SetFilePointer(hpartition,  offset.LowPart,  &offset.HighPart,  FILE_BEGIN); @ 3b-  
if(!WriteFile(hpartition, lpBuffer, dwLength * 512, &dwCB, NULL)){ hAB:;r XlI  
DWORD error = GetLastError(); ` kZ"5}li  
MessageBox(NULL,"写入文件失败!",NULL,IDOK); _2<k,Dl;RY  
return FALSE; ]2z Gb5s"  
} .Pa6HA !  
return TRUE; WWA!_  
} ?o d*"M  
杺栫杣杊椌柮栬,䒴蓉艿芖。
伍胥之 离线
级别: 军区司令员

显示用户信息 
89楼  发表于: 2015-09-05   
引用
引用第46楼清水于03-03-2011 14:50发表的  : )eWg2w]  
YifTC-Q;  
介个真的看不懂。 i'0ol^~y6  
你说你老啦,喜欢怀旧了,才想起来填坑。 x{{ZV]  
提醒我也想想,是不是也老啦,是不是也有坑没填呢。 R(A"6a8*  
oSoU9_W  
V[">SiOg  
你肯定有许多坑没有填,但是我挖的坑更多,但同是我也在你的某个坑里等你填埋呢!
杺栫杣杊椌柮栬,䒴蓉艿芖。
伍胥之 离线
级别: 军区司令员

显示用户信息 
88楼  发表于: 2015-09-05   
Re:回 38楼(伍胥之) 的帖子
引用
引用第39楼suehan234于01-22-2011 08:00发表的 回 38楼(伍胥之) 的帖子 : T8J[B( )L  
佩服,玩也玩得这么专业! Og<UW^VR  
p" /B3  
24/ ^_Td  
只是票友而已,算不上专业的。
杺栫杣杊椌柮栬,䒴蓉艿芖。
伍胥之 离线
级别: 军区司令员

显示用户信息 
87楼  发表于: 2015-09-05   
引用
引用第25楼猪小秘于01-20-2011 20:51发表的  : Q{+&3KXH  
伍SIR,再次抱拳佩服 J.QFrIB{]+  
R7d4 5Wl  
 ,L}  
小秘倒是好久不见了呢!宝贝几岁了?很健康活泼吧?
杺栫杣杊椌柮栬,䒴蓉艿芖。
伍胥之 离线
级别: 军区司令员

显示用户信息 
86楼  发表于: 2015-09-05   
引用
引用第21楼阿散于06-14-2010 22:33发表的  : #r}O =izi  
引用第19楼伍胥之于06-14-2010 12:33发表的  : _3YuPMaN  
 bK|I  
*Jy'3o  
我平生唯一参加的计算机考试就是职称考试,任选4个模块。 A+&^As2  
/RzL,~]  
我连一级也没有考过。 BB694   
.
$R2iSu{kO  
LzW8)<N  
引用
_Fz]QxO  
矬子里拔将军... jLRh/pbz4  
你们那里的俗语是吧? l$~3_3+  
m ["`Op4  
我们这里说"矮子里拔长脚"..应该是同一个意思... aI l}|n"  
OJGEX}3'  
有趣....各地有表达意思一样却方式不同的俗语.... i0y^b5@MOb  
z Mf .  
\qA g] -  
你的文章写的有脸皮,没屁眼的, ?B"k9+%5ej  
让看客大为不满... qQu}4Ye>  
dC7YVs_,#  
你等着,,估计你以后接到的午夜凶铃就多了... M(a lc9tn  
tJ NJ S  
<n)J~B^  
我到现在也没有接到你的午夜凶铃呢! Oist>A$Z  
杺栫杣杊椌柮栬,䒴蓉艿芖。
伍胥之 离线
级别: 军区司令员

显示用户信息 
85楼  发表于: 2015-09-05   
引用
引用第17楼阿散于06-13-2010 22:29发表的  : RpAqnDX)  
每个人的故事对其他人都是故事, rfgkw  
自己的故事也是其中之一. }Ss]/ _t  
跳出来看, BB?vc( d  
不过是众人中的一个人的故事. 7S_rN!E1i*  
G^`IfF-j  
所以,接着听故事. =z5'A|Wa=,  
5,I|beM  
女人们有兴趣的就等老伍开个新帖或者跟贴, Kyz!YB  
听他痛说恋爱革命历史.... QgZwU$`p0  
mIK-a{?G  
杂家接着听他自学程序员历史, i|]Kw9  
高级程序员考了吗? aL9 yNj}2  
/A8ua=Kn  
7hs1S|  
这个恋爱革命史还是等你痛改前非换个新ID来讲吧! b ?p <y`  
HH-A\#6J  
我什么程度员也没有考过,连大学生的计算机应用等级证明都没有。 .$r=:k_d  
! z^%$;p  
我唯一考过的计算机科目是职称评审时要求有证书,所以我用了半小时考了word, powerpoint,和internet基础。都是小儿科的东东。如果没有用VBA写个Word的宏,我都觉得对不起微软了。 vdn`PS'#  
杺栫杣杊椌柮栬,䒴蓉艿芖。
伍胥之 离线
级别: 军区司令员

显示用户信息 
84楼  发表于: 2015-09-05   
引用
引用第16楼阿平于06-13-2010 22:25发表的  : M_I.Y1|  
哦, 打倒忽悠大家的家伙.      _#UiY ffa*  
IP LKOT~  
^n|yfvR  
阿平姐,这可不是忽悠,我可是认真交待经历呢!
杺栫杣杊椌柮栬,䒴蓉艿芖。
伍胥之 离线
级别: 军区司令员

显示用户信息 
83楼  发表于: 2015-09-05   
引用
引用第10楼卡拉于06-13-2010 21:49发表的  : *8bj3A]vf  
老伍,对不住,我把你原来的英文标题改了,太不吸引人眼球了,有些人还当是英文的都不会去点击。我通篇读了一下,改成了现在的标题。如果你不喜欢,可以改回来。 6~!QibA|P  
2q NA\-0i>  
0!Vza?9  
其实标题没有什么,卡总既然改了就不必再改回了。  [HEljEv  
`SH14A*  
主要是当初写的时候真是顶着锅盖写的。  0"F|)  
Ka_g3  
阿散说得对。我就是把一堆鸡毛蒜皮的小事,用了一个big title.
杺栫杣杊椌柮栬,䒴蓉艿芖。
描述
快速回复

验证问题:
3 * 6 = ? 正确答案:18
按"Ctrl+Enter"直接提交