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

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

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

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

精彩

感动

搞笑

开心

愤怒

无聊

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

显示用户信息 
100楼  发表于: 2021-07-18   
Dim bContinue As Boolean ?<F([ (  
zf8SpQ2~  
Dim regEX As New RegExp >-V632(/{o  
Dim paraCounter As Long  '全局段落计数,仅在主程序中可读写,其它过程函数应为只读 .(/HUQn  
yT:2*sZRc  
Dim LastTitle0String As String, LastTitle0No As Long n><ad*|MX  
Dim LastTitle1String As String, LastTitle1No As Long r?u4[ Oe#  
Dim LastTitle2String As String, LastTitle2No As Long 8Vz!zYl  
Dim LastTitle3String As String, LastTitle3No As Long ,8zJD&HMx  
Dim LastTitle4String As String, LastTitle4No As Long kxJs4BY0  
Dim LastTitle5String As String, LastTitle5No As Long n;Mk\*Cg  
Dim LastTabelString As String, LastTableNo As Long <b'*GB w$  
Dim LastFigureString As String, LastFigureNo As Long 5=*i!c _m  
jvv=  
Dim strSeperator As String VsTgK  
t;Z9p7 rk  
Sub ConvertWidth(fTEXT As String, rText As String) ? #a&eW  
        Selection.Find.ClearFormatting 8N)Lck2PR  
        Selection.Find.Replacement.ClearFormatting )^8[({r~  
        Selection.Find.Wrap = wdFindContinue i\;ZEM{  
        Me.txtStatus.Text = "转换全角数字字母" & fTEXT & "形式为半角" & rText G(?1 Urxi  
        DoEvents #8L: .,AYE  
        Selection.Find.Execute findtext:=fTEXT, replacewith:=rText, Replace:=wdReplaceAll, Forward:=True, Wrap:=wdFindContinue, MatchCase:=True _8r'R  
End Sub +-b'+mF  
!e<5JO;c  
Sub ClearDomain() /t`|3Mw  
        With Selection.Find #)n$Q^9&   
            .ClearFormatting W;8A{3q%N0  
            .Replacement.ClearFormatting 0,-]O=   
            .Wrap = wdFindContinue ^>%.l'1/(  
            Me.txtStatus.Text = "清除所有域代码" iOfO+3'Z_U  
            DoEvents @-K[@e/uwy  
            .Execute findtext:="^d", replacewith:="", Replace:=wdReplaceAll, Forward:=True, Wrap:=wdFindContinue, MatchWildcards:=False !\|  
        End With i+5Qs-dHA  
End Sub %h(%M'm?  
[f\Jcjc  
Private Sub cmdCheck_Click() N?t*4Y  
    bContinue = True :@5{*o  
    Dim NoSeries1(1 To 16) As String <V)z{uK  
    Dim NoSeries2(1 To 16) As String W\-`}{B_/  
    Dim NoSeries5(1 To 16) As String 9BP'[SM%),  
    Dim NoSeriesRM(1 To 16) As String u`wD6&y*  
    Dim paraTotal As Long, ParaText As String 2!LDrvPP  
    Dim ttString As String, ttNo As String D5xQ  
     KaMg [ G  
    Dim ShapeCounter As Long, ShapeHeight As Long, ShapeWidth As Long f"gYX aVF+  
M]X!D7  
    Me.txtStatus.Visible = True ]35`N<Ac  
    Me.lbParaType.Visible = True MB:[: nX  
    Me.cmdCheck.Enabled = False |X*y-d77W  
     X2I_,k'fQ  
     sMAj?]hI$  
     Ge({sy>X  
     CT_tJ  
    Dim ParaType As String, rText As String iz;5:  
     phG *It}  
    Selection.WholeStory 4pMp@ b  
    Selection.NoProofing = True =c 9nC;C  
     vCej( ))  
    tm1 = Now /tG as  
     ysi=}+F.  
        ActiveWindow.View.Type = wdNormalView ?7pn%_S  
     s]e `q4ip  
    NoSeries1(1) = "一" I++ Le%w  
    NoSeries1(2) = "二" tq,^!RSbZ  
    NoSeries1(3) = "三" Jw=7eay$F  
    NoSeries1(4) = "四" wEq&O|Vj  
    NoSeries1(5) = "五" =\u,4  
    NoSeries1(6) = "六" g?|Z/eVJ  
    NoSeries1(7) = "七" $Tv~ *|a  
    NoSeries1(8) = "八" SFh<>J^ 0a  
    NoSeries1(9) = "九" J<H]vs   
    NoSeries1(10) = "十" A",}Ikh='`  
    NoSeries1(11) = "十一" (;=|2N>7  
    NoSeries1(12) = "十二" y$nI? :d  
    NoSeries1(13) = "十三" #-Mr3  
    NoSeries1(14) = "十四" e wT K2  
    NoSeries1(15) = "十五" `%~}p7Zu  
    NoSeries1(16) = "十六" a e-tAA[1Y  
     >Q<XyAH~  
    NoSeries2(1) = "㈠" Ax\d{0/oL2  
    NoSeries2(2) = "㈡" )2wf D  
    NoSeries2(3) = "㈢" -rYb{<;ST  
    NoSeries2(4) = "㈣" LmyaC 2  
    NoSeries2(5) = "㈤" _t"[p_llo  
    NoSeries2(6) = "㈥" L|<j/bP  
    NoSeries2(7) = "㈦" /Z]nV2$n)V  
    NoSeries2(8) = "㈧" Z3MhHvvgp{  
    NoSeries2(9) = "㈨" L_9uwua.B~  
    NoSeries2(10) = "㈩" QKEtV  
     M  hW9^?  
    NoSeries5(1) = "①" 117lhx].'  
    NoSeries5(1) = "②" wbOYtN Y@  
    NoSeries5(3) = "③" gnzg(Y]5w  
    NoSeries5(4) = "④" lvODhoT  
    NoSeries5(5) = "⑤" Ih K SwT  
    NoSeries5(6) = "⑥" AvZ5?rN$  
    NoSeries5(7) = "⑦" Z" H;t\P  
    NoSeries5(8) = "⑧" q2F `q. j  
    NoSeries5(9) = "⑨" a_/4^+  
    NoSeries5(10) = "⑩" PA803R74  
     E@otV6Wk[@  
     &c "!Y)%G  
    NoSeriesRM(1) = "I" SIm1fC  
    NoSeriesRM(2) = "II" ?7)v:$(G}  
    NoSeriesRM(3) = "III" ]v5/K  
    NoSeriesRM(4) = "IV" |J`v w  
    NoSeriesRM(5) = "V" "oiN8#Hf  
    NoSeriesRM(6) = "VI" VJw7defc  
    NoSeriesRM(7) = "VII" sZ&6g<8#y  
    NoSeriesRM(8) = "VIII" ?fP3R':s  
    NoSeriesRM(9) = "IX" Fab]'#1q4  
    NoSeriesRM(10) = "X" _1Rw~}O  
    NoSeriesRM(11) = "XI" *w. ":\P]  
    NoSeriesRM(12) = "XII" ` ;mQ"lO  
    NoSeriesRM(13) = "XIII" t zd#9 #  
    NoSeriesRM(14) = "XIV" \"RCJadK  
    NoSeriesRM(15) = "XV" R+ \%  
    NoSeriesRM(16) = "XVI" _#v"sGmN  
     ld#x'/  
    i = MsgBox("为了你的数据安全,请使用单独保存的文件副本进行本操作。" & vbCrLf & "确定继续进行吗?", vbYesNo) K"t?  
     "y*3p0E  
    If i = vbNo Then xMQ>,nZ  
        Exit Sub 6wu`;>  
    End If {hOS0).(w7  
     |*w)]2B l  
    If Me.chkSuper.Value Then )N~ p4kp  
        Me.txtStatus.Text = "检查修改所有的上标格式" >&e=0@?+G  
     e(0 cz6  
        CheckSuperScript PfU\.[l$  
         $Bncdf  
    End If KwMt@1Z  
     NwOV2E6@OW  
    If Me.chkStyle.Value Then *-fd$l.  
        Me.txtStatus.Text = "设置样式,请稍候...." y@$E5sz  
        DoEvents ,6MJW#~]  
        CeateOrModifyStyle 6Q>:vQ+E  
    End If dHiir&Rd9`  
     `peR,E  
     VI9rezZ*  
     GPGP teC  
    ClearDomain xv2c8g~vD  
         G"m0[|XH  
     ^Os }sJ*5S  
     cy(w *5Upu  
    If Me.chkLIST.Value Then UkD\ma  
        Me.txtStatus.Text = "将所有自动列表标题转化为人工标题形式" p),* 4@2<  
     KyT=:f V  
        ConvertListToOrdinary d])ctxB  
    End If u59l)8=  
     P-[})Z=  
     l i?@BHEf  
    Dim pType As String, trimpTEXT As String 8<0P Ssx  
    If Me.chkNum.Value = True Then oL R/\Y(  
        Me.txtStatus.Text = "转换全角数字形式为半角" ox<&T|  
        ConvertWidth "1", "1" <]%6x[  
        DoEvents kl~/tbf  
        ConvertWidth "2", "2" /kyO,g$9  
        DoEvents jK/F zD0-  
        ConvertWidth "3", "3" 9 4H')(  
        DoEvents 6W1+@ q  
        ConvertWidth "4", "4" />8A?+g9u  
        DoEvents glo G_*W  
        ConvertWidth "5", "5" jyF*JQjK4  
        DoEvents \ ;]{`  
        ConvertWidth "6", "6" <Qv/# k  
        DoEvents <)LR  
        ConvertWidth "7", "7" ( sl{Rgxe*  
        DoEvents tb oQn~&4  
        ConvertWidth "8", "8" \kUQe-:he  
        DoEvents b'SP,}s5"  
        ConvertWidth "9", "9"  WvF{`N  
        DoEvents 3^&`E} r  
        ConvertWidth "0", "0" zRLJ|ejMP  
        DoEvents " 1a!]45+  
        ConvertWidth "a", "a" 2`;XcY4A  
        DoEvents QGOkB  
        ConvertWidth "b", "b" 8Uh|V&  
        DoEvents ~.G$0IJY  
        ConvertWidth "c", "c" QPLWRZu@  
        DoEvents PHT<]:"`<  
        ConvertWidth "d", "d" ;u(*&vRqr^  
        DoEvents ud)WH|Z  
        ConvertWidth "e", "e" l,Y5VGiH#  
        DoEvents aj|PyX3P:  
        ConvertWidth "f", "f" R0#scr   
        DoEvents *szs"mQ/  
        ConvertWidth "g", "g" Bca$%3M  
        DoEvents W{q P/R  
        ConvertWidth "h", "h" h*JN0O<b  
        DoEvents  ? .SiT5  
        ConvertWidth "i", "i" Sn'!Nq>  
        DoEvents ECM#J28D  
        ConvertWidth "j", "j" bWb/>hI8 Q  
        DoEvents '3^q W  
        ConvertWidth "k", "k" j+-`P5  
        DoEvents nG5\vj,zB  
        ConvertWidth "l", "l" V D7^wd9  
        DoEvents j>\rs|^O  
        ConvertWidth "m", "m" v4E=)?  
        DoEvents |[5; dt_U/  
        ConvertWidth "n", "n" cs\=8_5  
        ConvertWidth "o", "o" Y R~e_cA:  
        ConvertWidth "p", "p" ZRc^}5}WA  
        ConvertWidth "q", "q" ami>Pp  
        ConvertWidth "r", "r" 3  ;F  
        ConvertWidth "s", "s" ??B!UXi4R  
        ConvertWidth "t", "t" 2+)h!y]  
        ConvertWidth "u", "u" UE5,Ml~X  
        ConvertWidth "v", "v" |Fze9kZO  
        ConvertWidth "w", "w" `{K-eHlrM9  
        ConvertWidth "x", "x" YwY?tOxBe  
        ConvertWidth "y", "y" ns5Dydo{T  
        ConvertWidth "z", "z" 9&zR i  
        ConvertWidth "A", "A" Z/:yYSq  
        ConvertWidth "B", "B" L.;x=w  
        ConvertWidth "C", "C" ^|vk^`S  
        ConvertWidth "D", "D" ;c]O *\/  
        ConvertWidth "E", "E" rq7yN t  
        ConvertWidth "F", "F" `Nvhp]E  
        ConvertWidth "G", "G" r6Vw!^]8u8  
        ConvertWidth "H", "H" 8Vn   
        ConvertWidth "I", "I" b p?TO]LH  
        ConvertWidth "J", "J" 1TA!9cz0Z  
        ConvertWidth "K", "K" saZK+kD4I  
        ConvertWidth "L", "L" W!.FnM5x  
        ConvertWidth "M", "M" mYJ8O$  
        ConvertWidth "N", "N" dVMl;{  
        ConvertWidth "O", "O" JBw2#ry  
        ConvertWidth "P", "P" 7;'UC','  
        ConvertWidth "Q", "Q" sl$y&C-  
        ConvertWidth "R", "R" Bx}"X?%S  
        ConvertWidth "S", "S" ,#;`f=aqTG  
        ConvertWidth "T", "T" +?3RC$jyw  
        ConvertWidth "U", "U" IMdp"  
        ConvertWidth "V", "V" UJp'v_hN  
        ConvertWidth "W", "W" E$:2AK{*  
        ConvertWidth "X", "X" # SCLU9-  
        ConvertWidth "Y", "Y" r8*xp\/  
        ConvertWidth "Z", "Z" Rl0"9D87z  
        ConvertWidth "^l", "^p" .WN&]yr,  
        ConvertWidth "(", "(" .j,xh )v"  
        ConvertWidth ")", ")" [3S17tTc3  
     Mi(6HMA.SF  
    End If X1}M_h %  
O \o@]  
    With ActiveDocument 5"3 `ss<m  
        Dim tbl As Table "38<14V  
        For Each tbl In .Tables yyu-y0_  
            tbl.Rows.Alignment = wdAlignRowCenter BHgs,  
            tbl.Range.Font.NameFarEast = "楷体" sVP\EF8PY  
            tbl.Range.Font.NameAscii = "Times New Roman" =Oh$pZRymu  
            tbl.Range.Font.Size = 10.5 Ufi#y<dP  
        Next P%yL{  
        Set tbl = Nothing O,^s)>c  
    End With v+sF0 j\P  
     Oz_CEMcy  
     6=JJ!`"<2  
    With ActiveDocument nIBeZof  
         q3/4l%"X  
        For i = 1 To .TablesOfContents.Count u:(=gj,~x  
            .TablesOfContents(i).Delete {df;R|8 l  
        Next p}!)4EI=  
         G.XxlI}  
         `g(#~0R  
         [X@{xF^vBQ  
        paraTotal = .Paragraphs.Count <bCB-lG*Kb  
        paraCounter = 1 k  75 p  
         }0 H<G0   
        LastTitle0No = 0 (ESFR0  
        LastTitle1No = 0 {P?DkUO}  
        LastTitle2No = 0 _'Vo3b  
        LastTitle3No = 0 $(0<T<\  
        LastTitle4No = 0 1#"wfiW  
        LastTableNo = 0 yRyRH%p)  
        LastFigureNo = 0 )q4nyT>M  
         7yg {0a  
        Dim Sec As Long AriV4 +  
         .^F&6'h1H  
        Sec = InputBox("正文从第一节开始?", "节设置", 6) GFbn>dY  
        If Sec = 0 Then IN1 n^f$:  
            Exit Sub `aX+Gz?  
        End If b9i_\  
         %j17QD8  
        k = 0 $$4flfx  
        Do While (paraCounter < paraTotal) And bContinue F+R1}5-3cl  
            k = k + 1 !U(S?:hvW  
            If .Paragraphs(paraCounter).Range.Information(wdActiveEndSectionNumber) >= Sec Then &e).l<B  
                Exit Do Z \ @9*  
            End If hF^JSCDz l  
            paraCounter = paraCounter + 1 'CqAjlj  
            If k Mod 20 = 0 Then LR#.xFQ+  
                Me.lbCounter.Caption = paraCounter ;XZN0A2  
                DoEvents < T.R%Jys  
            End If im:[ViR {  
        Loop Q2)5A& U\  
         q\!"FDOl4  
         m^ar:mK @  
        Do While (paraCounter < paraTotal) And bContinue Dqwd= $2%  
             +J|LfXgB  
            ParaText = Trim(.Paragraphs(paraCounter).Range.Text) ]!P6Z?  
            ShapeHeight = 0 8aRmHy"9l  
            ShapeWidth = 0 5M )B  
           BSSehe*  
            CheckPara .Paragraphs(paraCounter).Range, ParaType, rText, ttString, ttNo, ShapeCounter, ShapeHeight, ShapeWidth lc fAb@}2  
             BBX/&d8n  
            Select Case ParaType n 78!]O  
                Case "【】表格内容" ny^uNIRPR  
                    .Paragraphs(paraCounter).Style = "QLNU表格内容" U$a)lcJd  
                Case "章" *Z.{1  
                    LastTitle0No = LastTitle0No + 1 =w_T{V  
                    '新一章开始,复位其下属标题编号 uW[AnQ1 w  
                    LastTitle1No = 0 j;j~R3B  
                    LastTitle2No = 0 dXY}B=C  
                    LastTitle3No = 0 OH n~DL2  
                    LastTitle4No = 0 k8}'@w  
                     r SoT]6/   
                    k = Val(ttNo) JDnWBEV  
                    If k = 0 Then '非数字编号章节 K]>4*) A:  
                        If ttNo <> NoSeries1(LastTitle0No) Then p.4Sgeh#  
                            rText = "第" & NoSeries1(LastTitle0No) & ttString d1^5r 31  
                            Me.ErrMsg.AddItem "章节编号错误:" & ParaText G5 )"%G.  
                        End If 1 +M !EW  
                    Else *CF80DJ  
                        If Val(ttNo) <> LastTitle0No Then Jq>5:"jZ0  
                            rText = "第" & LastTitle0No & ttString Qqb%^}Xx'u  
                            Me.ErrMsg.AddItem "章节编号错误:" & ParaText g0/ R\  
                        End If :nnch?J_  
                         3~WI3ZIR  
                    End If =r`E%P:  
                     \KpJIHkBRy  
                    '章段落设置 A9D FZZ0  
                    '字体大小:三号16磅小三号15磅四号14磅小四号12磅五号10.5磅小五号9磅 %(? ;`  
                    .Paragraphs(paraCounter).Style = "QLNU章节" si]MQ\i+  
                    .Paragraphs(paraCounter).Range.Select C$ at9=(E6  
                    Selection.EndKey unit:=wdLine {ByKTx &  
                    tc = Replace(rText, vbCr, "") Y@ ;/Sf$Q  
                    Selection.Fields.Add Range:=Selection.Range, Type:=wdFieldEmpty, Text:="TC  """ & tc & """ \l 1 ", PreserveFormatting:=False +ZE"pA^C  
                Case "一级标题" HH(2  
                    LastTitle1No = LastTitle1No + 1 |4aU&OX  
                    '新一级标题开始,复位其下属标题编号 u5U^}<}y}  
                    LastTitle2No = 0 7{S;~VH3  
                    LastTitle3No = 0 9 s2z=^  
                    LastTitle4No = 0 F)'_,.?0  
                     ~k 6V?z}  
                    If ttNo <> NoSeries1(LastTitle1No) Then TDP Q+Kg_  
                            rText = NoSeries1(LastTitle1No) & "、" & ttString !VG ]~lc  
                            Me.ErrMsg.AddItem "一级标题编号错误:" & ParaText id`9,I Jx  
                    End If @wAYhnxq  
                   qIzv|Nte  
                     n~w[ajC/  
                    '一级标题段落设置  格式:一、标题内容 cqZ lpm$c  
                    .Paragraphs(paraCounter).Range.Text = rText bccf4EyQ Y  
                    .Paragraphs(paraCounter).Style = "QLNU一级标题" 9ucoQ@  
                    .Paragraphs(paraCounter).Range.Select <Z]j89wzDZ  
                    Selection.EndKey unit:=wdLine 8r,0Qic2K  
                    tc = Replace(rText, vbCr, "") `N}'5{I  
                    Selection.Fields.Add Range:=Selection.Range, Type:=wdFieldEmpty, Text:="TC  """ & tc & """ \l 1 ", PreserveFormatting:=False (]fbCH:  
                Case "二级标题" ^eRbp?H*T  
                    LastTitle2No = LastTitle2No + 1 5|bfrc  
                    '新二级标题开始,复位其下属标题编号 2Z^p)  
                    LastTitle3No = 0 B=_5gZ4Y  
                    LastTitle4No = 0 XNvlx4  
                     @1pfH\m  
                    If ttNo <> NoSeries1(LastTitle2No) Then HPO:aGU   
                            rText = "(" & NoSeries1(LastTitle2No) & ")" & ttString 1Nv qtVC  
                            ErrMsg.AddItem "二级标题编号错误:" & ParaText )&)tX.  
                    End If Uul5h 8F  
                     B~< bc  
                    '二级标题段落设置 格式:(一)、标题内容 jM{5nRQ  
                    .Paragraphs(paraCounter).Range.Text = rText !]7L9TGn  
                    .Paragraphs(paraCounter).Style = "QLNU二级标题" Dg ~k"Ice  
                     ), VF]  
                    .Paragraphs(paraCounter).Range.Select 5wvh @Sc\  
                    Selection.EndKey unit:=wdLine !,7)ZW?*8  
                    tc = Replace(rText, vbCr, "") brCL"g|}  
                    Selection.Fields.Add Range:=Selection.Range, Type:=wdFieldEmpty, Text:="TC  """ & tc & """ \l 2 ", PreserveFormatting:=False |w_l~xYV)  
                 h;cw=G  
                Case "三级标题" 6(A"5B=\  
                    LastTitle3No = LastTitle3No + 1 6@(o8i   
                    '新三级标题开始,复位其下属标题编号 efbJ2C  
                    LastTitle4No = 0 (h@~0S  
                     3ox|Mz<aZX  
                    If Val(ttNo) <> LastTitle3No Then +y-3tcI)  
                            rText = LastTitle3No & ". " & ttString [Q8vS;.  
                            Me.ErrMsg.AddItem "三级标题编号错误:" & ParaText +H? XqSC  
                         fE>JoQs38  
                    End If YB{'L +Wbw  
                    '三级标题段落设置 格式:1. 标题内容 ?6MUyH]a  
                    .Paragraphs(paraCounter).Range.Text = rText JkLpoe81  
                    .Paragraphs(paraCounter).Style = "QLNU三级标题" *'n=L B8R  
                    .Paragraphs(paraCounter).Range.Select j{ri]?p  
                    Selection.EndKey unit:=wdLine e5n"(s"G*[  
                    tc = Replace(rText, vbCr, "") rXGaav9  
                    Selection.Fields.Add Range:=Selection.Range, Type:=wdFieldEmpty, Text:="TC  """ & tc & """ \l 3 ", PreserveFormatting:=False Fb{HiU9<!  
                Case "四级标题" !Xq5r8]  
                    LastTitle4No = LastTitle4No + 1 G)3r[C^[k  
                     _t X1z ^  
                    If Val(ttNo) <> LastTitle4No Then kk CoOTe&  
                            rText = "(" & LastTitle4No & "). " & ttString <\ ".6=E#W  
                            ErrMsg.AddItem "四级标题编号错误:" & ParaText ;Q5o38(  
                     J]NMqi q  
                    End If bSTTr<W  
                    '四级标题段落设置 格式:(1). 标题内容 $O;a~/T  
                    .Paragraphs(paraCounter).Range.Text = rText [A;0I jKam  
                    .Paragraphs(paraCounter).Style = "QLNU四级标题" 1)-VlQK p  
                    .Paragraphs(paraCounter).Range.Select T+5H2]yy)  
                    Selection.EndKey unit:=wdLine S*ie$}ZX  
                    tc = Replace(rText, vbCr, "") !i{5m c \  
                    Selection.Fields.Add Range:=Selection.Range, Type:=wdFieldEmpty, Text:="TC  """ & tc & """ \l 4 ", PreserveFormatting:=False 2rf#Bq?7  
                 K1- 3!G  
                Case "表格标题" b^P\Kky  
                    LastTableNo = LastTableNo + 1 ~>%% kQt  
                     1l}fX}5%I;  
                    If ttNo <> CStr(LastTableNo) Then qs (L2'7/  
                            rText = "表" & LastTableNo & ". " & ttString $D*Yhv!/  
                            ErrMsg.AddItem "表格编号错误:" & ParaText Y1DbBDk  
                   &D7Mv5i0@  
                    End If vcOw`oS  
                     -BrJ5]T>*  
                    '表格名称段落设置 格式:表1. 表格名称 j#VR>0oC]\  
                    .Paragraphs(paraCounter).Style = "QLNU表格标题" cdL0<J b,  
                    xe = Replace(rText, vbCr, "") 9J}^{AA  
                    .Paragraphs(paraCounter).Range.Select .z,`{-7U  
                    Selection.MoveEnd wdCharacter, -1   '选择范围包括行尾的换行符。 &c= 3BEh  
                    Selection.Range.Text = xe urD{'FQf  
                    Selection.EndKey d8^S~7  
                    Selection.Fields.Add Range:=Selection.Range, Type:=wdFieldEmpty, Text:="XE  " & """" & xe & """", PreserveFormatting:=False cm>+f^4?n  
                 `my\59T  
                Case "表格首行" 91FVe  
                    .Paragraphs(paraCounter).Style = "QLNU表格首行" ge{%B~x  
                Case "图片标题" 1HRcEzA  
                    LastFigureNo = LastFigureNo + 1 wI[J>9Qn  
                     Gx%f&H~Z^  
                    If ttNo <> CStr(LastFigureNo) Then }%,LV]rGEZ  
                            rText = "图" & LastFigureNo & ". " & ttString mP +H C)2  
                            ErrMsg.AddItem "表格编号错误:" & ParaText kh"APxQ79  
                   ;l@Ge`&u  
                    End If AD'c#CT  
                    '图片名称段落设置 格式:图1. 图名称 wr6(C:  
                    .Paragraphs(paraCounter).Range.Text = rText NQd0$q  
                    .Paragraphs(paraCounter).Style = "QLNU图片标题" bg*@N  
                    .Paragraphs(paraCounter).Range.Select RE;)#t?K  
                    Selection.EndKey unit:=wdLine R8j\CiV17  
                    xe = Replace(rText, vbCr, "") =d JRBl  
                    Selection.Fields.Add Range:=Selection.Range, Type:=wdFieldEmpty, Text:="XE  " & """" & xe & """", PreserveFormatting:=False gYw=Z_z  
                Case "正文" @ `SlOKz!=  
                     '正文名称段落设置 1=jwJv.^/  
                    .Paragraphs(paraCounter).Style = "QLNU正文" 6s:  
               Case "文献条目" "(;t`,F  
                    With .Paragraphs(paraCounter) '"V]>)  
                        '.Range.Select P`n"E8"ab<  
                        'Selection.ClearFormatting j|r$ ! gV  
                        '.Range.Find.Execute findtext:=rText, replacewith:=strSeperator   'Replacetext 传回了编号及分隔符部分, 而StrSeperator传回了正确的格式与分隔符如“[15] ” 1L _(n  
                        .Style = "QLNU参考文献" -wnBdL  
                    End With _E^ !, Wz  
               Case "图表注解" X/S%0AwZ  
                    With .Paragraphs(paraCounter) qD}O_<_1ym  
                        .Range.Font.NameFarEast = "楷体" ,Mn?h\  
                        .Range.Font.NameAscii = "Times New Roman" cN: ek|r  
                        .Range.Font.Size = 9 '小5号字 AT"!Ys|  
                         )aX#RM? N  
                        .Alignment = wdAlignParagraphCenter Q3LScpp  
                        .LeftIndent = 0 kl5Y{![/&f  
                        .RightIndent = 0  pm*i!3g'  
                        .FirstLineIndent = 0 ((fFe8Rn)q  
                        .LineSpacing = 12 d]^\qeG^p  
                        .LineSpacingRule = wdLineSpaceExactly TzV~I\a|  
                        .LineUnitAfter = 0 Rap_1o9#\  
                        .LineUnitBefore = 0 XiyL563gh  
                        .OutlineLevel = wdOutlineLevelBodyText Q2t>E(S  
                        .PageBreakBefore = False Ke\FzZ]  
                        .RightIndent = 0 #4^D'r>pJ  
                        .WordWrap = True 69``j{Z+  
                        .LineUnitAfter = 0.5 ^F+7@*u  
                         )dRB I)P  
                    End With 'R n\CMTH  
                Case Else 0&6(y* #Z  
                    '不作处理 8H{9  
            End Select 6[]O3Aa  
             ]~'pYOB  
            '含有inlineshape的段落处理 >td\PW~X  
            If ShapeHeight > 30 Then o5w =  
                .Paragraphs(paraCounter).LineSpacingRule = wdLineSpaceSingle  '对有图片的段落设置为单倍行距 G>+ii sb%  
            End If e[.JS6  
             d((,R@N'  
            If (ShapeWidth + ShapeHeight) > 150 Then !4+@b s  
                .Paragraphs(paraCounter).Style = "QLNU图片段落" 4~0 @(3  
            End If n_t.l<V  
             cq 1)b\|  
            '段落计数器递 -lI6!a^  
            paraCounter = paraCounter + 1 4AN(4"$N  
            Me.lbCounter.Caption = "当前检测段落:" & paraCounter 9P-I)ZqL  
            Me.txtStatus.Text = ParaText t&(\A,ch %  
            DoEvents IU rGJ#}O  
        Loop TI637yqCU  
    End With U{0! <*W>  
     n'<F'1SWv  
    msg = "" frbeCBP&)  
     vsbD>`I  
    For i = 0 To Me.ErrMsg.ListCount - 1 [F^j(qTR  
        msg = msg & vbCrLf & vbCrLf & Me.ErrMsg.List(i) m^1'aO_;q  
    Next ~"U^N:I"  
     I oC}0C7  
     ' "o2;J)7  
     XCE<].w  
    Me.txtStatus.Text = "格式化完成!" & vbCrLf & "开始时间:" & tm1 & vbCrLf & "结束时间:" & Now & vbCrLf & msg yJHFo[wGMJ  
    Me.cmdCheck.Enabled = True !u%XvxJwDb  
    Me.txtStatus.Visible = True $7&t`E)qY  
    Me.lbParaType.Visible = False !;&{Q^}  
     T=T1?@2C  
    bContinue = False 4]ETF+   
End Sub q<Wz9lDMNR  
2!6-+]tC  
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) Q|W~6  
    Dim pTEXT As String RjG=RfB'V  
     Wg=4`&F^  
    pTEXT = ChKRange.Text <Lfo5:.  
     '<hg c  
    ParaType = "其它" Qr*7bE(a  
    TitleString = pTEXT axiP~t2  
    TitleNo = "N/A" x@,B))WlGr  
     MVe4[<  
    shpCounter = ChKRange.InlineShapes.Count [kPF Jf  
    If shpCounter <> 0 Then _!E/ em  
        MaxShpHeight = 0: TotalShpWidth = 0 zFO#oW,D  
        For i = 1 To shpCounter d2<+Pp  
            k = ChKRange.InlineShapes(i).Height oJor ]QYK  
            l = ChKRange.InlineShapes(i).Width a^Lo;kHY  
            If k > MaxShpHeight Then A!ak i}aT~  
                MaxShpHeight = k |6zx YuX  
            End If p!p:LSk"/b  
            TotalShpWidth = TotalShpWidth + l E>x,$w<?  
        Next ~5wT|d  
        If MaxShpHeight > 60 Or TotalShpWidth > 150 Then [O^mG 9  
            Exit Sub "I^pb.3  
        End If d?1[xv;  
    End If Gq;!g(  
     sKGR28e  
    '空行 iVf8M$!m  
    If Len(pTEXT) <= 2 Then $or8z2d1  
        Exit Sub bc*CP0t|  
    End If #~;:i  
     |Ht~o(]&&/  
         E9PD1ADR  
    '是否为表格中的文字 }FT8 [m<  
    If ActiveDocument.Paragraphs(paraCounter).Range.Information(wdWithInTable) Then !wEz= i  
        ParaType = "表格内容" ]dQ  
        k = ActiveDocument.Paragraphs(paraCounter).Range.Information(wdEndOfRangeRowNumber) *d,Z ?S/  
        If k = 1 Then iea7*]vW  
            ParaType = "表格首行" s7na!A[  
        End If ?H(']3X5@  
        Exit Sub ]s^Pw>/`  
    End If +>o} R?xj  
     d<afO?"  
    '例外情况:脚注 Q`[J3-Q*{  
    If ActiveDocument.Paragraphs(paraCounter).Range.Information(wdInFootnote) Then sGFC?1r?\  
        ParaType = "脚注" mu&%ph=  
        Exit Sub iig@$ i#  
    End If aX(Y `g)|  
     rn%q*_3-o  
    '例外情况:尾注 Nmu=p~f}3`  
    If ActiveDocument.Paragraphs(paraCounter).Range.Information(wdInEndnote) Then OmC F8:\/  
        ParaType = "尾注" B-EDVMu  
        Exit Sub tJZ3P@ L  
    End If f-a+&DB9  
     'jd fUB  
    If ActiveDocument.Paragraphs(paraCounter).Range.Information(wdInHeaderFooter) Then #(Ezt% ^  
        ParaType = "页眉页脚" 5jK9cF$>  
        Exit Sub 'n4 iW  
    End If 5SwQ9#  
     f!+G1z}iA  
     >`D$Jz,  
    With regEX -!pg1w06  
        .Global = True e:zuP.R  
         jmh$6 N% F  
        .Pattern = "^第([1-9]|1|2|3|4|5|6|7|8|一|二|三|四|五|六|七|八|九|十)章(、|\.|\s|。|.)+(.{1,30})$" x_BnWFP  
        If regEX.Test(pTEXT) Then 6Bn%7ZBv  
            ReplaceTEXT = regEX.Replace(pTEXT, "第$1章 $3") 8z'_dfP=5  
            TitleString = regEX.Replace(pTEXT, "$3") $ 2PpG|q  
            TitleNo = regEX.Replace(pTEXT, "$1") qgZN&7Nn:  
            ParaType = "章" v[=TPfX0  
            Exit Sub fs%l j_t  
        End If b0lZb'  
         SOo}}a0  
        .Pattern = "^(十一|十二|十三|十四|十五|十六|一|二|三|四|五|六|七|八|九|十)(、|\.|\s|。|.)+(.{1,40})$" jij-pDQnv  
        If regEX.Test(pTEXT) Then 8YwSaBwO  
            ParaType = "一级标题" RI-)Qx&!f  
            regEX.Execute (pTEXT) "}jv5j5  
            ReplaceTEXT = regEX.Replace(pTEXT, "$1、$3") Tn(c%ytN  
            TitleString = regEX.Replace(pTEXT, "$3") g)Dg=3+ >  
            TitleNo = regEX.Replace(pTEXT, "$1") Xmaj7*f>p  
            Exit Sub V75P@jv5J  
        End If '7/c7m/$X<  
         )E (9 R(  
        '全角或半角括号中的数字 xBK is\b  
        .Pattern = "(^\(|()(十一|十二|十三|十四|十五|十六|一|二|三|四|五|六|七|八|九|十)(\)|))(、|\.|\s|。|.)*(.{1,40})$" 137:T:  
        If regEX.Test(pTEXT) Then 5Ak6 q(\  
            ParaType = "二级标题" D;WQNlTU  
            regEX.Execute (pTEXT) 8d*W7>rq  
            ReplaceTEXT = regEX.Replace(pTEXT, "($2)$5") Y@R9+ 7!  
            TitleString = regEX.Replace(pTEXT, "$5") Dro2R_j{  
            TitleNo = regEX.Replace(pTEXT, "$2") Wd/m]]W8Q  
            Exit Sub EZg$mp1  
        End If +C ){&/=#  
         .3< sv  
        '阿拉伯数字  1. 2. Jx4"~ 4  
        .Pattern = "^([1-9]|1|2|3|4|5|6|7|8|9|0){1,2}(、|\.|\s|。|.)+(.{1,80})$" Y SD|#0  
        If regEX.Test(pTEXT) Then I 7s}{pG  
            ParaType = "三级标题" !O*uQB  
            regEX.Execute (pTEXT) O2C&XeB:4  
            ReplaceTEXT = regEX.Replace(pTEXT, "$1. $3") '未进行全半角转换,如需要可分成两步分别检测 g~Agy  
            TitleString = regEX.Replace(pTEXT, "$3") n>:|K0u"  
            TitleNo = regEX.Replace(pTEXT, "$1") 2g:V_%  
            Exit Sub w2e 9Ue~WH  
        End If +JRPd.B"@  
         >.f'_2#Z&  
        '全角或半角括号中的阿拉伯数字 ^%~ux0%^T  
        .Pattern = "^(^\(|()([0-9]|0|1|2|3|4|5|6|7|8|9){1,2}(\)|))(、|\.|\s|。|.)*(.{1,80})$"  N2Q%/}+,  
        If regEX.Test(pTEXT) Then (b>B6W\&  
            ParaType = "四级标题" k 1Thjt  
            regEX.Execute (pTEXT) 6F4OISy%3  
            ReplaceTEXT = regEX.Replace(pTEXT, "($2) $5") "qvJ-Y  
            TitleString = regEX.Replace(pTEXT, "$5") x^P~+(g  
            TitleNo = regEX.Replace(pTEXT, "$2") [ nG@ 3n  
            Exit Sub <c$K3  
        End If X*Cvh|  
         \?rBtD(  
        '表格名称 U fAN)SE"  
        .Pattern = "^表(\d{1,2}-{0,1}\d{0,1})([、|\.|。|.|\s]{1,9})(.{1,120})$" ^Y- S"Ks  
        If regEX.Test(pTEXT) Then %P tdFz$  
            ParaType = "表格标题" K1*]6x,  
            regEX.Execute (pTEXT) e!JC5Al7  
            ReplaceTEXT = Trim(regEX.Replace(pTEXT, "表$1. $3")) $3Srr*  
            TitleString = Trim(regEX.Replace(pTEXT, "$3")) 5>*~1}0T  
            TitleNo = Trim(regEX.Replace(pTEXT, "$1")) BP`'1Ns  
            strSeperator = Trim(regEX.Replace(pTEXT, "$2")) '不知道为什么,但是发现传回的replacetext在修改Paragraph对象的Range.Text后,表格标题就会落入第一个单元格中,所以,只能用Paragraph.Range.Find.Execute方法替换 /5 6sPl 7}  
            Exit Sub "fX9bh^  
        End If qJPEq%'Q  
         $@ Fvl-lK  
        '图片名称 <\C/;  
        .Pattern = "^图(\d{1,2}-{0,1}\d{0,1})(、|\.|\s|。|.)+(.{1,120})$" mj9r#v3.  
        If regEX.Test(pTEXT) Then B$@fE}  
            ParaType = "图片标题" P{_Xg,Z  
            regEX.Execute (pTEXT) 0) T`&u3!  
            ReplaceTEXT = regEX.Replace(pTEXT, "图$1. $3") h,%b>JFo  
            TitleString = regEX.Replace(pTEXT, "$3") DQRr(r~2Kj  
            TitleNo = regEX.Replace(pTEXT, "$1") ~k[q:$T  
            Exit Sub F9 q9BH  
        End If mDJN)CX  
         etkKVr;Kv  
        '参考文献 ;^Hg\a  
        .Pattern = "^([\[|[])(\d+)([]|\]])([、|\.|\s|。|.]{0,1})"  '[数字]、 [ [ ;vZ  
        If regEX.Test(pTEXT) Then -P'KpX:]hd  
            ParaType = "文献条目" dE0 p>4F  
            'ReplaceTEXT = regEX.Replace(pTEXT, "$1$2$3$4") =`%"-A  
            'TitleNo = regEX.Replace(pTEXT, "[$2] ") 'k(aZ"  
            Exit Sub n%1I}?$fO  
        End If !< I3^q  
         EAi!"NJ  
        prfx = Left(pTEXT, 2) `U[s d*C"  
        If prfx = "注:" Or prfx = "注:" Then "J(W)\  
            ParaType = "图表注解" Eggdj+  
            Exit Sub ej9|Y5D"S  
        End If pz]#/Ry?  
         s`Z'5J;S  
         {X'D07q  
        ParaType = "正文" "<5su5]  
         5<?s86GHh'  
    End With I!OV+utF  
End Sub =& .KKr  
@ATJ|5.gr  
Sub ConvertListToOrdinary() SByn u  
    Dim st As Paragraph ^ H )nQ  
    With ActiveDocument uy^vQ/  
        For i = .Paragraphs.Count To 1 Step -1 3iC$ "9!p  
            Set st = .Paragraphs(i) u#uT|a.  
            lst = st.Range.ListFormat.ListString _yJAn\  
            If lst <> "" Then i`)h~V|G  
                st.Range.ListFormat.RemoveNumbers s GdlS&08(  
                st.Range.InsertBefore lst & " " b9gezXAcd  
            End If g8^YDrH  
        Next }"CX`  
    End With DEcsFC/SK  
    Set st = Nothing B qA  
End Sub }HC6m{vH(  
leSR2os  
Private Sub UserForm_Activate() mFdj+ &2\  
    Me.lbTotal.Caption = "当前文章段落总数:" & ActiveDocument.Paragraphs.Count & " 共" & ActiveDocument.Sections.Count & "节" v;m}<3@'  
    Me.lbTotal.Font.Bold = True FG[YH5  
    Me.txtStatus.Visible = False 7xr@$-U  
    Me.cmdCheck.Enabled = True ="*:H)  
X[Q:c4'  
End Sub Y4.t:Uzr  
fXJbC+  
//_aIp  
Sub CheckSuperScript() NiCB.a  
    Selection.Find.ClearFormatting H6I]GcZ$  
    Selection.Find.Replacement.ClearFormatting ?rG>SA>o  
    With Selection.Find ~gA p`Q  
        .Text = "[【\[[〖](*)[】\]〗]]" S_ Pa .  
        .Replacement.Text = "[\1]" c Oi:bC@  
        .Replacement.Font.Superscript = True L 2k?Pl  
        '.Replacement.Font.Color = wdColorBlue p2Fff4nQ   
        .Forward = True rbw5.NU  
        .Wrap = wdFindContinue <B %s9Zy  
        .FORMAT = True #ovmX  
        .MatchCase = False ~p0M|  
        .MatchWholeWord = False xOAA1#   
        .MatchByte = False !uwZ%Ux z  
        .MatchAllWordForms = False jx7b$x]  
        .MatchSoundsLike = False Fw!TTH6l0  
        .MatchWildcards = True :s5wFumD  
    End With 9X-w5$<  
    Selection.Find.Execute Replace:=wdReplaceAll /PuN+M  
End Sub >|S&@<  
s v}o%  
Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer) Ja@zeD)f"  
    bContinue = False vm y?8E6+  
    Set regEX = Nothing S[zX@3eZV  
End Sub CMI V"-  
6bXR?0$*M.  
Sub CeateOrModifyStyle() ~7}aW#  
' 8r46Wr7Q  
' WzwH;!  
Dim stl As Style Z+G.v=2q<  
     GV"HkE;  
    Options.Pagination = False &+v!mw >  
     /\0 rR T  
    On Error Resume Next Z:2a_A tm  
    For Each stl In ActiveDocument.Styles v3`k?jAaI  
        stl.Delete 6pCQP c*A  
    Next wVms"U.  
    On Error GoTo 0 &rmXz6 F  
     ra4$/@3n  
    Set stl = Nothing |{a`,% mw  
     I}S~,4  
    DoEvents IW<nfg  
    On Error Resume Next f1_b``M  
     CC<(V{Png  
    ActiveDocument.Styles.Add Name:="BaseStyle", Type:=wdStyleTypeParagraph ( ndTEnpp  
     {r,MRZaa  
    ActiveDocument.Styles.Add Name:="QLNU论文题目", Type:=wdStyleTypeParagraph SZhW)0  
    ActiveDocument.Styles.Add Name:="QLNU中文摘要", Type:=wdStyleTypeParagraph >A RZ=x[  
     i 6@c@n  
    ActiveDocument.Styles.Add Name:="QLNU英文标题", Type:=wdStyleTypeParagraph th?w&;L  
    ActiveDocument.Styles.Add Name:="QLNU英文摘要", Type:=wdStyleTypeParagraph XFiP8aX<  
     Pzl2X@{%  
    ActiveDocument.Styles.Add Name:="QLNU目录项", Type:=wdStyleTypeParagraph RrG5`2  
    ActiveDocument.Styles.Add Name:="QLNU章节标题", Type:=wdStyleTypeParagraph qlJzXq{|`  
    ActiveDocument.Styles.Add Name:="QLNU一级标题", Type:=wdStyleTypeParagraph \(db1zmS~  
    ActiveDocument.Styles.Add Name:="QLNU二级标题", Type:=wdStyleTypeParagraph ,sqx xq  
    ActiveDocument.Styles.Add Name:="QLNU三级标题", Type:=wdStyleTypeParagraph f 0lpwwe  
    ActiveDocument.Styles.Add Name:="QLNU四级标题", Type:=wdStyleTypeParagraph ?{ Rv/np=F  
    ActiveDocument.Styles.Add Name:="QLNU正文", Type:=wdStyleTypeParagraph % >\v6ea  
     TOe=6 Z5h  
    ActiveDocument.Styles.Add Name:="QLNU表格标题", Type:=wdStyleTypeParagraph dpPu&m+  
    ActiveDocument.Styles.Add Name:="QLNU表格首行", Type:=wdStyleTypeParagraph Hido[  
    ActiveDocument.Styles.Add Name:="QLNU表格内容", Type:=wdStyleTypeParagraph &# ?2zbZ  
    ActiveDocument.Styles.Add Name:="QLNU图片标题", Type:=wdStyleTypeParagraph ;;#_[Zl  
    ActiveDocument.Styles.Add Name:="QLNU图片段落", Type:=wdStyleTypeParagraph `pfZJ+  
     oY K(=j  
    ActiveDocument.Styles.Add Name:="QLNU参考文献", Type:=wdStyleTypeParagraph aGR!T{`   
    On Error GoTo 0 k)t_U3i  
    DoEvents 7`c\~_Df_  
     EL?6x  
    'BaseStyle qZS]eQW.  
    ActiveDocument.Styles("BaseStyle").AutomaticallyUpdate = False &O:IRR7p  
    With ActiveDocument.Styles("BaseStyle").Font ]#fmih^  
        .NameFarEast = "宋体" +p Y*BP+~i  
        .NameAscii = "Times New Roman" 8`{)1.d5[  
        .NameOther = "宋体" 5>e#SW  
        .Size = 10.5 b-+~D9U <  
        .Bold = wdUndefined 5S EyAhB  
        .Italic = wdUndefined ; m]KKB  
        .Subscript = wdUndefined M:9 6QM~  
        .Subscript = wdUndefined 2.>WR~ \  
         7^2  
        .Underline = wdUnderlineNone w I7iE4\vz  
        .UnderlineColor = wdColorAutomatic a^ _ _Z3g,  
        .StrikeThrough = False ]"2;x  
        .DoubleStrikeThrough = False !pqfx93R*  
         |K(2_Wp  
        .Outline = False }^@Q9<P^E  
        .Emboss = False =G9 9U/  
        .Shadow = False K|{IX^3)V  
        .Hidden = False WE*L=_zDS  
        .SmallCaps = False 6Kbc:wlR  
        .AllCaps = False @5rl;C  
        .Color = wdColorAutomatic $Sx(vq6(  
        .Engrave = False FkH HTO  
        .Scaling = 100 RZgklEU  
        .Kerning = 1 ,DZoE~  
        .Animation = wdAnimationNone +~x'1*A_  
        .DisableCharacterSpaceGrid = False ye-EJDZN  
        .EmphasisMark = wdEmphasisMarkNone UK7pQt}9  
    End With .T63:  
    With ActiveDocument.Styles("BaseStyle").ParagraphFormat `Nnaw+<]  
        .LeftIndent = 0 =1vl-*uYh  
        .RightIndent = 0 .yF@O w  
        .SpaceBefore = 0 >STAPrBp+  
        .SpaceBeforeAuto = False \|gE=5!Am=  
        .SpaceAfter = 0 hn -!W;j  
        .SpaceAfterAuto = False &&daQg4Ha  
         b5@sG^  
        .LineSpacingRule = wdLineSpaceSingle Bo#,)%80  
        .Alignment = wdAlignParagraphJustify c&mLK1A6  
         R_7[7 /a  
        .WidowControl = False <y}9Twdy  
        .KeepWithNext = False I0qS x{K  
        .KeepTogether = False ILU7Yhk  
        .PageBreakBefore = False S <RbC  
        .NoLineNumber = False !<8-juY  
         C+m%_6<  
        .FirstLineIndent = CentimetersToPoints(0) D"z3SLFW{  
        .OutlineLevel = wdOutlineLevelBodyText "?X,);5S  
        .CharacterUnitLeftIndent = 0 :]rb}1nLB  
        .CharacterUnitRightIndent = 0 X>la!}sV  
        .CharacterUnitFirstLineIndent = 0 UD!-.I]  
        .LineUnitBefore = 0 x* 9 Xu"?  
        .LineUnitAfter = 0 ^c-8~r|y,  
        .AutoAdjustRightIndent = True N*w6D:  
        .DisableLineHeightGrid = True d:X@zUR*)  
         ^7Hwpn7E  
        .FarEastLineBreakControl = True kF@Z4MB}yr  
        .WordWrap = True V`WSZ  
        .Hyphenation = False 3 i;sB  
         X7g@.Oy`  
        .HangingPunctuation = True a7fFp 9l!  
        .HalfWidthPunctuationOnTopOfLine = True IrMUw$  
        .AddSpaceBetweenFarEastAndAlpha = True sP'U9l  
        .AddSpaceBetweenFarEastAndDigit = True ..K@'*u  
        .BaseLineAlignment = wdBaselineAlignBaseline 6L!/#d0  
    End With @fc-[pv  
    ActiveDocument.Styles("BaseStyle").NoSpaceBetweenParagraphsOfSameStyle = False n6xJ  
    ActiveDocument.Styles("BaseStyle").ParagraphFormat.TabStops.ClearAll E-`3}"{  
    ActiveDocument.Styles("BaseStyle").LanguageID = wdSimplifiedChinese g!\H^d4  
    ActiveDocument.Styles("BaseStyle").NoProofing = False E xls_oSp  
     j&Trv w<t  
    '一级标题题样式 VRs|";  
    ActiveDocument.Styles("QLNU一级标题").BaseStyle = ActiveDocument.Styles("BaseStyle") F<+!28&h  
    ActiveDocument.Styles("QLNU一级标题").NextParagraphStyle = "BaseStyle" f'oO/0lx  
    ActiveDocument.Styles("QLNU一级标题").AutomaticallyUpdate = False m}$7d5  
    With ActiveDocument.Styles("QLNU一级标题").Font QhJuH_f 0  
        .NameFarEast = "黑体" Im g$D*BM  
        .NameAscii = "Arial Black" 3-PqUJT$   
        .NameOther = "黑体" hE;|VSdo  
        .Name = "黑体" D^Gs_z$['  
        .Size = 16              '三号 2bnYYQ14 :  
        .Bold = True */6lyODf  
        .Italic = wdUndefined )yt_i'D}  
        .Subscript = wdUndefined  CK"OHjR  
        .Superscript = wdUndefined  3cA '9  
    End With # E{2 !Z  
    With ActiveDocument.Styles("QLNU一级标题").ParagraphFormat .}c& " L;W  
         x##0s5Qn  
        .LeftIndent = CentimetersToPoints(0) A/c#2  
        .RightIndent = CentimetersToPoints(0) i< b-$9  
        .FirstLineIndent = CentimetersToPoints(0) 1s_N!a  
         Pxvf"SXX  
        .LineSpacingRule = wdLineSpaceSingle (k^o[HF  
        .Alignment = wdAlignParagraphCenter 0#S#v2r5  
         N;q)r  
        .WidowControl = True @dyh: 2!  
        .KeepWithNext = True x>bGxDtu*  
        .KeepTogether = True KPrH1 [VU  
        .OutlineLevel = wdOutlineLevelBodyText 6KRC_-  
         )vsX (/WU  
        .LineUnitBefore = 0.5 }WV}in0  
        .LineUnitAfter = 0.5 F+SqJSa  
    End With jl"su:y  
    ActiveDocument.Styles("QLNU一级标题").NoSpaceBetweenParagraphsOfSameStyle = False W5Uw=!LdEY  
    ActiveDocument.Styles("QLNU一级标题").ParagraphFormat.TabStops.ClearAll 0 L$[w  
    ActiveDocument.Styles("QLNU一级标题").LanguageID = wdSimplifiedChinese FX1H2N(  
    ActiveDocument.Styles("QLNU一级标题").NoProofing = True `PUGg[Zx^  
    DoEvents sW,JnR  
     (uVL!%61k  
    '二级 w$DHMpW'  
    ActiveDocument.Styles("QLNU二级标题").BaseStyle = ActiveDocument.Styles("BaseStyle") :Dj0W8V  
    ActiveDocument.Styles("QLNU二级标题").NextParagraphStyle = "BaseStyle" 4o<rj4G>  
    ActiveDocument.Styles("QLNU二级标题").AutomaticallyUpdate = False j>`-BN_  
    With ActiveDocument.Styles("QLNU二级标题").Font k.ttrKy<q/  
        .NameFarEast = "黑体" vk4Q2P  
        .NameAscii = "Arial Narrow" } 3}H}  
        .NameOther = "黑体" %#<MCiaK  
        .Name = "黑体" 5~[m]   
        .Size = 15        '小三号 YvG=P<_xw  
        .Bold = False eev-";c  
        .Outline = False 3`TD>6rs  
        .Italic = wdUndefined bgYUsc*uR  
        .Subscript = wdUndefined f}t8V% ^E  
        .Superscript = wdUndefined 8CUlE-R5  
    End With &\y`9QpVF  
    With ActiveDocument.Styles("QLNU二级标题").ParagraphFormat bs&>QsI?j  
        .LeftIndent = CentimetersToPoints(0) R uGG3"|  
        .RightIndent = CentimetersToPoints(0) ^~;"$=Wf  
        .FirstLineIndent = CentimetersToPoints(0) +,1 Ea )  
         ;O7Vl5R  
        .LineSpacingRule = wdLineSpaceSingle cSTF$62E  
        .Alignment = wdAlignParagraphLeft QnA~,z/ .w  
         kW7$Gw]-  
        .WidowControl = True TjE'X2/  
        .KeepWithNext = True ;Rljx3!N  
        .KeepTogether = True o1?S*  
        .PageBreakBefore = False *>h|<|T'  
        .OutlineLevel = wdOutlineLevelBodyText \2^o,1r/  
         Gsu?m  
        .LineUnitBefore = 0.5 |[)n.N65 =  
        .LineUnitAfter = 0.5 U0;pl2  
         Am!OLGG4  
    End With v&qL r+_7  
    ActiveDocument.Styles("QLNU二级标题").NoSpaceBetweenParagraphsOfSameStyle = False 5HaI$>h6  
    ActiveDocument.Styles("QLNU二级标题").ParagraphFormat.TabStops.ClearAll t$e'[;w  
    ActiveDocument.Styles("QLNU二级标题").LanguageID = wdSimplifiedChinese ifcp!l+8  
    ActiveDocument.Styles("QLNU二级标题").NoProofing = True c`@";+|r  
    DoEvents +ag_w}  
     _CMNmmp`e  
    '三级标题样式 rS!M0Hq>t  
    ActiveDocument.Styles("QLNU三级标题").BaseStyle = ActiveDocument.Styles("BaseStyle") bE;c&g  
    ActiveDocument.Styles("QLNU三级标题").NextParagraphStyle = "BaseStyle" Yi j^hs@eV  
    ActiveDocument.Styles("QLNU三级标题").AutomaticallyUpdate = False O.DO,]Uh  
    With ActiveDocument.Styles("QLNU三级标题").Font ek"U q RY  
        .NameFarEast = "宋体" Ae[fW97  
        .NameAscii = "Times New Roman" neQ~h4U"  
        .NameOther = "黑体" tv_&PIu]L  
        .Name = "黑体" G*f\ /  
        .Size = 14               '四号 @'9m()%-]g  
        .Bold = False 5P{[8PZxbV  
        .Outline = False ,`bmue5  
        .Italic = wdUndefined s o1hC  
        .Subscript = wdUndefined `W:z#uNG]  
        .Superscript = wdUndefined . 1+I8qj  
    End With 63i&<  
    With ActiveDocument.Styles("QLNU三级标题").ParagraphFormat Ew JNpecX  
        .LeftIndent = CentimetersToPoints(0) V}Ee1C  
        .RightIndent = CentimetersToPoints(0) <L+1 &H  
        .FirstLineIndent = CentimetersToPoints(0) EsS$th)d  
         y_' 6bpb  
        .LineSpacingRule = wdLineSpaceSingle 5eiKMKW[  
        .Alignment = wdAlignParagraphLeft 2){O&8A  
         x5|^p=  
        .WidowControl = True .JOZ2QWm<  
        .KeepWithNext = True 7`f%? xVn0  
        .KeepTogether = True 9:*[Q" v  
        .PageBreakBefore = False ^I KT!"J&?  
        .OutlineLevel = wdOutlineLevelBodyText IZLBv2m  
         ;0U*N& f  
        .CharacterUnitLeftIndent = 0 nMK$&h,{  
        .CharacterUnitRightIndent = 0 4T-"\tmg/  
        .CharacterUnitFirstLineIndent = 2 >6R3KJe  
         c'>_JlG~  
        .LineUnitBefore = 0.5 +e, c'.  
        .LineUnitAfter = 0 /9=r.Vxh  
    End With & 'CUc/,  
    ActiveDocument.Styles("QLNU三级标题").NoSpaceBetweenParagraphsOfSameStyle = False Wu"1M^a  
    ActiveDocument.Styles("QLNU三级标题").ParagraphFormat.TabStops.ClearAll N% ?R(  
    ActiveDocument.Styles("QLNU三级标题").LanguageID = wdSimplifiedChinese UM/!dt}DnF  
    ActiveDocument.Styles("QLNU三级标题").NoProofing = True pMJm@f  
    DoEvents l8khu)\n4R  
     u M\5GK  
    '四级标题样式 @,j ,GE%  
    ActiveDocument.Styles("QLNU四级标题").BaseStyle = ActiveDocument.Styles("BaseStyle") f^ja2.*%?  
    ActiveDocument.Styles("QLNU四级标题").NextParagraphStyle = "BaseStyle" Bi2 c5[3  
    ActiveDocument.Styles("QLNU四级标题").AutomaticallyUpdate = False = N;5T  
    With ActiveDocument.Styles("QLNU四级标题").Font '55G:r39  
        .NameFarEast = "宋体" UwxszEHC  
        .NameAscii = "Times New Roman" &f}w&k2yj  
        .NameOther = "宋体" { V) `6  
        .Name = "宋体" d_Jj&:"l  
        .Size = 12               '小四号 $A`m8?bY  
        .Bold = True Qvty;2$o@  
        .Outline = False h*R w^5,c  
        .Italic = wdUndefined W4,'?o  
        .Subscript = wdUndefined %fnG v\uI  
        .Superscript = wdUndefined f Tso[r:F.  
    End With Sn0kJIb }  
    With ActiveDocument.Styles("QLNU四级标题").ParagraphFormat Cs(sar:7  
         jfiUf1Mj  
        .LeftIndent = CentimetersToPoints(0) S@'%dN6e  
        .RightIndent = CentimetersToPoints(0) *4e?y  
        .FirstLineIndent = CentimetersToPoints(0) /K h,  
         5DDSo0E  
        .LineSpacingRule = wdLineSpaceSingle i),bAU!+m  
        .Alignment = wdAlignParagraphLeft kno[!A7_6  
         \%7fm#z6  
        .WidowControl = True 9GRQ^E  
        .KeepWithNext = True I(Z\$  
        .KeepTogether = True ,kf.'N  
        .PageBreakBefore = False QWnGolN  
        .OutlineLevel = wdOutlineLevelBodyText Wb>;L@jB7  
         5rmU 9L  
        .CharacterUnitLeftIndent = 0 @mJ~?d95v  
        .CharacterUnitRightIndent = 0 :}yT?LIyP  
        .CharacterUnitFirstLineIndent = 2 3FtL<7B '.  
         z)(W x">  
        .LineUnitBefore = 0 t.dr<  
        .LineUnitAfter = 0 3vKTCHbk9  
         '$c9S [  
    End With X 5\xq+Ih  
    ActiveDocument.Styles("QLNU四级标题").NoSpaceBetweenParagraphsOfSameStyle = False M!kSt1  
    ActiveDocument.Styles("QLNU四级标题").ParagraphFormat.TabStops.ClearAll 4i PVpro  
    ActiveDocument.Styles("QLNU四级标题").LanguageID = wdSimplifiedChinese DJ DQH\&  
    ActiveDocument.Styles("QLNU四级标题").NoProofing = True OLqV#i[K#9  
    DoEvents ?% [~J  
     qvLh7]sbK:  
    '正文校式 ;*$e8y2  
    ActiveDocument.Styles("QLNU正文").BaseStyle = ActiveDocument.Styles("BaseStyle") r^a:s]  
    ActiveDocument.Styles("QLNU正文").NextParagraphStyle = "BaseStyle" T9I$6HAi  
    ActiveDocument.Styles("QLNU正文").AutomaticallyUpdate = False LRg]'?  
    With ActiveDocument.Styles("QLNU正文").Font `/Rqt+C  
         eXMIRus(  
        .NameFarEast = "宋体" xr{Ym99E$  
        .NameAscii = "Times New Roman" 3@qv[yOE  
        .NameOther = "宋体" ^vPsp?  
        .Name = "宋体" gXlcB~!  
         3%bhW9H%  
        .Size = 12               '小四号 MI'"Xzp{s  
         WrSc@j&Ycv  
        .Bold = wdUndefined *FktI\tS  
        .Italic = wdUndefined l^d'8n  
        .Subscript = wdUndefined Fuzb4Df  
        .Superscript = wdUndefined 0>8w On  
         0k{\W  
        .Outline = False y|)VNnWM  
        .Emboss = False /y$Fw9R;  
        .Shadow = False =kfa1kD&{  
        .Hidden = False ]'"Sa< ->  
         $~iZaX8&  
        .DisableCharacterSpaceGrid = True 7f}uRXBV$A  
    End With bU}v@Uk  
    With ActiveDocument.Styles("QLNU正文").ParagraphFormat YrJUs]A  
         ,~=]3qmbR  
        .LeftIndent = CentimetersToPoints(0) l=b!O  
        .RightIndent = CentimetersToPoints(0) 2Kf/Id1  
        .FirstLineIndent = CentimetersToPoints(0) 0ki- /{;  
         <gFa@at  
        .LineSpacingRule = wdLineSpaceExactly &y}7AV  
        .LineSpacing = 20 ^Fh*9[Zf$  
        .Alignment = wdAlignParagraphLeft pY@QR? F\  
         1f<R,>  
        .WidowControl = False p0WUF\ "  
        .KeepWithNext = False e6>G8d  
        .KeepTogether = False aop Z-^  
        .PageBreakBefore = False OxYAM,F  
        .Hyphenation = False v2E<~/|  
         u5Vgi0}A  
        .OutlineLevel = wdOutlineLevelBodyText SAdE9L =d  
         *g,ls(r\[  
       I`_I^C3  
        .CharacterUnitLeftIndent = 0 *!ng)3#  
        .CharacterUnitRightIndent = 0 Z[OX {_2]K  
        .CharacterUnitFirstLineIndent = 2 B ,cFvS  
         9OV@z6  
        .LineUnitBefore = 0 0F@~[W|2  
        .LineUnitAfter = 0 v UVFW'-  
        .SpaceBefore = 0 (jA5 `4>u  
        .SpaceAfter = 0 _FYA? d}  
         q~b# ml2QS  
        .DisableLineHeightGrid = True ~1%*w*  
    End With GTM0Qvf?  
    ActiveDocument.Styles("QLNU正文").NoSpaceBetweenParagraphsOfSameStyle = False In^mE(8YO  
    ActiveDocument.Styles("QLNU正文").ParagraphFormat.TabStops.ClearAll ^8;MY5Wbs  
    ActiveDocument.Styles("QLNU正文").LanguageID = wdSimplifiedChinese xa@$cxt  
    ActiveDocument.Styles("QLNU正文").NoProofing = True M2|!,2  
    DoEvents aZ4?! JW.  
     D>[Sib/@  
    '图片段落样式 nj'5iiV`]  
    ActiveDocument.Styles("QLNU图片段落").BaseStyle = ActiveDocument.Styles("BaseStyle") [B# XA}w  
    ActiveDocument.Styles("QLNU图片段落").NextParagraphStyle = "BaseStyle" Gk { 'U  
    ActiveDocument.Styles("QLNU图片段落").AutomaticallyUpdate = False Q(]m1\a  
    With ActiveDocument.Styles("QLNU图片段落").Font mmbe.$73  
        .Size = 12               '小四号 ,puoq {  
        .Italic = wdUndefined ;_vhKU)%J#  
        .Subscript = wdUndefined p X{wEc6}  
        .Superscript = wdUndefined mpug#i6q  
    End With mLqqo2u  
    With ActiveDocument.Styles("QLNU图片段落").ParagraphFormat CYLab5A  
         E<Zf!!3  
        .LeftIndent = CentimetersToPoints(0) ?W{+[OXs  
        .RightIndent = CentimetersToPoints(0) zXx/\B$&d*  
        .FirstLineIndent = CentimetersToPoints(0) HoABo:  
         X2@Ef2EkM  
        .LineSpacingRule = wdLineSpaceSingle m~5 unB9  
        .Alignment = wdAlignParagraphCenter dI ,A;.  
        .KeepWithNext = True fwv^dEe  
        .OutlineLevel = wdOutlineLevelBodyText Ai1"UYk\\Y  
         \^*:1=|7u]  
        .CharacterUnitLeftIndent = 0 rP3tFvOH  
        .CharacterUnitRightIndent = 0 &J&'J~N  
        .CharacterUnitFirstLineIndent = 0 _i}b]xfM  
         88~Nrl=co  
        .LineUnitBefore = 0 6qHD&bv\%C  
        .LineUnitAfter = 0 B`Z3e%g#  
    End With X7h uc*  
    ActiveDocument.Styles("QLNU图片段落").NoSpaceBetweenParagraphsOfSameStyle = False Tc/^h 4xH  
    ActiveDocument.Styles("QLNU图片段落").ParagraphFormat.TabStops.ClearAll wKLYyetM!  
    ActiveDocument.Styles("QLNU图片段落").LanguageID = wdSimplifiedChinese b^Z2Vf:k]  
    ActiveDocument.Styles("QLNU图片段落").NoProofing = True j*<J&/luYZ  
    DoEvents J`U]Ux/L  
     hHN[K  
     xeSch?}  
    '第X章 pE&G]ZC  
    ActiveDocument.Styles("QLNU章节标题").BaseStyle = ActiveDocument.Styles("BaseStyle") 'RV96lX<  
    ActiveDocument.Styles("QLNU章节标题").NextParagraphStyle = "BaseStyle" \Q|-Npw  
    ActiveDocument.Styles("QLNU章节标题").AutomaticallyUpdate = False wn5OgXxG<  
    With ActiveDocument.Styles("QLNU章节标题").Font Ohk\P;}  
        .NameFarEast = "黑体" ]JjS$VMauX  
        .NameAscii = "Arial Black" =^rt?F4  
        .NameOther = "Arial Black" NgDhd OB  
        .Name = "黑体" x*7A33@i  
        .Size = 16 nsR CDUCi  
        .Bold = True |@iM(MM[?  
        .UnderlineColor = wdColorAutomatic % -!%n= P  
        .Outline = False .DhI3'Jrl  
        .Italic = wdUndefined ~ tA ^K  
        .Subscript = wdUndefined  x<gmDy*  
        .Superscript = wdUndefined iHG VR  
        .Scaling = 100 %-blx)Pc  
        .DisableCharacterSpaceGrid = True Kf:!tRE  
    End With {&,p<5o  
    With ActiveDocument.Styles("QLNU章节标题").ParagraphFormat EL$DvJ~  
        .LineSpacingRule = wdLineSpaceSingle P!W%KobZ7|  
        .Alignment = wdAlignParagraphCenter 9?H$0xZV  
        .WidowControl = True z3uR1vF'  
        .KeepWithNext = True i90X0b-A  
        .KeepTogether = True #QoWne Z  
        .PageBreakBefore = True C P}fxDW  
        .OutlineLevel = wdOutlineLevelBodyText |+q_kx@?l  
         5G}4z>-]F)  
        .LeftIndent = CentimetersToPoints(0) P+o"]/7U  
        .RightIndent = CentimetersToPoints(0) ^A@f{g$KB+  
        .FirstLineIndent = CentimetersToPoints(0) miaH,hm  
         {P8d^=#q  
        .CharacterUnitLeftIndent = 0 ] #@:VR  
        .CharacterUnitRightIndent = 0 K9#kdo1 2  
        .CharacterUnitFirstLineIndent = 0 lH4Nbluc^  
         &SE}5ddC7  
        .LineUnitBefore = 1 b!]O]dk#  
        .LineUnitAfter = 0.5 IQPu%n{0v  
         ?Fl}@EA#M  
        .AutoAdjustRightIndent = False >+a\BK"k  
        .DisableLineHeightGrid = True l&ueD& *4&  
        .FarEastLineBreakControl = True |@X^_L.!  
        .WordWrap = True /P*XB%y  
    End With ->b5" {t  
    ActiveDocument.Styles("QLNU章节标题").NoSpaceBetweenParagraphsOfSameStyle = False H54RA6$>  
    ActiveDocument.Styles("QLNU章节标题").ParagraphFormat.TabStops.ClearAll Ojc Tu  
    ActiveDocument.Styles("QLNU章节标题").LanguageID = wdSimplifiedChinese +Ww] %`_  
    ActiveDocument.Styles("QLNU章节标题").NoProofing = True KSPa2>lz?  
    DoEvents $Y|OGZH8E  
     * @4@eQF  
    '表格标题 y''~j<'  
    ActiveDocument.Styles("QLNU表格标题").BaseStyle = ActiveDocument.Styles("BaseStyle") <R]m(  
    ActiveDocument.Styles("QLNU表格标题").NextParagraphStyle = "BaseStyle" 'Gn>~m  
    ActiveDocument.Styles("QLNU表格标题").AutomaticallyUpdate = False 5v)^4( )  
    With ActiveDocument.Styles("QLNU表格标题").Font ed,A'S= d  
        .NameFarEast = "楷体" fEZuv?@  
        .NameAscii = "Arial" _u[tv,  
        .Name = "楷体" vTK%4=|1}!  
        .Size = 10.5 FMVAXOO  
        .Bold = True )XDBK* !  
        .Underline = wdUnderlineNone >[;W ~*  
        .Italic = wdUndefined LS[o7!T(  
        .Subscript = wdUndefined KEOk%'c,  
        .Superscript = wdUndefined v0\l~_|H  
        .Color = wdColorAutomatic JD$g%hcVZa  
    End With  `Eh>E,  
    With ActiveDocument.Styles("QLNU表格标题").ParagraphFormat ]eKuR"ob0  
          4u:SE   
        .LineSpacingRule = wdLineSpaceSingle 7\6g>4J^`  
        .Alignment = wdAlignParagraphCenter 4=^_VDlpd  
        .KeepWithNext = True uvbVb"\"Yk  
        .KeepTogether = True l;iU9<~  
        .OutlineLevel = wdOutlineLevelBodyText SUc%dpXZa  
         idYB.]Y(  
        .LeftIndent = CentimetersToPoints(0) /*qRbN  
        .RightIndent = CentimetersToPoints(0) ['IH*gi  
        .FirstLineIndent = CentimetersToPoints(0) F0<)8{s  
         y(J~:"}7)  
        .CharacterUnitLeftIndent = 0 ?XHQdN3e  
        .CharacterUnitRightIndent = 0 ?}KRAtJ8  
        .CharacterUnitFirstLineIndent = 0 ^v; )6a2  
         kkq1:\pZ]a  
        .LineUnitBefore = 1 i/ /H5D3  
        .LineUnitAfter = 0 )%K<pIk  
         ]bY|>q  
    End With Y"mFUW4  
    ActiveDocument.Styles("QLNU表格标题").NoSpaceBetweenParagraphsOfSameStyle = False OT 0c5x  
    ActiveDocument.Styles("QLNU表格标题").ParagraphFormat.TabStops.ClearAll ;;,7Jon2  
    ActiveDocument.Styles("QLNU表格标题").LanguageID = wdSimplifiedChinese Zk=,`sBC  
    ActiveDocument.Styles("QLNU表格标题").NoProofing = True /TpTR-\I0  
    DoEvents 4aS}b3=n  
<gF]9%2E  
    '表格首行 "U}kp#)  
    ActiveDocument.Styles("QLNU表格首行").BaseStyle = ActiveDocument.Styles("BaseStyle") {$^'oR k  
    ActiveDocument.Styles("QLNU表格首行").AutomaticallyUpdate = False 9r?Z'~,Za  
    With ActiveDocument.Styles("QLNU表格首行").Font qPQIcJ  
        .NameFarEast = "楷体" |(.\J`_e  
        .NameAscii = "Times New Roman" #dZs[R7h  
        .Name = "楷体" /}m)FaAi  
        .Size = 9 . ^wpfS  
        .Bold = True CeYhn\m5K0  
        .Underline = wdUnderlineNone u"HGT=Nl  
        .Italic = wdUndefined |UB$^)Twb  
        .Subscript = wdUndefined 1,fR kQ  
        .Superscript = wdUndefined .$&^yp  
    End With "N}t =3i$  
    With ActiveDocument.Styles("QLNU表格首行").ParagraphFormat > 5CK&6  
        .LineSpacingRule = wdLineSpaceSingle j}^w :W76  
        .Alignment = wdAlignParagraphCenter /f#b;qa,  
         S~Gse+*  
        .LeftIndent = CentimetersToPoints(0) sUG!dwqqd  
        .RightIndent = CentimetersToPoints(0) A<+Dx  
        .FirstLineIndent = CentimetersToPoints(0) g$K\rA  
         +HS]kFH  
         KoERg&fY  
        .CharacterUnitLeftIndent = -0.5  J#(AX6  
        .CharacterUnitRightIndent = -0.5 3YvKHn|V"  
        .CharacterUnitFirstLineIndent = -0.5  gHe:o`  
         5%I3eL%s  
        .LineUnitBefore = 0 gK rUv0&F  
        .LineUnitAfter = 0 N{v)pu.  
        .SpaceBefore = 0 .?45:Ey~g  
        .SpaceAfter = 0 B]X8KzLu  
         Ek L2 nI  
    End With NI s7v  
    ActiveDocument.Styles("QLNU表格首行").NoSpaceBetweenParagraphsOfSameStyle = False w 5%Yi {  
    ActiveDocument.Styles("QLNU表格首行").ParagraphFormat.TabStops.ClearAll iJzBd7  
    ActiveDocument.Styles("QLNU表格首行").LanguageID = wdSimplifiedChinese WQ9e ~D"  
    ActiveDocument.Styles("QLNU表格首行").NoProofing = True %zcA|SefP  
    DoEvents _9h$8(wjn  
(.4lsKN<  
    '表格内容 >of34C"DI  
    ActiveDocument.Styles("QLNU表格内容").BaseStyle = ActiveDocument.Styles("BaseStyle") n o*)M7  
    ActiveDocument.Styles("QLNU表格内容").AutomaticallyUpdate = False Vf cIR(  
    With ActiveDocument.Styles("QLNU表格内容").Font <F7a!$zQ  
        .NameFarEast = "楷体" QF>T)1&J[7  
        .NameAscii = "Times New Roman" h!w::cV  
        .Name = "楷体" x"b'Pmw  
        .Size = 9 &en. m>9,  
        .Bold = False | [.-pA^  
        .Underline = wdUnderlineNone C8-7XQ=B:b  
        .Italic = wdUndefined }X)vktE+|  
        .Subscript = wdUndefined /.SG? 5t4  
        .Superscript = wdUndefined M6g8+sio  
    End With sycAAmH<  
    With ActiveDocument.Styles("QLNU表格内容").ParagraphFormat {srP3ll P  
        .LineSpacingRule = wdLineSpaceSingle Y}ogwg&  
        .Alignment = wdAlignParagraphCenter (uC8M,I\  
         f!'i5I]  
        .LeftIndent = CentimetersToPoints(0) I){4 MoH.  
        .RightIndent = CentimetersToPoints(0) q/ljH_-  
        .FirstLineIndent = CentimetersToPoints(0) D>7a0p784  
         O <Rh[Aqn  
        .CharacterUnitLeftIndent = -0.5 ?4b0\ -  
        .CharacterUnitRightIndent = -0.5 hP"2X"kz&  
        .CharacterUnitFirstLineIndent = -0.5 HA,o2jZ?In  
        .LineUnitBefore = 0 U ]<l-~|  
        .LineUnitAfter = 0 BP3Ha8/X  
        .SpaceBefore = 0 i\sBey ND"  
        .SpaceAfter = 0 tAv3+  
    End With yNvAT>H  
    ActiveDocument.Styles("QLNU表格首行").NoSpaceBetweenParagraphsOfSameStyle = False IXy6Yn9l  
    ActiveDocument.Styles("QLNU表格首行").ParagraphFormat.TabStops.ClearAll E.K^v/dNdq  
    ActiveDocument.Styles("QLNU表格首行").LanguageID = wdSimplifiedChinese L2XhrLK.|  
    ActiveDocument.Styles("QLNU表格首行").NoProofing = True E=8'!  
    DoEvents b > D  
"`% ,l|D  
    '图片标题 fmW{c mr|  
    ActiveDocument.Styles("QLNU图片标题").BaseStyle = ActiveDocument.Styles("BaseStyle") 27SHj9I  
    ActiveDocument.Styles("QLNU图片标题").NextParagraphStyle = "BaseStyle" 3x[C pg ,  
    ActiveDocument.Styles("QLNU图片标题").AutomaticallyUpdate = False *{ rorir  
    With ActiveDocument.Styles("QLNU图片标题").Font r)^sHpK:`  
        .NameFarEast = "楷体" F rc  kA  
        .NameAscii = "Times New Roman" 1=)M15  
        .Name = "楷体" |&#N&t  
        .Size = 10.5  (Q8!5s  
        .Bold = True ? "I %K%  
        .Underline = wdUnderlineNone ;%e)t[5  
        .Italic = wdUndefined 2{=]Pf  
        .Subscript = wdUndefined hE&6;3">  
        .Superscript = wdUndefined %,T*[d&i  
        .Outline = False 1iF=~@Nz_  
        .Shadow = False ,jY:@<n  
        .Color = wdColorAutomatic >5FTB e[D  
    End With =~;~hZj  
    With ActiveDocument.Styles("QLNU图片标题").ParagraphFormat k'o[iKlu  
        .LineSpacingRule = wdLineSpaceSingle \W*L9azr  
        .Alignment = wdAlignParagraphCenter eh9 ?GUr5  
         R l ]x:  
        .KeepWithNext = wdUndefined R;OPY?EeW  
        .KeepTogether = True wK(]E%\  
        .OutlineLevel = wdOutlineLevelBodyText E{\CE1*  
         hY&Yp^"}]^  
        .LeftIndent = CentimetersToPoints(0) gc A:Q4  
        .RightIndent = CentimetersToPoints(0) gC1LQ!:;Oi  
        .FirstLineIndent = CentimetersToPoints(0) VVeJe"!t  
         u9"=t  
        .CharacterUnitLeftIndent = 0 >$D!mraih  
        .CharacterUnitRightIndent = 0 ZO<,V  
        .CharacterUnitFirstLineIndent = 0 h&'|^;FM  
         A6]:BuP;c  
        .LineUnitBefore = 0 aC,adNub  
        .LineUnitAfter = 0 >Z!!`0{  
    End With 'zYS:W  
    ActiveDocument.Styles("QLNU图片标题").NoSpaceBetweenParagraphsOfSameStyle = False ;E.]:Ia~  
    ActiveDocument.Styles("QLNU图片标题").ParagraphFormat.TabStops.ClearAll qX@e+&4P0  
    ActiveDocument.Styles("QLNU图片标题").LanguageID = wdSimplifiedChinese &s".hP6  
    ActiveDocument.Styles("QLNU图片标题").NoProofing = True QY;(Ny/(y  
    DoEvents NH/A`Wm  
e0P[,e*0  
    '目录项 cfIC(d  
    ActiveDocument.Styles("QLNU目录项").BaseStyle = ActiveDocument.Styles("BaseStyle") D{+@ ,C7B  
    ActiveDocument.Styles("QLNU目录项").NextParagraphStyle = "BaseStyle" l e/j!  
    ActiveDocument.Styles("QLNU目录项").AutomaticallyUpdate = False So 1TH%  
    With ActiveDocument.Styles("QLNU目录项").Font KuP#i]Na  
        .NameFarEast = "黑体" *)E${\1'<  
        .NameAscii = "Times New Roman"  vD#U +  
        .NameOther = "Times New Roman" Jpapl%7v  
        .Name = "黑体" W![K#r5T  
        .Size = 10.5 {[!<yUJ`S#  
        .Bold = False n6oOk nCna  
        .Italic = wdUndefined ^C'S-2nGH  
        .Underline = wdUnderlineNone R #wZW&N  
        .Color = wdColorAutomatic +pR,BjY  
        .Superscript = wdUndefined ~[Tcl  
        .Subscript = wdUndefined lx|Aw@C3~  
    End With GB$`b'x@S  
    With ActiveDocument.Styles("QLNU目录项").ParagraphFormat On*I.~  
         _KM? ?&  
        .LineSpacingRule = wdLineSpaceSingle F'K >@y  
        .Alignment = wdAlignParagraphLeft =Kkqk  
         ;^ME  
        .WidowControl = False 0"R>:f}  
        .KeepWithNext = False uyYV_Q0~;  
        .KeepTogether = False B'yjMY![  
        .PageBreakBefore = False JR] 2Ray  
        .NoLineNumber = False t(3 f} ?  
        .OutlineLevel = wdOutlineLevelBodyText ]yPK}u  
         lx+;<la  
        .LeftIndent = CentimetersToPoints(0) rDWAZ<;;  
        .RightIndent = CentimetersToPoints(0) kPX+n+$  
        .FirstLineIndent = CentimetersToPoints(0) MqZ"Js  
         &Sd5]r@+  
        .CharacterUnitLeftIndent = 0 0b{jox\!B  
        .CharacterUnitRightIndent = 0 @AZNF+ \W$  
        .CharacterUnitFirstLineIndent = 0 Jw]!x1rF~  
         $)#orZtzr  
        .LineUnitBefore = 0 )gd eFA V  
        .LineUnitAfter = 0 RhowhQ)G  
    End With uY5|Nmiu  
    ActiveDocument.Styles("QLNU目录项").NoSpaceBetweenParagraphsOfSameStyle = False >kQp@r\nQ  
    ActiveDocument.Styles("QLNU目录项").ParagraphFormat.TabStops.ClearAll bN_e~z  
    ActiveDocument.Styles("QLNU目录项").ParagraphFormat.TabStops.Add Position:=PicasToPoints(44.5), Alignment:=wdAlignTabRight, Leader:=wdTabLeaderMiddleDot . Vb|le(7  
    ActiveDocument.Styles("QLNU目录项").LanguageID = wdSimplifiedChinese Jx+6Kq(  
    ActiveDocument.Styles("QLNU目录项").NoProofing = True }k }=e  
    DoEvents 64u(X^i  
     3'uXU<W!  
    '参考文献 @\g}I`_M  
    ActiveDocument.Styles("QLNU参考文献").BaseStyle = ActiveDocument.Styles("BaseStyle") t<v.r b  
    ActiveDocument.Styles("QLNU参考文献").NextParagraphStyle = "BaseStyle" Ji nh#iar  
    ActiveDocument.Styles("QLNU参考文献").AutomaticallyUpdate = False !/p|~K  
    With ActiveDocument.Styles("QLNU参考文献").Font 3;v)f":[  
        .NameFarEast = "宋体" V;: k-  
        .NameAscii = "Times New Roman" ,?8a3%  
        .NameOther = "Times New Roman" }+!"mJx@  
        .Name = "Times New Roman" xrg"/?84  
        .Size = 12 %tVU Rj  
        .Bold = False D)-LZbPa  
        .Italic = wdUndefined AY52j  
        .Subscript = wdUndefined 21v--wZ  
        .Superscript = wdUndefined |?88EG@05  
        .Underline = wdUnderlineNone liS'  
        .UnderlineColor = wdColorAutomatic p :xyy*I  
        .Color = wdColorAutomatic TDo)8+.2 z  
        .Engrave = False N?qETp-:  
    End With '/I`dj  
    With ActiveDocument.Styles("QLNU参考文献").ParagraphFormat S(PV*e8  
         0T`Qoo>u  
        .LineSpacingRule = wdLineSpaceExactly JQKXbsXS  
        .LineSpacing = 16 !gkr?yhE  
        .Alignment = wdAlignParagraphLeft Z|_V ;*  
        .WidowControl = False }eLApFHEDg  
        .KeepWithNext = False |qX ?F`  
        .KeepTogether = False 3 `_/h' ~  
        .PageBreakBefore = False O!"K'Bm  
        .OutlineLevel = wdOutlineLevelBodyText \Eh5g/,[  
         x"z\d,O%W  
        .LeftIndent = CentimetersToPoints(0) d_,Mylk  
        .RightIndent = CentimetersToPoints(0) wH|%3 @eJ  
        .FirstLineIndent = CentimetersToPoints(0) S>dHBR#AD  
         J2Dn  
        .CharacterUnitLeftIndent = 0 4np2I~ !  
        .CharacterUnitRightIndent = 0 li%@HdA!  
        .CharacterUnitFirstLineIndent = -2 }uIQ@f`  
         pb97S^K[  
        .LineUnitBefore = 0 |m-N5$\IC  
        .LineUnitAfter = 0 &| (K#|^@  
        .SpaceBefore = 0 )xcjQkb  
        .SpaceAfter = 0 N w. )O  
         2 ,nhs,FZ  
    End With :<aGZ\R5  
    ActiveDocument.Styles("QLNU参考文献").NoSpaceBetweenParagraphsOfSameStyle = False Y!M0JSaM  
    ActiveDocument.Styles("QLNU参考文献").ParagraphFormat.TabStops.ClearAll uj3`M9  
    ActiveDocument.Styles("QLNU参考文献").LanguageID = wdEnglishUS 8|Tqk,/pD  
    ActiveDocument.Styles("QLNU参考文献").NoProofing = True _#K|g#p5  
    ActiveDocument.Styles("QLNU参考文献").LanguageID = wdSimplifiedChinese 25OQY.>bE  
    DoEvents "e-Y?_S7R8  
4XAB_Q  
    ' I%.nPOQ 8  
    ActiveDocument.Styles("QLNU论文题目").BaseStyle = ActiveDocument.Styles("BaseStyle") v\w*VCjoV  
    ActiveDocument.Styles("QLNU论文题目").NextParagraphStyle = "BaseStyle" $s _k/dM~&  
    ActiveDocument.Styles("QLNU论文题目").AutomaticallyUpdate = False 11l=zv  
    With ActiveDocument.Styles("QLNU论文题目").Font 7g*!6-W[  
        .NameFarEast = "黑体" vl/!w2  
        .NameAscii = "Arial Black" FsqH:I4O  
        .NameOther = "Arial Black" 1`?o#w  
        .Name = "Arial Black" 3V]dl)en%  
        .Size = 16 ~u*4k:2H  
        .Bold = False ;!HQ!#B  
        .Italic = wdUndefined 9y7hJib  
        .Superscript = wdUndefined 8U@f/ P  
        .Subscript = wdUndefined Hdyl]q-(P  
        .Underline = wdUnderlineNone --]blP7  
        .UnderlineColor = wdColorAutomatic $ #!oejLD  
        .Color = wdColorAutomatic HB )+.e  
|.9PwD8~VD  
    End With ]C^ #)7  
    With ActiveDocument.Styles("QLNU论文题目").ParagraphFormat x;W!sO@$  
        .LineSpacingRule = wdLineSpaceSingle  C O6}D  
        .Alignment = wdAlignParagraphCenter 3N >V sl  
        .WidowControl = True 7FH-l(W  
        .KeepWithNext = True CNRSc 4Le  
        .KeepTogether = True Kz;Ar&^`N  
        .PageBreakBefore = True q;9X8 _  
        .NoLineNumber = False W<q<}RSn  
        .OutlineLevel = wdOutlineLevelBodyText h?TIxo:6/  
         sO ) H#G  
        .LeftIndent = CentimetersToPoints(0) diXWm-ZKL  
        .RightIndent = CentimetersToPoints(0) uYebRCdR  
        .FirstLineIndent = CentimetersToPoints(0) B*G]Dr)e  
         +^9^)Ur|  
        .CharacterUnitLeftIndent = 0 ZW;Ec+n_K  
        .CharacterUnitRightIndent = 0 +j: &_  
        .CharacterUnitFirstLineIndent = 0 {e&fBX6;  
         :0@0muo  
        .LineUnitBefore = 1  wp~}1]g  
        .LineUnitAfter = 1 Sv#MlS>  
         ?Q_ @@)  
        .BaseLineAlignment = wdBaselineAlignAuto &~eCDlX /  
    End With ;y-JR$M  
    ActiveDocument.Styles("QLNU论文题目").NoSpaceBetweenParagraphsOfSameStyle = False ]ttF''lH  
    ActiveDocument.Styles("QLNU论文题目").ParagraphFormat.TabStops.ClearAll )y] Dmm  
    ActiveDocument.Styles("QLNU论文题目").LanguageID = wdEnglishUS P'h39XoZ  
    ActiveDocument.Styles("QLNU论文题目").NoProofing = True ! #Pn_e  
    ActiveDocument.Styles("QLNU论文题目").LanguageID = wdSimplifiedChinese ILCh1=?{9r  
    ActiveDocument.Styles("QLNU论文题目").NoProofing = True  !y@\w  
    DoEvents ;I5P<7VW  
     ?J$k 5;  
    '中文摘要 ;C-ds  
    ActiveDocument.Styles("QLNU中文摘要").BaseStyle = ActiveDocument.Styles("BaseStyle") {EZR}N  
    ActiveDocument.Styles("QLNU中文摘要").NextParagraphStyle = "BaseStyle" Ho(M O!(  
    ActiveDocument.Styles("QLNU中文摘要").AutomaticallyUpdate = False {eU>E /SQ  
    With ActiveDocument.Styles("QLNU中文摘要").Font NzZ(N z5  
        .NameFarEast = "宋体" h_ t`)]-  
        .NameAscii = "Times New Roman" UG.:D';3,  
        .NameOther = "Times New Roman" EF&CV{Sw  
        .Name = "Times New Roman" % (h6m${j  
        .Size = 12 ubB1a_7  
        .Bold = wdUndefined ir'<H<t2  
        .Superscript = wdUndefined |gV~U~A]  
        .Subscript = wdUndefined W)1nc"WqY  
        .Italic = wdUndefined 6`2i'flv  
        .Underline = wdUnderlineNone qD%88c)g  
        .UnderlineColor = wdColorAutomatic JX'}+.\  
        .Color = wdColorAutomatic w&IYCYK_  
    End With uyEk1)HC  
    With ActiveDocument.Styles("QLNU中文摘要").ParagraphFormat t5 >ma:^j  
        .LineSpacingRule = wdLineSpaceExactly \:h7,[e  
        .LineSpacing = 20 KF&8l/f  
        .Alignment = wdAlignParagraphLeft dkg`T#}  
         lfBCzxifC  
        .WidowControl = False h HHR]e5:  
        .KeepWithNext = False r ~=+>, _  
        .KeepTogether = True pOK=o$1V8  
        .PageBreakBefore = False "L5w]6C4  
        .NoLineNumber = False 3q4VH q  
        .OutlineLevel = wdOutlineLevelBodyText Vw ;iE=L  
         $l)RMP}  
        .LeftIndent = CentimetersToPoints(0) O=}w1]  
        .RightIndent = CentimetersToPoints(0) PoZ$3V$(Lz  
        .FirstLineIndent = CentimetersToPoints(0) G9x l-ag+z  
         kQU4s)J  
        .CharacterUnitLeftIndent = 0 G!`%.tH  
        .CharacterUnitRightIndent = 0 %x#S?GMV<  
        .CharacterUnitFirstLineIndent = 2 g Nz  
        .LineUnitBefore = 0 \@PMj"p|:  
        .LineUnitAfter = 0 yuC"V'  
         =9,mt K~  
    End With hg12NzbK  
    ActiveDocument.Styles("QLNU中文摘要").NoSpaceBetweenParagraphsOfSameStyle = False t _ CMsp  
    ActiveDocument.Styles("QLNU中文摘要").ParagraphFormat.TabStops.ClearAll ]|F`; }7  
    ActiveDocument.Styles("QLNU中文摘要").LanguageID = wdEnglishUS T} \>8EEG  
    ActiveDocument.Styles("QLNU中文摘要").NoProofing = True .;31G0<w2  
    ActiveDocument.Styles("QLNU中文摘要").LanguageID = wdSimplifiedChinese 1]>JMh%X9t  
    ActiveDocument.Styles("QLNU中文摘要").NoProofing = True ,w"cY?~<  
    ActiveDocument.Styles("QLNU中文摘要").Frame.Delete >W+,(kAS  
    DoEvents e| C2/U-  
     [e,xC!2  
    ActiveDocument.Styles("QLNU英文标题").BaseStyle = ActiveDocument.Styles("BaseStyle") 7r,GdP.  
    ActiveDocument.Styles("QLNU英文标题").NextParagraphStyle = "BaseStyle" #HL$`&m  
    ActiveDocument.Styles("QLNU英文标题").AutomaticallyUpdate = False 8]&Fu3M^  
    With ActiveDocument.Styles("QLNU英文标题").Font bBINjs8C_  
        .NameFarEast = "黑体" R[F `b  
        .NameAscii = "Arial Narrow" fV9+FOZn  
        .Name = "Arial Narrow" .\H-?6R^  
        .Size = 16 euY+jc%  
        .Bold = True @}jg5}  
        .Bold = wdUndefined 3K(/=  
        .Superscript = wdUndefined ^XyC[ G@[  
        .Subscript = wdUndefined .z CkB86  
        .Italic = wdUndefined \Uh/(q7  
         5<X"+`=9  
        .Underline = wdUnderlineNone =?L16mu1&  
        .UnderlineColor = wdColorAutomatic dw#pObH|`  
        .StrikeThrough = False MuO(%.H  
        .DoubleStrikeThrough = False "o%okN  
    End With Qv,ORm h5  
    With ActiveDocument.Styles("QLNU英文标题").ParagraphFormat >WO;q  
        .LineSpacingRule = wdLineSpaceSingle FXk*zXn6  
        .Alignment = wdAlignParagraphCenter n<EIu  
        .WidowControl = True }#Up:o]A!  
        .KeepWithNext = False -DGuaUU  
        .KeepTogether = False  l  
        .PageBreakBefore = False ?/}IDwuh  
        .NoLineNumber = False %Lx#7bR U  
        .FirstLineIndent = CentimetersToPoints(0) % A 5s?J?  
        .OutlineLevel = wdOutlineLevelBodyText fC"? r6d  
         )cgNf]oy  
        .LeftIndent = CentimetersToPoints(0) e]1) _;b*  
        .RightIndent = CentimetersToPoints(0) (xfy?N  
        .FirstLineIndent = CentimetersToPoints(0) tZ) ,Z<  
         UptKN|S&V  
        .CharacterUnitLeftIndent = 0 _0[s]  
        .CharacterUnitRightIndent = 0 wR 2`* .O  
        .CharacterUnitFirstLineIndent = 0 %eF=;q  
         "pX|?ap  
        .LineUnitBefore = 1 LB7$&.m'B  
        .LineUnitAfter = 1 @6_w{6:b  
         /hg^hF  
    End With W;Dik%^tg  
    ActiveDocument.Styles("QLNU英文标题").NoSpaceBetweenParagraphsOfSameStyle = False K u6ndc  
    ActiveDocument.Styles("QLNU英文标题").ParagraphFormat.TabStops.ClearAll Oc~<`C~  
    ActiveDocument.Styles("QLNU英文标题").LanguageID = wdEnglishUS JWu0VLo  
    ActiveDocument.Styles("QLNU英文标题").NoProofing = True 9XUYy2{G  
    ActiveDocument.Styles("QLNU英文标题").LanguageID = wdSimplifiedChinese .4 NcaMj  
    ActiveDocument.Styles("QLNU英文标题").NoProofing = True G{pF! q  
    ActiveDocument.Styles("QLNU英文标题").Frame.Delete b7'A5 ]X  
    DoEvents xxGQXW  
S41S+#7t*  
    ActiveDocument.Styles("QLNU英文摘要").BaseStyle = ActiveDocument.Styles("BaseStyle") *W=1yPP  
    ActiveDocument.Styles("QLNU英文摘要").NextParagraphStyle = "BaseStyle" O&CY9 2)Lk  
    ActiveDocument.Styles("QLNU英文摘要").AutomaticallyUpdate = False Lz9|"F"V  
    With ActiveDocument.Styles("QLNU英文摘要").Font WO69Wo\C  
        .NameFarEast = "宋体" Aa-OMo;~  
        .NameAscii = "Arial" R8.@5g_  
        .NameOther = "Arial" Mj0jpP<uf  
        .Name = "Arial" }K.)yv n  
        .Size = 12 0<-A2O),  
        .Bold = wdUndefined ER`;0#3[9u  
        .Italic = wdUndefined *` -  
        .Superscript = wdUndefined 9R+ qw  
        .Subscript = wdUndefined %7[d5[U~ZA  
    End With 5!i\S[:  
     `j2|aX %Z*  
    With ActiveDocument.Styles("QLNU英文摘要").ParagraphFormat G"J 8i|~  
         CC6]AM(i  
        .LineSpacingRule = wdLineSpaceExactly (<`> B  
        .LineSpacing = 20 iMYJVB=  
         UM1h[#?&V)  
        .Alignment = wdAlignParagraphJustify ) fuAd G  
         \Pfm>$Ib=  
        .WidowControl = False D(_j;?i  
        .KeepWithNext = False 2e,cE6r  
        .KeepTogether = False ;[C_ho  
        .PageBreakBefore = False DBfq9%J _  
        .NoLineNumber = False s7`2ky()kz  
         z/o&r`no  
        .OutlineLevel = wdOutlineLevelBodyText }P!:0w3  
         rJ4A9d3:  
        .LeftIndent = CentimetersToPoints(0) Yg!fEopLb  
        .RightIndent = CentimetersToPoints(0) oj6=.   
        .FirstLineIndent = CentimetersToPoints(0) 'uqY%&U  
         k:U%#r b;  
        .CharacterUnitLeftIndent = 0 ckdCd J  
        .CharacterUnitRightIndent = 0 Fyz1LOH[X  
        .CharacterUnitFirstLineIndent = 2 RXO}mu]Iu  
         'eQ*?a43  
        .LineUnitBefore = 0 8N<2RT8W  
        .LineUnitAfter = 1 Q9X+H4`}y  
         'cN3Vv k  
    End With +s+E!=s  
    ActiveDocument.Styles("QLNU英文摘要").NoSpaceBetweenParagraphsOfSameStyle = False pmUC4=&e  
    ActiveDocument.Styles("QLNU英文摘要").ParagraphFormat.TabStops.ClearAll !9S!zRy@  
    ActiveDocument.Styles("QLNU英文摘要").LanguageID = wdEnglishUS 06af{FXsGb  
    ActiveDocument.Styles("QLNU英文摘要").NoProofing = False F6{Q1DqI  
    DoEvents _y[B/C,q  
uMFV^&ZF  
    Options.Pagination = True >U:.5Tch'V  
    Me.txtStatus.Text = "样式修改完成,重新进行分页,请稍候....." IjPt JwW`A  
    DoEvents 2Zq_zvKUt  
    ActiveDocument.Repaginate c~Y  g(  
_Pw5n mH c  
End Sub #%CB`l  
-<\hcV`&  
gfXit$s  
杺栫杣杊椌柮栬,䒴蓉艿芖。
伍胥之 离线
级别: 军区司令员

显示用户信息 
99楼  发表于: 2021-07-18   
继续填个坑: |HTTTz9R.  
=W '{xG}  
用VBA控制WORD自己修订学生毕业文的格式。 .Nd_p{   
杺栫杣杊椌柮栬,䒴蓉艿芖。
伍胥之 离线
级别: 军区司令员

显示用户信息 
98楼  发表于: 2021-01-02   
继续填 BotNET 或Pynthon? 有没有XDJMs接龙啊 ? Z&Z= 24q_  
n xx&aq(._  
杺栫杣杊椌柮栬,䒴蓉艿芖。
伍胥之 离线
级别: 军区司令员

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

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

ood ,k{  
rTYMN  
这个地方现在已经变化很大了。以前紧靠山东农科院的实验田
杺栫杣杊椌柮栬,䒴蓉艿芖。
伍胥之 离线
级别: 军区司令员

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

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

显示用户信息 
94楼  发表于: 2015-09-06   
拍下的火车 4ROuy+Ms'  
第6车皮 ;*409 P  

gOKF%Ej31T  
hy{1Ea/T  
第9车皮 YO`V'6\  
+*ZF52hy|  
  
杺栫杣杊椌柮栬,䒴蓉艿芖。
伍胥之 离线
级别: 军区司令员

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

一共这么多文件。 wj#A#[e  
LyA}Nd]pyq  
这是我用VB写出的最大的程序,也是用API最多的。
杺栫杣杊椌柮栬,䒴蓉艿芖。
伍胥之 离线
级别: 军区司令员

显示用户信息 
92楼  发表于: 2015-09-06   
这才是我当年写出的一个比较烂的程序 < k?jt  
k@/s-^ry3  
Main2.bas A~MIFr/8  
R8![ $mkU  
Attribute VB_Name = "SubMain" 1a>TJdoa  
Option Explicit j$jgEtPK9=  
XpU%09K  
'采集文件与临时文件 vv5 uU8  
Public Const TmpFile As String = "d:\30-0600.dat" 8|Vm6*TY&p  
'已有数据:30-0600.dat /30日早6点进车与6:30出车头 oVYW '~OID  
1^_V8dm)  
Public fStatus As Long, hFile As Long, bytesRW As Long, lptrFile As Long s(MLBV5)w  
Public hBCFile As Long  '记录采集参数的文件 #Z>EX?VS:  
Public Const TmpBMP As String = "d:\1.bmp" # 8fq6z|JZ  
Public hTmpFile As Long o/5loV3h  
WX X)_L$2  
yEB1gYJB  
'采集窗口参数常量 sbV {RS l  
Public Const FrameH As Long = 280& ~gJJ@j 0n  
Public Const FrameW As Long = 768& o+I'nFtnI  
Public Const pFrameSize As Long = FrameW * FrameH 5svM3  #  
}6!*H!  
'标志区范围,用于识别车辆 `37$YdX  
Public Const PilarC As Integer = 260   '识别标志立柱中线坐标X nb,+!)+  
Public Const mkW As Integer = 28  '识别标志立柱宽度  4fa2_  
Public Const mkH As Integer = 80 ''识别标志立柱高度(上白中黑下白) akB+4?+s)  
Public Const mkY As Integer = 4 ''识别标志立柱Y坐标(40-79白, 80-119黑,120-159白) 1aBQ.-E-  
Public Const mkX As Integer = PilarC - mkW / 2 '识别标志立柱X坐标 _@:O&G2nB  
'车缝检测位置常数 Vp j[)W%L  
Public Const sSize As Long = 32& &D*22R4{CX  
Public Const sPos As Long = 310& W2W4 w  
Public Const sPosL As Long = 200& z)&ZoSXWc  
Public Const sPosR As Long = 500& ;;? Zd  
'车缝检测框位置 N!iugGL  
Public Slice(1 To sSize, 1 To FrameH) As Byte G~N$bF^R)  
Public SliceL(1 To sSize, 1 To FrameH) As Byte S @[B?sNj  
Public SliceR(1 To sSize, 1 To FrameH) As Byte 4J ${gcju  
Public avSL As Integer, avSLR As Integer, avSLL As Integer ?3|jB?:k  
/<-@8CC<  
L>.* ^]  
Public MKpilar(1 To mkW * mkH) As Byte   '一维数组用于亮度对比度分析,比使用二维数组更便于VB编译优化 X[r\ Qa  
'该数组用于亮度对比度调节、车辆通过识别与车皮间隔识别 C])b 3tM,7  
Public BsLine(1 To 4 * FrameW) As Byte, bsAV As Integer  '图像的前4行。用于确定标志区的亮度与对比度范围 7 t ~12m8x  
Public PilarW As Long, PilarH As Long, PilarX As Long, PilarY As Long nht?58  
Public LeftBK(1 To 1024, 0 To 1) As Byte, RightBK(1 To 1024, 0 To 1) As Byte 1sN >U<  
'前后帧左右上角128列*8行像素块,根据平均值差绝对值判断进车方向 W5_aS2$  
h1+lVAQbT  
1'Y7h;\~\  
@^UnrKSd  
'一次连续采集的帧数 (Y>|P  
Public tFrames As Long GB\1'  
%e|.a)78  
'在采集卡申请的缓存中,是按帧为单位的,每一帧包含奇偶场两场的数据 wseb]=U  
'而该卡的硬件设置是按场采集,只需要读第一场的数据即可。 MWZH-aA(.  
'所以要设置的缓存帧的大小是frameW*frameH*2,而一场的数据量为pFrameSize " }oH3L  
Q@w=Jt<  
Public pFRAME(1 To FrameW, 1 To FrameH) As Byte gyf9D]W  
Public pBuffer(1 To FrameW * FrameH * 2) As Byte |\k,qVQ  
Public pWorkSpace(1 To FrameW * FrameH) As Long B(B77SOb  
Public Const pBufferSize As Long = FrameW * FrameH * 2 lbUUf}   
Public pGray(0 To 255) As Long '整幅图像的灰度直方图 PG*:3![2  
gOL-b9W  
Public hBoard As Long   '采集卡标识 # )]L3H<  
Public mBufferAddr As Long  '缓存地址 asd3J  
Public BufferSize As Long  '缓存大小(字节) N~t4qlC/  
Public iCurrentCard As Long T>qI,BEY  
Public CapStatus As Long nkii0YB!  
Public iFrames As Long 3yp?|> e  
Public currentBr As Byte, currentContr As Byte CE;J`;  
,ctm;T1H+  
Public hMEM As Long, mStatus As Long O|I)HpG;  
Public Const hMemSize As Long = pFrameSize * 4 nTQ&nu!  
Public hMemWork As Long ZxvBo4>tH  
Public Const hMemWorkSize As Long = pFrameSize * 5 oW\kJ>!  
rIJv(&l  
Ia!B8$$'RP  
yHIZpU|(j  
'串口接收轨道衡数据 `#x}-A$  
Public WeightFromCom As String |fhYf t  
Public bReceiveComplete As Boolean vE<z0 l  
3:~ *cU  
)o%sN'U,1  
Public Type GrayBMPHeader 0V[`zOO(o  
  Tag As Integer kK&M>)&o#  
  FileLength As Long    '文件大小 q9iHJ'lMD*  
  Reserve1 As Long ll8Zo+-[  
  DataOffset As Long    '图像数据偏移量 z(g6$Y{  
  BMPHeaderSize As Long  '文件头长 s !XJ   
                        'length of the bitmap info header used to describe the bitmap colors, compression,… S?K x:]  
                        'the following sizes are possible: MR`lF-|a|  
                        '28h - windows 3.1x, 95, nt, … |w3b!  
                        '0ch - os/2 1.x `<x(( @#  
                        'f0h - os/2 2.x "B3&v%b  
Wi%e9r{hU  
  ImageWidth As Long           '图像宽(像素数) [JyhzYf\   
  ImageHeight As Long          '图像高(像素数) *iwV B^^$  
  PlaneNumber As Integer  '图像层数 8k|&&3_[?  
  bpp As Integer    'bits per pixels    '1 - monochrome bitmap q88;{?T1  
                                        '4 - 16 color bitmap }$E341@  
                                        '8 - 256 color bitmap H{CiN  
                                        '16 - 16bit (high color) bitmap i4s_:%+  
                                        '24 - 24bit (true color) bitmap Q$lgC v^M  
                                        '32 - 32bit (true color) bitmap h5^qo ^;g7  
  Compression As Long '压缩方法     '0 - none (also identified by bi_rgb) tS:/:0HnA)  
                                    '1 - rle 8-bit / pixel (also identified by bi_rle4) 8 LH\a.>  
                                    '2 - rle 4-bit / pixel (also identified by bi_rle8) 9_ru*j\  
                                    '3 - bitfields (also identified by bi_bitfields) Pg\!\5  
  IMAGESIZE As Long  '图像数据字节数 2vh@KnNU  
  hResolution  As Long  '水平分辩率  像素数/米 g;mX{p_@  
  vResolution  As Long  '垂直分辩率 xN CU5  
  ColorsinBMP As Long   '图中所用的颜色。对256色图像总为0x100 wpI_yp   
  ImportantColors As Long -lqsFa W  
  Pallate(0 To 255) As Long  '图像每个值对应的实际显示颜色,项数对应PallateNumber所指调色板项数 _ISaO C{2-  
End Type J_eu(d[9  
Wkj0z ]]?  
xixdv{M<FF  
}eq*dr1`  
Public BMPHeader As GrayBMPHeader, BMP1 As GrayBMPHeader Um2RLM%  
Public sRECT As RECT TkyP_*  
T;`2t;  
&$L6*+`h#  
Public conn As ADODB.Connection 4Mck/i2  
Public rsTrain As ADODB.Recordset 5zi}O GtXv  
Public rsOperater As ADODB.Recordset Zc|V7 +Yx  
Public rsGoods As ADODB.Recordset c%x9.s<+1  
Public rsGood2 As ADODB.Recordset jL]Y;T8  
Public rsSender As ADODB.Recordset DqN<bu2  
Public rsReceover As ADODB.Recordset U *K6FWqiB  
Public rsTrainTMP As ADODB.Recordset 0Q4i<4 XW  
s=[T,:Z  
> S c/E}3  
'打开采集卡 U 6x$R O!  
'设置参数 u}Q cyG^  
'设置为实时单帧采集到缓存方式 KbTd`AIL  
'由另一线程查询采集状态,如果完成采集,传送至用户数组分析或保存 Lh;U2pA  
,:=g}i  
|D1:~z  
Sub Main() tB)nQw7  
  Dim i As Integer, status As Long 3$f+3/l  
     ,d`6 {ll  
   InitBMPinfo y)*W!]:7^>  
   '生成BMP文件头---该文件头是固定将pFRAME数组写成BMP文件 pr?k~Bn  
    BMPHeader.Tag = &H4D42 tRu j}n+x  
    BMPHeader.ImageWidth = FrameW z`esst\aV  
    BMPHeader.ImageHeight = FrameH I3, 0vnE@  
    BMPHeader.BMPHeaderSize = &H28 @t{`KB+ ^  
    BMPHeader.PlaneNumber = 1 ~`c(7  
    BMPHeader.bpp = 8 UVlh7wjg  
    BMPHeader.Compression = 0  hSgH;k  
    BMPHeader.hResolution = &H1274   'Windows pBrush.exe的默认值,PhotoED.exe默值为0 =;A >1g$  
    BMPHeader.vResolution = &H1274 k;V (rf`  
    BMPHeader.ColorsinBMP = 256 Bj*\)lG<  
    BMPHeader.ImportantColors = BMPHeader.ColorsinBMP KJP}0|[  
    BMPHeader.DataOffset = Len(BMPHeader) WNo7`)Kx  
    For i = 0 To 255 {v>8Kp7_R  
      BMPHeader.Pallate(i) = RGB(i, i, i) 6QM$aLLP?  
    Next i 0i3Z7l]  
    BMPHeader.IMAGESIZE = FrameH * FrameW `W9~u: F  
    BMPHeader.FileLength = Len(BMPHeader) + BMPHeader.IMAGESIZE >i!y[F  
,`,1s 9\&t  
Kv ~'*A)d  
    MoveMemory BMP1, BMPHeader, Len(BMPHeader) k(ho?  
     Z66h  
    BMP1.ImageWidth = FrameW K=N8O8R$y  
    BMP1.ImageHeight = FrameH * 2 )\RG NJMC  
    BMP1.IMAGESIZE = BMP1.ImageWidth * BMP1.ImageHeight Xc8 XgZk  
    BMP1.FileLength = Len(BMP1) + BMP1.IMAGESIZE U~I y),5  
!=bGU=^  
  '确定标志位置,为pilarX, pilarY确定初始值 20Z=_},  
   PilarW = mkW nI7v:h4  
   PilarH = mkH  '此两项为固定值 [MXyOE  
   PilarX = GetSetting(App.EXEName, "Mark", "MarkX", mkX) E/@  
   PilarY = GetSetting(App.EXEName, "Mark", "MarkY", mkY)  '此两项需要在程序初始化时检查并进行调整 x^~@`]TV^  
   ;FnU[Q`M#L  
   V:<Z   
  '连续采集记录文件 J?"v;.K|hU  
  ' 建立一个缓冲区为页对齐方式的文件 aE 2=  
  If Dir(TmpFile) <> "" Then >1  %|T  
    hFile = CreateFile(TmpFile, GENERIC_READ Or GENERIC_WRITE, _ ^d@ME<mb  
     0&, 0&, OPEN_ALWAYS, FILE_FLAG_NO_BUFFERING, 0&) K3xt,g  
    ' 在95/98中,如果打开文件时没有声明overlapped方式,在读定文件时就不能使用overlapped参数项 }Yargj_Gn  
    ' 而必须用setfilepointer函数调节与操作系统保留的文件指针。 FFq8LM8  
  Else FxdWJ|rN9D  
    hFile = CreateFile(TmpFile, GENERIC_READ Or GENERIC_WRITE, _ 0`KR8# A@  
     0&, 0&, CREATE_ALWAYS, FILE_FLAG_NO_BUFFERING, 0&) KD^n7+w%  
  End If d.xT8l}sS  
  If hFile = 0 Then 6]NaP _\0  
    MsgBox TmpFile & ": File Open Error", vbOKOnly LMHii Os,  
    Exit Sub @p%WFNR0  
  End If 3-v&ktD&N'  
  '采集参数记录文件 A{%LL r:  
hBCFile = FreeFile() 9}A\Bh tiM  
Open TmpFile + ".BC" For Binary Access Read Write As #hBCFile P{+,?X\  
   K,5_{pj  
hMEM = VirtualAlloc(ByVal 0&, hMemSize, MEM_COMMIT, PAGE_READWRITE)  ’分配系统内容 T6nc/|Ot  
If hMEM = 0 Then BT^HlW <  
    fStatus = GetLastError AwtiV-w  
    MsgBox "内存分配错误: 错误代码 - " & Str(fStatus) & vbCrLf _ >UnLq:G  
     & "请向技术人员报告该错误代码。", vbOKOnly )<(3 .M  
    CloseHandle hFile Xf{ht%b  
    Exit Sub 3Pgld*i7  
End If J;*2[o.N  
w JF(&P  
hMemWork = VirtualAlloc(ByVal 0&, hMemWorkSize, MEM_COMMIT, PAGE_READWRITE) !S#K6:  
If hMemWork = 0 Then jp880}  
    fStatus = GetLastError g#lMT%  
    MsgBox "内存分配错误: 错误代码 - " & Str(fStatus) & vbCrLf _ 3g87ir  
     & "请向技术人员报告该错误代码。", vbOKOnly 8DkZ @}  
     '释放已成功分配的内存 ~B\O{5W  
    mStatus = VirtualFree(ByVal hMEM, hMemSize, MEM_DECOMMIT) h!J|4Q a  
    mStatus = VirtualFree(ByVal hMEM, 0&, MEM_RELEASE) LbUH`0:%t  
     ~xt]g zp{  
    CloseHandle hFile A_g\Fa[jG  
    Exit Sub C 8KV<k  
End If i6P'_  
~FnuO!C  
' Test writing ^;'FC vd  
'WriteFile hFile, ByVal hMEM, ByVal 4096&, bytesRW, ByVal 0& t03T1.:(Mg  
     9_x rw:4  
   '初始化采集卡参数 Jp"[` m  
   iCurrentCard = -1 Ia j`u  
   hBoard = okOpenBoard(iCurrentCard) 6Z<|L^  
   Debug.Print hBoard }6"l`$=Ev  
   If hBoard = 0 Then PwnfXsR  
      ExitGrabber &$yDnSt\  
      End C;0VR  
   End If )(+q~KA}  
   okGetBufferSize hBoard, mBufferAddr, BufferSize sL], @z8<k  
   If mBufferAddr = 0 Then 8lFYk`|g  
     MsgBox "缓存不存在!" p0Pmmp7r  
     ExitGrabber #H;1)G(/  
   End If JH._/I  
   Debug.Print Hex(mBufferAddr), Hex(BufferSize) sL)7MtNwy  
   nm,(Wdr  
   M'nzoRk  
   currentBr = 128: currentContr = 128 BVG.ZZR})  
   '设置视频输入参数 ^VsE2CX  
   okSetVideoParam hBoard, VIDEO_SOURCECHAN, 1 'Video2 @k9n0Qe|F  
      ' lParam=0,1.. Comp.Video; 0x100,101...to Y/C(S-Video), 0x200,0x201 to RGB Chan.Input :%<'('S |  
   okSetVideoParam hBoard, VIDEO_BRIGHTNESS, currentBr '亮度 /BwG \GhM  
   okSetVideoParam hBoard, VIDEO_CONTRAST, currentContr '对比度  ---初始设置条件下如果图像亮度达不到基本要求则控制灯光 "#P#;]\`  
   okSetVideoParam hBoard, VIDEO_RGBFORMAT, FORM_GRAY8 '8位灰度模式 c)Ne/E{!0  
   okSetVideoParam hBoard, VIDEO_TVSTANDARD, 0 'PAL制式 0-:dzf  
   okSetVideoParam hBoard, VIDEO_SIGNALTYPE, &H10000 '逐行(低字)同步开槽(高字) "2ZuI; w  
   okSetVideoParam hBoard, VIDEO_RECTSHIFT, 144 + &H2C0000 '有效区起始位置:高字Y偏移,低字X偏移 (144/44经验值) %?Q<  
   okSetVideoParam hBoard, VIDEO_AVAILRECTSIZE, FrameW + FrameH * 2 * &H10000 '有效区大小:低字X高字Y (768/576采集卡最大值) NtNCt;_R7  
   okSetVideoParam hBoard, VIDEO_FREQSEG, 0 ' 低频部分信号 L, 2;-b|  
   Ys]cJ]  
   '设置采集参数 xbz O' C  
   okSetCaptureParam hBoard, CAPTURE_INTERVAL, 0  '逐帧 / ^$n&gI  
   okSetCaptureParam hBoard, CAPTURE_CLIPMODE, 2 '裁剪方式 cq~~a(IS  
   okSetCaptureParam hBoard, CAPTURE_BUFRGBFORMAT, FORM_GRAY8  '8位灰度 S;j"@'gz9  
   okSetCaptureParam hBoard, CAPTURE_HARDMIRROR, 0 '不作镜像变换 a y$CUw  
   okSetCaptureParam hBoard, CAPTURE_FRMRGBFORMAT, FORM_GRAY8 '帧存格式 J\hqK*/8  
   okSetCaptureParam hBoard, CAPTURE_SAMPLEFIELD, 0 ' 逐场采集 ?OFfU  4  
   okSetCaptureParam hBoard, CAPTURE_HORZPIXELS, 944  '水平像素数 PAL制式固定值 YBL.R;^v  
   okSetCaptureParam hBoard, CAPTURE_VERTLINES, 625 '垂直线数 ?{%"v\w  
   okSetCaptureParam hBoard, CAPTURE_SEQCAPWAIT, 0 '不等结束立即返回 L cTTfb+<  
   'okSetCaptureParam hBoard, CAPTURE_BUFBLOCKSIZE, FrameW + FrameH * 2 * &H10000 U>0 bgL  
   'Buffer Block Size不用设置,而用okSetTargetRect函数进行动态调节 .UYhj8  
   v >cPr(  
   l p|`n  
   okCloseBoard hBoard !NMiWG4R  
   Sleep 50 {__NVv  
   hBoard = okOpenBoard(iCurrentCard)   '关闭后重新打开使新的设置值生效 5a|{ytP   
   VV"w{#XKw  
   '设置数据传送方式 vG:S(/\>  
   'okSetConvertParam hBoard, CONVERT_FIELDEXTEND, FIELD_COPYEXTEND '逐行并扩展行 f h:wmc'  
   '该设置对本程序无意义,因为程序直接用CopyMemory方法读缓存,而扩展行方式是在用采集卡内置函数读RECT过程中实现的。 3LZvlcLb  
   WsW]  1p  
   sRECT.Right = -1   '用于获得当前设置值 7LsVlT[  
   iFrames = okSetTargetRect(hBoard, BUFFER, sRECT) kG u{[Rh  
   Debug.Print sRECT.Left, sRECT.Right, sRECT.Top, sRECT.Bottom -s^)HR l  
   Debug.Print okSetCaptureParam(hBoard, CAPTURE_BUFBLOCKSIZE, -1)  'FrameW + FrameH * &H10000 y ~Fi  
   sRECT.Left = 0 %awr3h>$  
   sRECT.Top = 0 vi]cl=S  
   sRECT.Right = sRECT.Left + FrameW =w7+ Yt  
   sRECT.Bottom = sRECT.Top + FrameH * 2 5!BW!-q  
   iFrames = okSetTargetRect(hBoard, BUFFER, sRECT) Q@[(0R1  
   T0N6k acl  
   sRECT.Right = -1   '检查新设置值  0:$pJtx"  
   iFrames = okSetTargetRect(hBoard, BUFFER, sRECT) KG GJ\r6  
   Debug.Print sRECT.Left, sRECT.Right, sRECT.Top, sRECT.Bottom e4FR)d0x  
   Debug.Print Hex(okSetCaptureParam(hBoard, CAPTURE_BUFBLOCKSIZE, -1)) xy]oj  
   +5Ju `Z  
   If TESTSignal = False Then ko"xR%Q  
      'ExitGrabber r<B pX["  
   End If  S8O,{  
   gF:| j(  
   @w(X}q1  
   ]IH1_?HgP7  
   '设为实时采集状态 =1\mLI}@  
   'iFrames = okCaptureActive(hBoard, BUFFER, 0&) C(vQR~_  
   0nZQ" {x  
   f^lhdZ\  
   '单帧采集 v oO7W"  
   'okWaitSignalEvent hBoard, EVENT_FRAMEHEADER, -1 <Qt9MO`a  
   'iFrames = okCaptureSingle(hBoard, BUFFER, 0&) qW S"I+o,S  
   okCaptureTo hBoard, BUFFER, 0, 1 'single HLPY%VeD  
   'Do While okGetCaptureStatus(hBoard, False) <> 0 cNMD I  
   '   Sleep 20 [WI'oy  
   'Loop erOj(ce  
   okGetCaptureStatus hBoard, True :Sn4Pg `Q  
   MoveMemory pFRAME(1, 1), ByVal mBufferAddr, pFrameSize ~-UO^$M-  
   '写入768*576测试图象 Cx&l0ZXHEX  
   ArrayToBMP TmpBMP .:O($9^Ho  
   /4;Sxx-  
   '打开数据库 [-Xah]g  
   Set conn = New ADODB.Connection SPm2I(at7  
   conn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;" & _ :mhO/Bx  
      "Persist Security Info=False;Data Source=" & "c:\train\train.mdb" & _ I~4!8W-Y  
      "; Mode=Read|Write" "JE->iD  
   conn.Open >z7 3uKA(  
    `A<2wd;  
   frmRecord.Picture1.Picture = LoadPicture(TmpBMP) pJIJ"o'>.9  
   frmRecord.Visible = True <{i1/"k?X  
   frmQuery.Visible = True x,HD,VQR/  
   Load frmReceiveFromComm 7C wWf  
   Zr(eH2}0D  
   '调试参数  r}}2 Kl  
   If InStr(UCase(Command()), "/CAPTURE") > 0 Then .\ :MB7p  
     SignalBox.Visible = True gHFQs](G.  
   End If & jm1  
   If InStr(UCase(Command()), "/COMM") > 0 Then 5> !N)pA  
     frmReceiveFromComm.Visible = True i:Gyi([C  
   End If lUdk^7:M  
DGg1TUE  
End Sub Qe_C^ (P  
F<b/)<Bm=  
Sub ExitGrabber() #e1iYFgS  
  '关闭数据库 HX ,\a`  
  '关闭采集卡 39L_O RMH  
  mStatus = VirtualFree(ByVal hMEM, hMemSize, MEM_DECOMMIT) $,0EV9+af  
  mStatus = VirtualFree(ByVal hMEM, 0&, MEM_RELEASE) iNilk!d6Q3  
  mStatus = VirtualFree(ByVal hMemWork, hMemWorkSize, MEM_DECOMMIT) @|{8/s Oq  
  mStatus = VirtualFree(ByVal hMemWork, 0&, MEM_RELEASE) E=91k.  
  okStopCapture hBoard (gIFuOGi>  
  okCloseBoard hBoard i(kx'ua?  
  CloseHandle hFile sQ+s3x1y  
  Close #hBCFile _{n4jdw%(  
  conn.Close Vi>P =i  
  End ,y@WFRsx  
End Sub O;|jLf_If  
&?5me:aU  
Function ArrayToBMP(ByVal File As String) DB}v..  
Dim BytesWrite As Long #Z,@yJ2wl  
aq\Fh7  
hTmpFile = CreateFile(File, GENERIC_READ Or GENERIC_WRITE, 0&, 0&, _ ^$]iUb{\  
  CREATE_ALWAYS, 0&, 0&) !x! 1H5"  
|.;]e[&  
If hTmpFile = 0 Then K+ ~1 z>&  
   ArrayToBMP = False WWC&-Ni  
   Exit Function WJ,? 5#  
End If g_0| `Sm  
= ?BhtW  
SetFilePointer hTmpFile, 0&, 0&, FILE_BEGIN VQ8Fs/Zt!  
WriteFile hTmpFile, BMPHeader, 2&, BytesWrite, ByVal 0& AR{$P6u!%|  
SetFilePointer hTmpFile, 2&, 0&, FILE_BEGIN ">Ms V/  
WriteFile hTmpFile, BMPHeader.FileLength, Len(BMPHeader) - 2, BytesWrite, ByVal 0& *P|~v Cnr  
pu_?) U  
SetFilePointer hTmpFile, Len(BMPHeader), 0&, FILE_BEGIN M(I %QD  
WriteFile hTmpFile, pFRAME(1, 1), pFrameSize, BytesWrite, ByVal 0& 7}e5ac  
Dl,sl>{  
If BytesWrite < pFrameSize Then Wiw~oXo  
  ArrayToBMP = False % bKy  
End If lMcO2006L  
B>c2 *+Bk  
CloseHandle hTmpFile 4q.yp0E  
v+o6ZNX  
End Function Tp.:2[  
I@IE0+ [n  
Function ArrayToBMP1(ByVal File As String) ].sD#~L_  
KD]`pqN9  
Dim BytesWrite As Long 0|g@; Pc  
/1_O5'5+v  
hTmpFile = CreateFile(File, GENERIC_READ Or GENERIC_WRITE, FILE_SHARE_READ Or FILE_SHARE_WRITE, 0&, _ ^=8/Iw  
  CREATE_ALWAYS, 0&, 0&) (EjlnG}5l  
.hUlI3z9  
If hTmpFile = 0 Then QEMT'Cs  
   ArrayToBMP1 = False ,/kZt!  
   Exit Function 3!%-O:!  
End If ]wfY<Z  
Nw(hN+_u  
SetFilePointer hTmpFile, 0&, 0&, FILE_BEGIN PXML1.r$Q  
WriteFile hTmpFile, BMP1, 2&, BytesWrite, ByVal 0& 85$ WH  
(" +clb`  
SetFilePointer hTmpFile, 2&, 0&, FILE_BEGIN +hX =  
WriteFile hTmpFile, BMP1.FileLength, Len(BMP1) - 2, BytesWrite, ByVal 0& K_k'#j~*?  
8 |Ob7+  
SetFilePointer hTmpFile, Len(BMP1), 0&, FILE_BEGIN }R%*J  
WriteFile hTmpFile, pBuffer(1), pBufferSize, BytesWrite, ByVal 0& |nm}E_  
hj{)6dBX%  
If BytesWrite < pBufferSize Then MNp4=R  
  ArrayToBMP1 = False }^VikT]>1  
End If ;+bF4r@:+  
KzQ FG)q,  
CloseHandle hTmpFile zF|c3ap  
lM#,i\8Q  
End Function d c/^  
Uy*d@vU9c  
'使用该过程建立的文件要求在用后关闭 ym_as8A*Q  
Public Function ArrayToBMP2(File As String) As Boolean ` TH\0/eE  
N1$PW~)Y  
Dim BytesWrite As Long X&i;WI  
kU#k#4X4g  
ArrayToBMP2 = True Zrj#4 E1  
OUFy=5(%:  
hTmpFile = CreateFile(File, GENERIC_READ Or GENERIC_WRITE, FILE_SHARE_READ Or FILE_SHARE_WRITE, 0&, _ Af r*'  
  CREATE_ALWAYS, FILE_ATTRIBUTE_TEMPORARY, 0&) fs-LaV 0  
Xk1uCVUe5  
If hTmpFile = 0 Then ].2t7{64  
   ArrayToBMP2 = False ya[f? 0b0  
   Exit Function "zkQu  
End If ";7/8(LBZ  
eI-SWwmv/u  
SetFilePointer hTmpFile, 0&, 0&, FILE_BEGIN r4<As`&  
WriteFile hTmpFile, BMPHeader, 2, BytesWrite, ByVal 0& (F9e.QyWb  
mw sdl^c  
SetFilePointer hTmpFile, 2&, 0&, FILE_BEGIN ,*YmXR-"  
WriteFile hTmpFile, BMPHeader.FileLength, Len(BMPHeader) - 2, BytesWrite, ByVal 0& #,97 ]  
:X:s'I4J D  
SetFilePointer hTmpFile, Len(BMPHeader), 0&, FILE_BEGIN FM(EOsWk  
WriteFile hTmpFile, pFRAME(1, 1), pFrameSize, BytesWrite, ByVal 0& hwA&SS  
T8%!l40v  
If BytesWrite < pFrameSize Then G/#m. =t  
  ArrayToBMP2 = False O#p_rfQ  
End If An^)K  
j@Pd" Z9  
CloseHandle hTmpFile Ep:hObWG)  
HXC\``E  
End Function 5Ar gM%  
6J@,bB jVz  
Private Function TESTSignal() As Boolean TY5R=jh=  
Dim extsign As Long, videotype As Long, scanlines As Long, fieldfrq As Long VMe  
Z1:<i*6>D  
extsign = okGetSignalParam(hBoard, SIGNAL_VIDEOEXIST) W*DK pJy  
0*+EYnu+  
If extsign = 1 Then 4O.R=c2}7>  
   TESTSignal = True o^Lq8u;i*  
Else FBvh7D.hV  
    If extsign = 0 Then 8aKS=(Z!j  
        MsgBox "无视频输入信号,检查摄像机电源!", vbOKOnly oE6`]^^  
        TESTSignal = False ZJm$7T)V  
        Exit Function ijvDFyN>  
    End If 1Kr$JIcd  
End If =vvd)og  
s= 5 k7  
'测试视频输入类型 +H *6:  
'video type nkTdn  
okWaitSignalEvent hBoard, EVENT_ODDFIELD, 40 +@yU `  
videotype = okGetSignalParam(hBoard, SIGNAL_VIDEOTYPE) 6 EfBz  
If videotype = 1 Then !YI<A\P  
        '"隔行信号(Interlaced)" Ab>Kfr#  
Else iX<" \pV  
   If videotype = 0 Then UFu0{rY_  
       '"逐行信号(Non-interlaced)" qkz|r?R)  
   Else NHe)$%a=H  
     If videotype = -1 Then Gt _tL%  
       ' "不支持" bfm+!9=9S  
     End If E'98JZ5ga  
   End If fD3'Ye<R  
End If N%ccy?B  
:U=3*f.{  
'测试垂直扫描线数 <&gs)BY  
'video scanlines b)M- q{  
scanlines = -1 ru6M9\h*  
scanlines = okGetSignalParam(hBoard, SIGNAL_SCANLINES) >Vg [ A  
    If scanlines = -1 Then BkPt 1i  
        ' "不支持" !uO @4]:Y  
    Else l9OpaOVfJ  
        'Trim(Str(ScanLines)) + " 行数/幅" `M{Ne:J  
    End If Hc[@c)DH  
m*CW3y{n)  
'测试帧频 [@JK|50|K  
'video field frequency +\;Ro18?  
    fieldfrq = okGetSignalParam(hBoard, SIGNAL_FIELDFREQ) d{t@+}0.u  
    If fieldfrq = -1 Then O[{/P:a  
        'lblSignal(8) = "不支持" 4:^MSgra  
    Else ]9)iBvQlj  
        'lblSignal(8) = Trim(Str(FieldFRQ)) + " 场数/秒" t;/uRN*.  
    End If uB3VCO.;_  
End Function 6 eu7&Kj'  
mBb3Ta  
)?7/fF)@|  
Sub PicIdentify() *po o.Zz  
'本程序完成从文件中按顺序读出一幅图像并完成图像识别 nnvS.s`O  
'根据固定位置判断透过车皮连接处接收的对面的立柱影像。出现立柱后该帧前1-2帧与后1-2帧分别为车号信息与车皮信息 r!O[|h  
'判定标准:如果在立柱位置上有明显的模式反差,则视为车皮之间的间隔 60 cQ3.e  
'方法:对立柱标志区进行平均值二值化,面积为32*40,亮区(255)与暗区(0)的亮度平均值理论差大于200倍,实际差值应不小于100倍 <SQR";  
>;R`Q9s7  
  Dim fPTR As Long, cFrame As Long ULBEe@ s  
  Dim i As Long, j As Integer, pTotal As Long, pAV As Integer <2L,+  
     5f?GSHA}  
fR~0Fy Gp  
cFrame = 0 68(^*  
^suQ7#g  
u[PG/p loc  
Do While cFrame < tFrames j@^zK!mO  
   9v ;HE{>  
  fStatus = SetFilePointer(hFile, cFrame * pFrameSize, 0&, FILE_BEGIN) TJZ/lJU  
  fStatus = ReadFile(hFile, ByVal hMEM, ByVal pFrameSize, bytesRW, ByVal 0&) zi_$r oq=)  
  MoveMemory pFRAME(1, 1), ByVal hMEM, pFrameSize Pk;yn;  
   BDzAmrO<  
  frmRecord.RText.Text = Str(cFrame) l6 }+,v@#  
  frmRecord.RText.Refresh ,4`Vl<6  
       Tx]p4wY:D  
  If CheckMark = True Then 6R^32VeK($  
   ArrayToBMP TmpBMP mqHH1}  
   frmRecord.Picture1.Picture = LoadPicture(TmpBMP) -mGG:#yP  
   frmRecord.RText.Text = "第" & Str(cFrame) & "帧" >~]|o   
   !Ur.b @ke  
   DrawSlice 9<toDg _  
   :T?WN+3  
   'i = MsgBox("检测到立柱:第" & Str(cFrame) & "帧", vbYesNo) cWZ uph\  
   'If i = vbNo Then jkta]#O  
   '  Exit Do &4sz:y4T>  
   'End If 54JZOtC3~  
   'cFrame = cFrame + 1 }{j@q~w>$  
   O[eU{ ;P  
  End If n4M Xa()P1  
  DoEvents r@]`#PL  
  cFrame = cFrame + 1 US3)+6  
Loop d>W#c8X>  
End Sub oXqJypR 2  
0#Pa;(  
q }>3NCh  
Function CheckMark(Optional iBlk As Integer = 30, Optional iWhite As Integer = 230) As Boolean %&VI-7+K  
^Y;,cLXJ  
'如标志区模式反差存在则为TRUE,否则返回FALSE m@+QC$6S  
!g6=/9  
Dim i As Integer, j As Integer, mTotal As Long, mAV As Single, mTop As Long, mBot As Long FN<>L0  
CheckMark = True ~piE$"]&  
   maY.Z<lN  
'复制标志区 * ?~"Jw  
For i = 1 To mkH l2YCl K  
   MoveMemory MKpilar((i - 1) * PilarW + 1), pFRAME(PilarX, PilarY + i), PilarW <#57q%  
Next i !Q_Wbu\U  
r&B0 -7r  
For j = 1 To PilarW * PilarH / 2 O cPgw/ I  
   mTop = mTop + MKpilar(j) 4c{j9mh  
Next j S)wP];]`K  
Bq HqS  
For j = PilarW * PilarH / 2 + 1 To PilarW * PilarH o<txm?+N  
   mBot = mBot + MKpilar(j) W)J5[p?  
Next j %4F\#" A  
dlCiqY: }  
mTop = mTop / PilarW / PilarH * 2 1n}#54  
mBot = mBot / PilarW / PilarH * 2 8> $=p4bf  
,Eh]Zv1 AE  
mAV = (mTop + mBot) / 2 + (mBot - mTop) / 4 '标志区平均亮度 )u28:+8  
&4}=@'G@  
'平均值极值化 8! !h6dQgI  
  For j = 1 To PilarH * PilarW )*XWe|H_  
    MKpilar(j) = IIf(MKpilar(j) > mAV, 255, 0) ?PTXgIC  
  Next j ILl~f\xG)  
   S ~h*U2  
mTop = 0: mBot = 0 yocFdI  
For j = 1 To PilarH * PilarW / 2 p=A, yGDV  
  mTop = mTop + MKpilar(j) u/S>*E  
Next j Sy1O;RTn`  
SiaW; ks  
For j = PilarH * PilarW / 2 + 1 To PilarH * PilarW <-b9 )>  
  mBot = mBot + MKpilar(j) .K(9=yh  
Next j _F`JFMS  
_->+Hjj ^  
=Hn--DEMg  
  mTop = mTop / PilarH / PilarW * 3 r)Lm| S  
  mBot = mBot / PilarH / PilarW * 3 ?E+f<jol  
   u kZK*Y9P  
f(blqO.@l  
If mBot > iWhite And mTop < iBlk Then <]KQ$8dtD  
  CheckMark = True trrK6(p  
Else x3`JC&hF,q  
  CheckMark = False yp^k;G?_d  
End If ^VG].6  
End Function IQtQf_"e1  
tJ6Q7 J;n  
Sub Capture1Frame() {47l1wV]  
   okCaptureTo hBoard, BUFFER, 0, 1 'single 3h=kn@I  
   okGetCaptureStatus hBoard, True yhbU;qEG9  
   MoveMemory pFRAME(1, 1), ByVal mBufferAddr, pFrameSize N\Lu+ x5  
End Sub .;Gx.}ITG6  
Ug546Bz  
X <Cf y  
Sub CopyMark(iBlk As Integer, iWhite As Integer) [)jNy_4  
'复制标志区并返回标志区暗区与亮区的亮度平均值 JrLh=0i9  
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 y9/nkF1p  
   lN:;~;z_  
'复制标志区 ,.V<rDwN&  
For i = 1 To mkH .81Y/Gad_  
   MoveMemory MKpilar((i - 1) * PilarW + 1), pFRAME(PilarX, PilarY + i), PilarW tA< UkPT  
Next i }v|_]   
\<`oW>  
For j = 1 To mkW * mkH / 2 XR7v\rd  
   mTotal = mTotal + MKpilar(j) F7*)u-4Yn  
Next j Ly^bP>2i  
/@1YlxK F  
iBlk = mTotal / (mkW * mkH / 2)  '标志区上部白区平均亮度 MI(#~\Y~P  
u=W[ S)w  
mTotal = 0 Gds(.]_  
For j = mkW * mkH / 2 + 1 To mkW * mkH Q8h0.(#-  
   mTotal = mTotal + MKpilar(j) 6s~B2t:Y  
Next j G,$nq4  
:2==7u7v?  
iWhite = mTotal / (mkW * mkH / 2) '标志区下部黑区平均亮度 $.d,>F6  
,<#Rk 'y$  
'背景亮度 S ;rd0+J  
  MoveMemory BsLine(1), pFRAME(1, 1), 4 * FrameW ||wi4T P  
  For i = 1 To 4 * FrameW b/R7 Mk1  
    bsTotal = bsTotal + BsLine(i) iEr?s-or  
  Next i Il*!iX|23<  
  bsAV = bsTotal / FrameW / 4 ovM;6o  
g~.#.S ds  
End Sub Op]*wwI*h  
~@l4T_,k  
C,eP!_O  
Sub AdjIMGbright(Optional bInit As Boolean = True) nr -< mQ  
%]0?vw:;j  
  '自动调节亮度与对比度,此时处于无车辆状态(白天特别高,而夜间特别暗) #>)z}a]  
  '图像平均亮度白天不高于200(当车辆通过时可能会下降到100左右),不低于100 ] L#c <0  
  '            夜间不高于80(过高时通常是由于雪花噪声引起),但立柱不低于30 Z#N w[>NN*  
     1Hr1Ir<KR  
  Dim bsTotal As Long, i As Integer, iBlack As Integer, iBright As Integer W]7<PL*u  
   2#^g] o-N  
  '按标准亮度与对比度采集一帧,确定背景亮度 D^m2iW;  
  currentContr = 128   '初始对比度 ]*mUc`  
  currentBr = 128   '初始亮度 =Hd#"9-  
  okSetVideoParam hBoard, VIDEO_BRIGHTNESS, currentBr '亮度 )~R[aXkvY  
  okSetVideoParam hBoard, VIDEO_CONTRAST, currentContr '对比度 EKF 4 ]  
  DoEvents V?G%-+^  
  Capture1Frame R?:Q=7K  
  '获得图像上缘4行象素 =:w,wI.  
  MoveMemory BsLine(1), pFRAME(1, 1), 4 * FrameW yn]Sc<uK  
  CopyMark iBlack, iBright   '图像标志区亮度 H,GjPIG  
  For i = 1 To 4 * FrameW < B]qqqP  
    bsTotal = bsTotal + BsLine(i) F09%f"9  
  Next i _L~ 3h  
  bsAV = bsTotal / FrameW / 4    '图像上缘基线亮度 ,'`yh|}G\  
   1`L.$T,1!  
  Select Case bsAV u=v-,T w  
     Case 0 To 60    '夜间通过灯光照明,完全没有背景 B?-w<":!  
       currentBr = 150 5m0lk|`  
       currentContr = 60 Ot\[Ya''  
     Case 61 To 80   '有可见背景 2 G*uv+=  
       currentBr = 140 a $Ud"  
       currentContr = 70 [Z:P{yr  
     Case 81 To 100  '有清晰背景 e<9 ^h)G  
       currentBr = 128 0ElEaH1z  
       currentContr = 80 u1y>7,Z6W  
     Case 100 To 150  '有明亮背景 7* Y*_cH5  
       currentBr = 140                '5:30-6:00钟实测数据 {'M/wT)FeC  
       currentContr = 50 *aM7d>nG5  
     Case 151 To 180 |36% B7H  
       currentBr = 130 GeY!f/yQ<  
       currentContr = 60 9XDSL[[  
     Case 181 To 220  '背景全为白色 gU|:Y&lFZg  
       currentBr = 110 gM;m{gXYK  
       currentContr = 130 Q[NoFZ V!  
     Case 221 To 255  '背景全为白色 s6!&4=ZA  
       currentBr = 100 \ZV>5N3hS  
       currentContr = 100 bK0(c1*a[e  
  End Select ZpOME@9,  
   9^n0<(99b  
  Select Case (iBlack + iBright) / 2   '图像反射光强度修正 S g1[p#U  
        Case 100 To 150 e_|<tYx><  
          currentBr = currentBr - 10 =gJ{75tV3  
        Case 151 To 255 rYdNn0mh k  
          currentBr = currentBr - 20 w8Z#]kRv  
  End Select 62'9lriQ  
   TS+jDs  
  okSetVideoParam hBoard, VIDEO_BRIGHTNESS, currentBr '亮度 >}~[ew  
  okSetVideoParam hBoard, VIDEO_CONTRAST, currentContr '对比度 zw+wq+2"  
End Sub wH@S$WT   
>5kz#|@P  
Sub CopyCorner(rowID As Integer, diffL As Integer, diffR As Integer) 71AYDO  
    Dim i As Integer, j As Integer, L1 As Long, L2 As Long, R1 As Long, R2 As Long |3B<;/v5  
     SS`\_@ci  
    For i = 1 To 8 G,?a8(  
      MoveMemory LeftBK((i - 1) * 128 + 1, rowID), pFRAME(1, i), 128& >M{98NH  
      MoveMemory RightBK((i - 1) * 128 + 1, rowID), pFRAME(640, i), 128& :ZB.I(v  
    Next i NI,>$@{  
     `Rt w'Uz  
    For j = 1 To 1024 `|AH3v1  
      L1 = L1 + LeftBK(j, 0) 9%NsW3|  
      L2 = L2 + LeftBK(j, 1) D- C]0Jf3  
      R1 = R1 + RightBK(j, 0)  NnHaHX  
      R2 = R2 + RightBK(j, 1) U n)Xe  
    Next j K*DH_\SPK  
    diffL = Abs(L1 - L2) / 1024 }F.k,2  
    diffR = Abs(R1 - R2) / 1024 S{&%tj~U  
End Sub )6p6<y  
% au>D  
Function CheckSlice() As Boolean jG{?>^  
  CopySlice avSL, avSLR, avSLL \7qj hA@  
  If Abs(avSL - avSLL) > (Abs(avSLL - avSLR) + 5) * 4 Then y_n4Y[4g  
    CheckSlice = True `!I/6d?A  
  Else +3zQ"lLD^  
    CheckSlice = False ?32~%?m  
  End If K O\HH  
End Function Ieq_XF]U  
EU:N9oT  
Sub CopySlice(avSL As Integer, avSLR As Integer, avSLL As Integer) &XcPHZy'  
  Dim i As Long, j As Long, total As Long, totalL As Long, totalR As Long 'bM=  
  For i = 1 To FrameH Nk\ni>Du3  
    MoveMemory Slice(1, i), pFRAME(sPos, i), sSize j~ds)dW%`&  
    MoveMemory SliceL(1, i), pFRAME(sPosL, i), sSize kBC$dW-  
    MoveMemory SliceR(1, i), pFRAME(sPosR, i), sSize OZf@cOTWK  
  Next i 0F- +)S?M[  
  For i = 1 To FrameH *?1\S^7R  
    For j = 1 To sSize Z>y6[o  
       total = total + Slice(j, i) b~tu;:  
       totalL = totalL + SliceL(j, i) u e  
       totalR = totalR + SliceR(j, i) wt9f2  
    Next j >S}X)4  
  Next i NV/paoyx:*  
  avSL = total / FrameH / sSize JSju4TQ4  
  avSLR = totalR / FrameH / sSize 7Rtjm  
  avSLL = totalL / FrameH / sSize =e#h;x2  
End Sub ;Krs*3 s  
hV,T889'  
Sub DrawSlice() (#>X*~6  
   frmRecord.Picture1.Line (sPosL, 0)-(sPosL + sSize, FrameH), RGB(255, 0, 0), B "DvZCf[}  
   frmRecord.Picture1.Line (sPos, 0)-(sPos + sSize, FrameH), RGB(0, 255, 0), B rWNe&gFM  
   frmRecord.Picture1.Line (sPosR, 0)-(sPosR + sSize, FrameH), RGB(0, 0, 255), B u5rvrn ]  
   frmRecord.RText.Text = Str(avSLL) & "/" & Str(avSL) & "/" & Str(avSLR) 9QHj$)?k,  
End Sub )O+Zbn  
Sub DrawMark(pic As Control) <h#W*a  
   Dim i As Long, j As Long MLTS <pW/  
   pic.Line (PilarX, FrameH - PilarY)-(PilarX + PilarW, FrameH - PilarY - PilarH / 2), RGB(255, 0, 0), B ?d?.&nt  
   pic.Line (PilarX, FrameH - PilarY - PilarH / 2 - 1)-(PilarX + PilarW, FrameH - PilarY - PilarH), RGB(0, 0, 255), B  Hk4k  
   For i = 1 To PilarH ;g#n Gs>  
     For j = 1 To PilarW ~PyS;L}  
       pic.PSet (PilarX + PilarW + 10 + j, FrameH - PilarY - i), RGB(MKpilar((i - 1) * PilarW + j), 0, 0) nxuH22:  
     Next j tx<^P V2  
   Next i 9fb bJ"I+  
End Sub !'# D~   
,Il) tH  
Function avIMG() As Integer N& F.hi$_  
  Dim i As Long, j As Long, totalIMG As Long 3p HI+a  
  MoveMemory pBuffer(1), pFRAME(1, 1), pFrameSize nTGf    
  For i = 1 To pFrameSize LD?\gK "  
    totalIMG = totalIMG + pBuffer(i) <Bn0wr8)\  
  Next i "pK<d~Wu  
  avIMG = totalIMG / pFrameSize *74/I>i  
End Function n>eDN\5  
G/3T0d+-  
Function avRegion(barCol As Integer, barWidth As Integer) As Integer -U$;\1--  
  Dim i As Long, j As Long, totalIMG As Long Yh!k uS#<  
  For i = 1 To FrameH xWY\,'+Q  
     MoveMemory pBuffer((i - 1) * barWidth + 1), pFRAME(barCol, i), barWidth T&6>Eb0{  
  Next i *^ G,  
  For i = 1 To FrameH * barWidth 1CZO+MB&"$  
    totalIMG = totalIMG + pBuffer(i) X0j>g^b8  
  Next i Ue;Z)}  
  avRegion = totalIMG / pFrameSize ]CcRI|g}  
End Function 1I'Q{X&B  
杺栫杣杊椌柮栬,䒴蓉艿芖。
伍胥之 离线
级别: 军区司令员

显示用户信息 
91楼  发表于: 2015-09-06   
'VB 6.0 版 eTgtt-;VR  
'这不是我写的,它更强悍了。因为可以直接读写物理扇区(CHS),而不是逻辑扇区。 +C7W2!I[G2  
aYk: CYQ  
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 %o\+R0K  
Private Declare Function CloseHandle Lib "kernel32" (ByVal hObject As Long) As Long {*8G<&  
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 ) 5Ij  
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 E%8uQ2p(  
Private Declare Function SetFilePointer Lib "kernel32" (ByVal hFile As Long, ByVal lDistanceToMove As Long, lpDistanceToMoveHigh As Long, ByVal dwMoveMethod As Long) As Long {=d}04i)E"  
'如果用绝对扇区写,那么文件的建立打开都不能用VB的 open 语句了。 / s Apj  
bnvY2-O6  
HWFTI /]  
Private Const GENERIC_READ = &H80000000 jzpDKc%  
Private Const GENERIC_WRITE = &H40000000 *a|575e< z  
kQ&Q_FSO  
Private Const FILE_SHARE_READ = &H1 862rol  
Private Const FILE_SHARE_WRITE = &H2 8#,_%<?UVy  
Private Const OPEN_EXISTING = 3 G"(aoy, co  
@C=gMn.E  
Private Const INVALID_HANDLE_VALUE = -1 ` wj'  
FaWc:GsfB  
'//file seek 7KUf,0D  
Private Const FILE_BEGIN = 0 6Xo "?f  
Private Const FILE_CURRENT = 1 /!>OWh*~  
Private Const FILE_END = 2 pQ^V<6z}  
 FY)]yz  
Private Const ERROR_SUCCESS = 0& u~ FVI  
)+,h}XqlX  
'//device io control |Axbx?  
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 lJfk4 -;M  
+zDRed_]=_  
Private Const IOCTL_DISK_GET_DRIVE_GEOMETRY As Long = &H70000   '458752 T)q Uf H  
Private Const IOCTL_STORAGE_GET_MEDIA_TYPES_EX  As Long = &H2D0C04 iYYuZ.  
Private Const IOCTL_DISK_FORMAT_TRACKS As Long = &H7C018 RS B+Saf.8  
Private Const FSCTL_LOCK_VOLUME As Long = &H90018 "|&3z/AUh  
Private Const FSCTL_UNLOCK_VOLUME As Long = &H9001C <9xr? i=  
Private Const FSCTL_DISMOUNT_VOLUME As Long = &H90020 as/PM"  
Private Const FSCTL_GET_VOLUME_BITMAP = &H9006F 6 ~{'\Z  
m&q0 _nay  
'//type 6 q`)%"4k  
Private Type LARGE_INTEGER S"^'ksL\  
    lowpart As Long qW4\t  
    highpart As Long <f.Eog  
End Type 2(\PsN w!  
ra^%__N}  
Private Enum MEDIA_TYPE {gu3KV  
    Unknown q6sb;? I  
    F5_1Pt2_512 }z9v*C  
    F3_1Pt44_512 %}~(%@qB>+  
    F3_2Pt88_512 )'7Qd(4WT  
    F3_20Pt8_512 T?Z&\g0yp  
    F3_720_512 Vz-q7*o $S  
    F5_360_512 {=&( { cS  
    F5_320_512 !L9]nO 'BL  
    F5_320_1024 sL\ {.ad5  
    F5_180_512 e87a9ZPm  
    F5_160_512 s7:_!Nd@8  
    RemovableMedia Us# /#-hJ  
    FixedMedia 6#jql  
End Enum ]D,_<Kk  
/D|q-`*K  
Private Type DISK_GEOMETRY ?0sTx6 x@  
    Cylinders           As LARGE_INTEGER [x=(:soEqC  
    MediaType           As MEDIA_TYPE [%6)  
    TracksPerCylinder   As Long >e.KD) qA  
    SectorsPerTrack     As Long xf7YIhL^*  
    BytesPerSector      As Long y#`;[!  
End Type e_!Z-#\J%  
Vep 41\g^  
'//private vars \=|= (kt)  
Private hDisk           As Long             'disk handle M5:*aCN6P  
Private lpGeometry      As DISK_GEOMETRY    'disk info NZ8X@|N  
Private lBufferSize     As Long             'the buffer size of read/write rxy5Nrue  
iY,oaC~?"N  
Public Function OpenDisk(ByVal FileName As String) As Boolean >PQ?|Uk  
'// 打开磁盘 < RC%<  
    hDisk = CreateFile(FileName, _ V)5,E>;EN  
                        GENERIC_READ Or GENERIC_WRITE, _ b-@9Xjv  
                        FILE_SHARE_READ Or FILE_SHARE_WRITE, _ WL,2<[)Ew  
                        ByVal 0&, _ )ryP K"V  
                        OPEN_EXISTING, _ 8vR'<_>Q  
                        0, _ f2Xn!]o  
                        0) N|"kuRN#  
    OpenDisk = Not (hDisk = INVALID_HANDLE_VALUE) wm ?% &V/#  
End Function *""W`x  
- 3PLP$P  
Public Function CloseDisk() As Boolean <|G!Qn?2-  
'//关闭磁盘 hz<TjWXv'  
    CloseDisk = CloseHandle(hDisk) HSU?4=Q  
End Function j5/|1N  
!.pcldx  
Public Function GetDiskGeometry() As Boolean O/(vimx.#F  
'//获取磁盘参数  H4YA  
    Dim dwOutBytes      As Long #v~dhx=R  
    Dim bResult         As Boolean br k*;  
     z_KCG2=5  
    bResult = DeviceIoControl(hDisk, _ LLzxCMc9*  
                                IOCTL_DISK_GET_DRIVE_GEOMETRY, _ `]4(Z"R  
                                ByVal 0&, 0, _ C+`V?rp=s  
                                lpGeometry, Len(lpGeometry), _ rp1+K4]P  
                                dwOutBytes, _ *M#L)c;6  
                                ByVal 0&) <u# 7K\:  
     F9las#\J  
    If bResult Then lBufferSize = lpGeometry.BytesPerSector * lpGeometry.SectorsPerTrack &IRM<A!8  
    GetDiskGeometry = bResult .YB/7-%M[  
End Function ;0?OBUDO  
~5Mj:{B  
Public Sub GetDiskInfo(MediaType As Long, _ [,ulz4"  
                        Cylinders As Long, _ S&[9Vb  
                        TracksPerCylinder As Long, _ fiU#\%uJg  
                        SectorsPerTrack As Long, _ NN+;I^NqW&  
                        BytesPerSector As Long) ; 5[W*,7s  
'//返回磁盘的参数 4 eSFpy1  
    MediaType = lpGeometry.MediaType W 9}xfy09  
    Cylinders = lpGeometry.Cylinders.lowpart "8U=0a  
    TracksPerCylinder = lpGeometry.TracksPerCylinder P&: [pPG  
    SectorsPerTrack = lpGeometry.SectorsPerTrack >RJ&b  
    BytesPerSector = lpGeometry.BytesPerSector >/}p{Tj  
EDnZ/)6Gg  
End Sub KC(z TY  
./'d^9{  
Public Property Get BufferSize() As Long ;GOu'34j  
'//返回每次读/写的缓冲大小 )^6Os2  
    BufferSize = lBufferSize "j8=%J{  
End Property `*kl>}$  
BjTgZ98J  
1L7^g*  
Public Function LockVolume() As Boolean ^Ojg}'.Ygv  
'// 将卷锁定 H*f2fyC1\  
    Dim dwOutBytes  As Long uD{ xs  
    Dim bResult     As Boolean 9Nv?j=*$  
     8s[1-l  
    bResult = DeviceIoControl(hDisk, _ kv?DE4=;  
                                FSCTL_LOCK_VOLUME, _ [[N${C  
                                ByVal 0&, 0, _ jpW_q+^?  
                                ByVal 0&, 0, _ ug;\`.nT^  
                                dwOutBytes, _ PVljb=8F  
                                ByVal 0&) K:AP 0Te  
    LockVolume = bResult jr#*;go  
End Function [^/a`Kda8  
i!RYrae  
<_=O0 t| 6  
Public Function UnlockVolume() As Boolean }o[<1+W(.  
'// 将卷解锁 S ^EAE]  
    Dim dwOutBytes As Long O kT@ _U  
    Dim bResult As Boolean CS-jDok  
      <|82)hO  
    bResult = DeviceIoControl(hDisk, _ B~& }Mv  
                                FSCTL_UNLOCK_VOLUME, _ SlT>S1`rnG  
                                ByVal 0&, 0, _ *O[/- p&7  
                                ByVal 0&, 0, _ Z8Vof~  
                                dwOutBytes, _ 9pS:#hg  
                                ByVal 0&) C#)T$wl[E  
    UnlockVolume = bResult *W,[k&;:  
End Function N@!PhP  
^f"|<r  
,D<U PtPQ  
Public Function DismountVolume() As Boolean G'dN<Nw6  
'// 将卷卸下,使系统重新辨识磁盘,等效于重新插盘 ^rjUye%EK  
    Dim dwOutBytes As Long OpIeo+^X*  
    Dim bResult As Boolean q.@% H}  
     6zNWDUf  
    bResult = DeviceIoControl(hDisk, _  _X=6M gU  
                                FSCTL_DISMOUNT_VOLUME, _ O2 + K  
                                ByVal 0&, 0, _ O1DUBRli!q  
                                ByVal 0&, 0, _ T 7qHw!)  
                                dwOutBytes, _ 7#9%,6Yi  
                                ByVal 0&) 2:nI4S  
    DismountVolume = bResult 4UzXTsjM7  
End Function {7%HK2='  
>w.%KVBJ  
N{@~(>ee^  
Public Function ReadDisk(ByVal Cylinders As Long, _ cF9oo%3  
                    ByVal Tracks As Long, _ 5e7\tBab  
                    db() As Byte) As Boolean F :Ps>  
'//按柱面和磁道来读取磁盘数据 oZl%0Uy?9I  
    Dim iPos    As Long tc\ZYCFr  
    Dim lRead   As Long ^\J-LU|"B  
     t6\--lk_  
    iPos = Cylinders * Tracks * lBufferSize yA_ly <  
     R2 J A(Hn  
    If SeekAbsolute(0, iPos) Then m9&%A0  
        ReadDisk = ReadBytes(lBufferSize, db(), lRead) `f~$h?}3-@  
    End If 5e0d;Rd  
End Function  P7/Xh3  
q0vZR"y  
Public Function WriteDisk(ByVal Cylinders As Long, _ Q0x?OL]A  
                     ByVal Tracks As Long, _ Y(?SE< 4R  
                     db() As Byte) As Boolean S0r+Y0J]<  
'//按柱面和磁道来写磁盘数据 %,ScGQE   
    Dim iPos    As Long >NV1#\5_R@  
    Dim lRead   As Long eT(X Ri0  
     bH'2iG  
    iPos = Cylinders * Tracks * lBufferSize K3 ,PmI&W  
     _RZ"WA^[  
    If SeekAbsolute(0, iPos) Then eU e, P  
        WriteDisk = WriteBytes(lBufferSize, db()) |m@>AbR5dk  
    End If /nX_Q?mo  
End Function q 6>}  
@qx$b~%  
:7dc;WdM  
'///////////////////////////////////////////////////////////////////////////////////// nvNF~)mu  
'//file system ZZCm438  
w8J8III\~  
Private Function SeekAbsolute(ByVal HighPos As Long, ByVal LowPos As Long) As Boolean IJDbm}:/e  
'//seek file Ss\?SEq  
    '//Notice: when you set LowPos=5, the read/write will begin with the 6th(LowPos+1) byte 6uUn  
    LowPos = SetFilePointer(hDisk, LowPos, HighPos, FILE_BEGIN) HNj;_S  
    If LowPos = -1 Then C>,> _  
        SeekAbsolute = (Err.LastDllError = ERROR_SUCCESS) Eelv i5  
    Else 8$ #z>  
        SeekAbsolute = True n'JS-  
    End If qcQq.cS_'N  
     W@'*G*f  
End Function ^} wF^ _  
ZBN,%P!P0  
$4)L~g|  
Private Function ReadBytes(ByVal ByteCount As Long, ByRef DataBytes() As Byte, ByRef ActuallyReadByte As Long) As Boolean :h3n[%  
'//read data to array }Ujgd2(U  
    Dim RetVal    As Long T,vh=UF%]  
    RetVal = ReadFile(hDisk, DataBytes(0), ByteCount, ActuallyReadByte, 0) 5dD8s-;^T  
    'ActuallyReadByte =>> if the bytesRead=0 mean EOF FCKyKn  
    ReadBytes = Not (RetVal = 0) BS?$eai@:9  
     r_ B.b K  
End Function ji.?bKqHE  
Rr[Wka9[  
Private Function WriteBytes(ByVal ByteCount As Long, ByRef DataBytes() As Byte) As Boolean " *W# z  
'//write data from array Ip)u6We>I  
    Dim RetVal As Long aD_7^8>  
    Dim BytesToWrite As Long v '^}zO  
    Dim BytesWritten As Long nXI8`7D  
     @M'qi=s*  
    RetVal = WriteFile(hDisk, DataBytes(0), ByteCount, BytesWritten, 0) AP1ZIc6  
     CQrP%}`r  
    WriteBytes = Not (RetVal = 0) :$PrlE  
End Function }4h0 {H  
杺栫杣杊椌柮栬,䒴蓉艿芖。
伍胥之 离线
级别: 军区司令员

显示用户信息 
90楼  发表于: 2015-09-05   
//从指定扇区号dwSector开始,写dwLength长度的数据 WXDo`_ {R  
BOOL WriteDisk( HANDLE hpartition, DWORD dwSector, DWORD dwLength, char* lpBuffer){ ?.lo[X<,*  
DWORD dwCB; r ) _*MPY  
LARGE_INTEGER  offset; ?d{O ' &|:  
offset.QuadPart  =  UInt32x32To64(dwSector ,  512); zpeCT3Q5O  
SetFilePointer(hpartition,  offset.LowPart,  &offset.HighPart,  FILE_BEGIN); 7y)Ar 8!D  
if(!WriteFile(hpartition, lpBuffer, dwLength * 512, &dwCB, NULL)){ .j tv Hr}U  
DWORD error = GetLastError(); 'd&4MA0X  
MessageBox(NULL,"写入文件失败!",NULL,IDOK); bQwG"N  
return FALSE; ^W@%(,xb  
} ;'08-Et  
return TRUE; ZU+_nWnl  
} z5Tsu1 c  
杺栫杣杊椌柮栬,䒴蓉艿芖。
伍胥之 离线
级别: 军区司令员

显示用户信息 
89楼  发表于: 2015-09-05   
引用
引用第46楼清水于03-03-2011 14:50发表的  : 3;> z %{  
-38"S;M 8  
介个真的看不懂。 l}/&6hI+d  
你说你老啦,喜欢怀旧了,才想起来填坑。 HpfZgkC+  
提醒我也想想,是不是也老啦,是不是也有坑没填呢。 'd&d"E[  
N}ND()bf  
SE6 ( 3f$  
你肯定有许多坑没有填,但是我挖的坑更多,但同是我也在你的某个坑里等你填埋呢!
杺栫杣杊椌柮栬,䒴蓉艿芖。
伍胥之 离线
级别: 军区司令员

显示用户信息 
88楼  发表于: 2015-09-05   
Re:回 38楼(伍胥之) 的帖子
引用
引用第39楼suehan234于01-22-2011 08:00发表的 回 38楼(伍胥之) 的帖子 : \ERxr   
佩服,玩也玩得这么专业! F8{gJaP x  
*i:8g(  
&ZkJ,-  
只是票友而已,算不上专业的。
杺栫杣杊椌柮栬,䒴蓉艿芖。
伍胥之 离线
级别: 军区司令员

显示用户信息 
87楼  发表于: 2015-09-05   
引用
引用第25楼猪小秘于01-20-2011 20:51发表的  : z _\L@b  
伍SIR,再次抱拳佩服 R+(f~ j'  
24? _k]Y  
Xy 4k;+  
小秘倒是好久不见了呢!宝贝几岁了?很健康活泼吧?
杺栫杣杊椌柮栬,䒴蓉艿芖。
伍胥之 离线
级别: 军区司令员

显示用户信息 
86楼  发表于: 2015-09-05   
引用
引用第21楼阿散于06-14-2010 22:33发表的  :  ArAe=m!u  
引用第19楼伍胥之于06-14-2010 12:33发表的  : iBbaHU*V  
\EoE/2"<  
*K$a;2WjzG  
我平生唯一参加的计算机考试就是职称考试,任选4个模块。 .*njgAq7  
U!o  
我连一级也没有考过。 Y 'X!T8  
.
6:B,ir _  
mIYKzu_k=  
引用
T5ky:{Y (  
矬子里拔将军... wdBB x\FP  
你们那里的俗语是吧? }(Fmr7%m  
+[uh);vD`G  
我们这里说"矮子里拔长脚"..应该是同一个意思... <5pNFj}0;X  
Jc mMbd&B  
有趣....各地有表达意思一样却方式不同的俗语.... ~zac.:a8  
!J#P 'x0  
EHn!ZrQgh  
你的文章写的有脸皮,没屁眼的, x/M$_E<G  
让看客大为不满... 8\' tfHL  
=lk'[P/p`  
你等着,,估计你以后接到的午夜凶铃就多了... |g^YD;9s.  
dO1 m  
'*rS, y  
我到现在也没有接到你的午夜凶铃呢! /N*<Fq7w~  
杺栫杣杊椌柮栬,䒴蓉艿芖。
伍胥之 离线
级别: 军区司令员

显示用户信息 
85楼  发表于: 2015-09-05   
引用
引用第17楼阿散于06-13-2010 22:29发表的  : ?;P6#ByR  
每个人的故事对其他人都是故事, pn(i18 x  
自己的故事也是其中之一. T>| hID  
跳出来看, Ce<z[?u  
不过是众人中的一个人的故事. 0 Q7<;'m  
Vfy@?x= &  
所以,接着听故事. v*GS>S  
Zh;}Q(w  
女人们有兴趣的就等老伍开个新帖或者跟贴, z$%8'  
听他痛说恋爱革命历史.... ETL7|C"  
DKMkCPX%  
杂家接着听他自学程序员历史, {{P 3Z[  
高级程序员考了吗? i{$P.i/&  
B\rY\  
RbxQTM_:M  
这个恋爱革命史还是等你痛改前非换个新ID来讲吧! } #e=*8F7  
Z9 ws{8@_  
我什么程度员也没有考过,连大学生的计算机应用等级证明都没有。 ,{q#U3  
ti9e(Jt!O  
我唯一考过的计算机科目是职称评审时要求有证书,所以我用了半小时考了word, powerpoint,和internet基础。都是小儿科的东东。如果没有用VBA写个Word的宏,我都觉得对不起微软了。 z-We>KX  
杺栫杣杊椌柮栬,䒴蓉艿芖。
伍胥之 离线
级别: 军区司令员

显示用户信息 
84楼  发表于: 2015-09-05   
引用
引用第16楼阿平于06-13-2010 22:25发表的  : yNwSiZE X  
哦, 打倒忽悠大家的家伙.      @0H0!9'  
p_n$}z  
^e]O >CJ  
阿平姐,这可不是忽悠,我可是认真交待经历呢!
杺栫杣杊椌柮栬,䒴蓉艿芖。
伍胥之 离线
级别: 军区司令员

显示用户信息 
83楼  发表于: 2015-09-05   
引用
引用第10楼卡拉于06-13-2010 21:49发表的  : &DtI+ )[|  
老伍,对不住,我把你原来的英文标题改了,太不吸引人眼球了,有些人还当是英文的都不会去点击。我通篇读了一下,改成了现在的标题。如果你不喜欢,可以改回来。 D"fjk1  
Z!' k N\z  
gLo&~|=L-  
其实标题没有什么,卡总既然改了就不必再改回了。 6+s&%io4  
@#o 7U   
主要是当初写的时候真是顶着锅盖写的。 6oq^n s-  
 8QKu  
阿散说得对。我就是把一堆鸡毛蒜皮的小事,用了一个big title.
杺栫杣杊椌柮栬,䒴蓉艿芖。
伍胥之 离线
级别: 军区司令员

显示用户信息 
82楼  发表于: 2015-09-05   
引用
引用第6楼沧桑于06-13-2010 14:39发表的  : #=m:>Q?%z  
老伍在写交代材料啊,而且写在一个ZT的贴下,哈哈。 !([v=O#  
NLgeBLB  
Ia^/^>  
这不是怕您见笑嘛!现在露馅了,只得继续招供了。 )J[Ady^5  
&Dp&  
可以从宽不?
杺栫杣杊椌柮栬,䒴蓉艿芖。
描述
快速回复

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