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

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

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

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

精彩

感动

搞笑

开心

愤怒

无聊

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

显示用户信息 
101楼  发表于: 2024-12-28   
姐妹儿,你也快RETIRED 了, 你欠得帐我可记得呢! 你该单独开帖填坑了。  5=*@l  
P&h/IBA_  
引用
引用第20楼newport93于06-14-2010 13:47发表的  : Dxz5NW4  
,b.kw}k  
老五,I 服了U。 HK^a:BI  
RsR] T]4  
哪一天等俺退休了,也写一个The Non-Progamming career of an ex-programmer。哈哈哈。。。。。 j\nE8WH  
~ >4@;  
杺栫杣杊椌柮栬,䒴蓉艿芖。
伍胥之 离线
级别: 军区司令员

显示用户信息 
100楼  发表于: 2021-07-18   
Dim bContinue As Boolean 3zk:59  
{6-;P#Q0_  
Dim regEX As New RegExp t*eleNYeS~  
Dim paraCounter As Long  '全局段落计数,仅在主程序中可读写,其它过程函数应为只读 u=1B^V,6V  
m9v"v:Pw  
Dim LastTitle0String As String, LastTitle0No As Long =%:JjgKc*t  
Dim LastTitle1String As String, LastTitle1No As Long Xqc'R5C w  
Dim LastTitle2String As String, LastTitle2No As Long $,p.=j;P  
Dim LastTitle3String As String, LastTitle3No As Long :v|r=#OI  
Dim LastTitle4String As String, LastTitle4No As Long aB/{ %%o  
Dim LastTitle5String As String, LastTitle5No As Long \,$r,6-g  
Dim LastTabelString As String, LastTableNo As Long ;L#L Dk{Za  
Dim LastFigureString As String, LastFigureNo As Long ;GiI'M  
InAU\! ew  
Dim strSeperator As String 3- 4Nad  
V+P8P7y37B  
Sub ConvertWidth(fTEXT As String, rText As String) b/T20F{W\o  
        Selection.Find.ClearFormatting ,<`|-oa  
        Selection.Find.Replacement.ClearFormatting 'O!Z:-qE  
        Selection.Find.Wrap = wdFindContinue cw*(L5b u  
        Me.txtStatus.Text = "转换全角数字字母" & fTEXT & "形式为半角" & rText bCH*8,Bmh  
        DoEvents 8}ii3Py  
        Selection.Find.Execute findtext:=fTEXT, replacewith:=rText, Replace:=wdReplaceAll, Forward:=True, Wrap:=wdFindContinue, MatchCase:=True | TC3*Y  
End Sub ViCg|1 c  
D!81(}p  
Sub ClearDomain() ?3.(Vqwog  
        With Selection.Find )6PJ*;p-  
            .ClearFormatting  aOaF&6'j  
            .Replacement.ClearFormatting Q>cL?ie  
            .Wrap = wdFindContinue Sn_ z  
            Me.txtStatus.Text = "清除所有域代码" %ZJ),9+  
            DoEvents U` ? zC~  
            .Execute findtext:="^d", replacewith:="", Replace:=wdReplaceAll, Forward:=True, Wrap:=wdFindContinue, MatchWildcards:=False ~ra#UG\Y8  
        End With 2<p5_4"-U*  
End Sub m$j n5:  
4`?sE*P@`  
Private Sub cmdCheck_Click() ^yzo!`)fso  
    bContinue = True B:.;,@r]  
    Dim NoSeries1(1 To 16) As String =d:R/Z%,  
    Dim NoSeries2(1 To 16) As String 3s88#_eT  
    Dim NoSeries5(1 To 16) As String ;9 =}_h)]  
    Dim NoSeriesRM(1 To 16) As String =U)n`#6_j2  
    Dim paraTotal As Long, ParaText As String tf.q~@Pi  
    Dim ttString As String, ttNo As String h v;n[  
     qz-#LZFTR  
    Dim ShapeCounter As Long, ShapeHeight As Long, ShapeWidth As Long #fJ/KYJU  
D? ^`(X P  
    Me.txtStatus.Visible = True 5<'n  
    Me.lbParaType.Visible = True _|Y.!ZRYP  
    Me.cmdCheck.Enabled = False H>g WxJ 5  
     MR^umLM88  
     <=B1"'\  
     yffU% )  
     o06A=4I  
    Dim ParaType As String, rText As String '8]|E  
     GapX$Jb,p  
    Selection.WholeStory i{%z  
    Selection.NoProofing = True >cvE_g"?C  
     XHwZ+=v  
    tm1 = Now I{i:B  
     ph}wnIW]  
        ActiveWindow.View.Type = wdNormalView gOBj0P8s|}  
     03i?"MvNo  
    NoSeries1(1) = "一" M6@'9E]|>  
    NoSeries1(2) = "二" P_:?}h\  
    NoSeries1(3) = "三" <k!m dj)  
    NoSeries1(4) = "四" Hsd|ka$x>  
    NoSeries1(5) = "五" 5n&)q=jk=  
    NoSeries1(6) = "六" c ,g]0S?gu  
    NoSeries1(7) = "七" &>+I7Ts]  
    NoSeries1(8) = "八" nR=2eBNf  
    NoSeries1(9) = "九" ~v{C6)  
    NoSeries1(10) = "十" +An![1N,  
    NoSeries1(11) = "十一" | SSf G~r  
    NoSeries1(12) = "十二" gxBl1  
    NoSeries1(13) = "十三" EF*oPn0|  
    NoSeries1(14) = "十四" =B3!jir  
    NoSeries1(15) = "十五" B^Rw?: hN  
    NoSeries1(16) = "十六" Ww a41z  
     ,qBnqi[  
    NoSeries2(1) = "㈠" $9j>VGf=  
    NoSeries2(2) = "㈡" )]0[`iLe  
    NoSeries2(3) = "㈢" q?e16M  
    NoSeries2(4) = "㈣" i'eYmm96Q  
    NoSeries2(5) = "㈤" 0ECO/EuCg  
    NoSeries2(6) = "㈥" LaEX kb*s  
    NoSeries2(7) = "㈦" M]%!n3Fb  
    NoSeries2(8) = "㈧" XL"v21X  
    NoSeries2(9) = "㈨" 1FXzAc(c!  
    NoSeries2(10) = "㈩" A?6 {  
     sWojQ-8}  
    NoSeries5(1) = "①" [[.&,6  
    NoSeries5(1) = "②" Ivd[U`=Q  
    NoSeries5(3) = "③" ~T;a jvJ  
    NoSeries5(4) = "④" U|y;b+n`  
    NoSeries5(5) = "⑤" #*ZnA,  
    NoSeries5(6) = "⑥" Ba\wq:  
    NoSeries5(7) = "⑦" pqGf@24c<  
    NoSeries5(8) = "⑧" p``;!3~ ~  
    NoSeries5(9) = "⑨" pw(U< )  
    NoSeries5(10) = "⑩" oHc-0$eMKY  
     :$X4#k<  
     Y]`lEq%  
    NoSeriesRM(1) = "I" #XYLVee,  
    NoSeriesRM(2) = "II" a[d{>Fb.  
    NoSeriesRM(3) = "III" 2V=FWuXC"  
    NoSeriesRM(4) = "IV" 'Wx\"]:  
    NoSeriesRM(5) = "V" q;Ar&VrlNq  
    NoSeriesRM(6) = "VI" Kq@m?h  
    NoSeriesRM(7) = "VII" (e bBH  
    NoSeriesRM(8) = "VIII" yNb#Ia  
    NoSeriesRM(9) = "IX" g0; &/;"  
    NoSeriesRM(10) = "X" 9;xL!cy  
    NoSeriesRM(11) = "XI" {Q#Fen ;y|  
    NoSeriesRM(12) = "XII" q7)]cY_  
    NoSeriesRM(13) = "XIII" *`QdkVER  
    NoSeriesRM(14) = "XIV" 32)&;  
    NoSeriesRM(15) = "XV" Z!s>AgH9u  
    NoSeriesRM(16) = "XVI" Qw{\sCH>  
     &K}(A {  
    i = MsgBox("为了你的数据安全,请使用单独保存的文件副本进行本操作。" & vbCrLf & "确定继续进行吗?", vbYesNo) rH#c:BwSm  
     %~8](]p  
    If i = vbNo Then Qzs\|KS  
        Exit Sub >M8^ Jgh  
    End If Jnu}{^~  
     h[[/p {z  
    If Me.chkSuper.Value Then /64^5DjTh  
        Me.txtStatus.Text = "检查修改所有的上标格式" `o^;fcnG  
     x]mye  
        CheckSuperScript +r#=n7 t  
          q~:'R  
    End If "p6:ekw  
     N('S2yfDR  
    If Me.chkStyle.Value Then mPw56>  
        Me.txtStatus.Text = "设置样式,请稍候...." RT_Pd\(qD  
        DoEvents ba:mO$  
        CeateOrModifyStyle 8h@)9Q]d\  
    End If 7-G'8t  
     r['=a/.C  
     |GVGny<  
     ,h5-rw'  
    ClearDomain {W:)oh>  
         5,=B 1  
     yv#c =v|  
     ^8f|clw"  
    If Me.chkLIST.Value Then ;#6<bV  
        Me.txtStatus.Text = "将所有自动列表标题转化为人工标题形式" *Wuctu^9  
     ; ei<Q =[  
        ConvertListToOrdinary U#~nN+SIt  
    End If B'lx lYV1  
     (x@i,Ba@  
     |=h)efo}  
    Dim pType As String, trimpTEXT As String yEw"8u'  
    If Me.chkNum.Value = True Then @88z{  
        Me.txtStatus.Text = "转换全角数字形式为半角" 3ZJagJ\O  
        ConvertWidth "1", "1" E=tx.h4xG~  
        DoEvents )W}/k$S  
        ConvertWidth "2", "2" 0x9F*i_  
        DoEvents 9 FFfRIVY  
        ConvertWidth "3", "3" .$ P2W0G  
        DoEvents k1LtqV  
        ConvertWidth "4", "4" Ep,0Z*j  
        DoEvents 0D]Yz`n3  
        ConvertWidth "5", "5" !=q:>  }g  
        DoEvents GqK&'c   
        ConvertWidth "6", "6" R1b )   
        DoEvents P/1UCITq}  
        ConvertWidth "7", "7" ;5JIY7t  
        DoEvents '@}?NV0  
        ConvertWidth "8", "8" L]L~TA<D9i  
        DoEvents e$ xv[9  
        ConvertWidth "9", "9" +(h6{e%)  
        DoEvents Oa_o"p<Lr  
        ConvertWidth "0", "0" wEHrer  
        DoEvents 2*7s 9g  
        ConvertWidth "a", "a" G+QNg .pH  
        DoEvents }:c,S O!  
        ConvertWidth "b", "b" t$PnQ@xu  
        DoEvents MTFVnoZMQ_  
        ConvertWidth "c", "c" q3pN/f;kr,  
        DoEvents :v WYI I7  
        ConvertWidth "d", "d" }5Tyzi(  
        DoEvents p#8LQP~0$  
        ConvertWidth "e", "e" l)!woOt  
        DoEvents a@a1 TpLQ  
        ConvertWidth "f", "f" zN8V~M;  
        DoEvents &Ow?Hd0  
        ConvertWidth "g", "g" {p lmFV  
        DoEvents <DlanczziF  
        ConvertWidth "h", "h" ;P0Y6v3  
        DoEvents V[M$o  
        ConvertWidth "i", "i" }9+1<mT9a/  
        DoEvents )(|0KarF  
        ConvertWidth "j", "j" U~B} vt  
        DoEvents 3{#pd6e5  
        ConvertWidth "k", "k" uI:3$  
        DoEvents g#KToOP  
        ConvertWidth "l", "l" WNlSve)]ie  
        DoEvents 2Ws/0c  
        ConvertWidth "m", "m" @,>=X:7  
        DoEvents v BeU  
        ConvertWidth "n", "n" Ca k/#1  
        ConvertWidth "o", "o" xf F&$K"  
        ConvertWidth "p", "p" OS h mrz28  
        ConvertWidth "q", "q" |uBot#K|  
        ConvertWidth "r", "r" NE>JtTF<  
        ConvertWidth "s", "s" @!O&b%8X%  
        ConvertWidth "t", "t" zHum&V8=H  
        ConvertWidth "u", "u" C[<\ufclD  
        ConvertWidth "v", "v" 51;%\@=  
        ConvertWidth "w", "w" G4J6  
        ConvertWidth "x", "x" ^D> MDj6  
        ConvertWidth "y", "y" rEpKX  
        ConvertWidth "z", "z" YI\Cs=T/  
        ConvertWidth "A", "A" .X=M !  
        ConvertWidth "B", "B" pil*/&pB  
        ConvertWidth "C", "C" p7=^m>Z6  
        ConvertWidth "D", "D" n+F-,=0  
        ConvertWidth "E", "E" B| 0s4E  
        ConvertWidth "F", "F" t[yD8h  
        ConvertWidth "G", "G" $>rfAs!  
        ConvertWidth "H", "H" jv#" vQ9A]  
        ConvertWidth "I", "I" ka9v2tE\  
        ConvertWidth "J", "J" x ;?1#W  
        ConvertWidth "K", "K" &+w!'LSaD  
        ConvertWidth "L", "L" )}9}"jrDlx  
        ConvertWidth "M", "M" *d,n2a#n5  
        ConvertWidth "N", "N" 7J!d3j2TR  
        ConvertWidth "O", "O" U%PMV?L{  
        ConvertWidth "P", "P" K&P{2Hndr  
        ConvertWidth "Q", "Q" 8wx#,Xa  
        ConvertWidth "R", "R" ~9/nx|%D  
        ConvertWidth "S", "S" -Fw4;&>  
        ConvertWidth "T", "T" vJj j+:  
        ConvertWidth "U", "U" g2b4 ia!L  
        ConvertWidth "V", "V" kc(b;EA  
        ConvertWidth "W", "W" -_f0AfU/a  
        ConvertWidth "X", "X" \#oV<MR  
        ConvertWidth "Y", "Y" fjZveH0  
        ConvertWidth "Z", "Z" fdEj#Ux<H  
        ConvertWidth "^l", "^p" JU2' ~chh  
        ConvertWidth "(", "(" qx<zX\qI6n  
        ConvertWidth ")", ")" K|J#/  
     JA(q>>4  
    End If nF[eb{GR`  
UmI@":|-  
    With ActiveDocument 5J2p^$s  
        Dim tbl As Table yar IR|  
        For Each tbl In .Tables 3SB7)8Id1  
            tbl.Rows.Alignment = wdAlignRowCenter `kT$Gx4x  
            tbl.Range.Font.NameFarEast = "楷体" cZK?kz_Y  
            tbl.Range.Font.NameAscii = "Times New Roman" @_(@s*4W  
            tbl.Range.Font.Size = 10.5 S0QU@e  
        Next }m lbN0 v  
        Set tbl = Nothing 4}YT@={g}  
    End With xfV2/A#h  
     >_% g8T'  
     Ywb)h^{!  
    With ActiveDocument P}u<NPy3Q  
         *CD=cmdD*  
        For i = 1 To .TablesOfContents.Count Ex&RR< 5  
            .TablesOfContents(i).Delete f'yd {ihFp  
        Next 0c;"bA0>Sx  
         9NoPrR=x1  
         n\)f.}YD8d  
         (L  
        paraTotal = .Paragraphs.Count 2iINQK$  
        paraCounter = 1 Mn{Rg>X  
         ] 8cX#N,M  
        LastTitle0No = 0 JI; i1@| b  
        LastTitle1No = 0 zs^\z Cb8  
        LastTitle2No = 0 c94PWPU  
        LastTitle3No = 0 qmeEUch`  
        LastTitle4No = 0 /n}V7  
        LastTableNo = 0 3&d +U)E  
        LastFigureNo = 0 fq!6#Usf;i  
         s?I=}  
        Dim Sec As Long eOmxA<h  
         eDZ3SIZ  
        Sec = InputBox("正文从第一节开始?", "节设置", 6) 7Sv5fLu2  
        If Sec = 0 Then /(L1!BPP9m  
            Exit Sub x=r6vOj  
        End If g_!xO2LH,8  
         ?lna8]t  
        k = 0 .BTT*vL-  
        Do While (paraCounter < paraTotal) And bContinue !-o||rt  
            k = k + 1 ~#x!N=q  
            If .Paragraphs(paraCounter).Range.Information(wdActiveEndSectionNumber) >= Sec Then =,;3z/k %  
                Exit Do &aht K}u  
            End If 9- <V%eNX  
            paraCounter = paraCounter + 1 X OtS+p  
            If k Mod 20 = 0 Then G uI sM  
                Me.lbCounter.Caption = paraCounter rTiuQdvo  
                DoEvents w`Aw+[24  
            End If 0<Y&2<v  
        Loop fOfz^W  
         {7szo`U2  
         x};g!FYfkB  
        Do While (paraCounter < paraTotal) And bContinue V1V4 <Zj  
             5GpKX  
            ParaText = Trim(.Paragraphs(paraCounter).Range.Text) 6Kc7@oO~  
            ShapeHeight = 0 Z]+Xh  
            ShapeWidth = 0 U`4Z j1y  
           L ]'CA^N  
            CheckPara .Paragraphs(paraCounter).Range, ParaType, rText, ttString, ttNo, ShapeCounter, ShapeHeight, ShapeWidth ;+Kewi;<  
             EHM 7=|#  
            Select Case ParaType aRKG)0=  
                Case "【】表格内容" zi 14]FWo  
                    .Paragraphs(paraCounter).Style = "QLNU表格内容" M@86u^80  
                Case "章" ,<WykeC  
                    LastTitle0No = LastTitle0No + 1 8[p6C Jl)  
                    '新一章开始,复位其下属标题编号 ]OUOL/J  
                    LastTitle1No = 0 cG"<*Xi<  
                    LastTitle2No = 0 'WgwLE_  
                    LastTitle3No = 0 I8>1RXz  
                    LastTitle4No = 0 vK>^#b3  
                     *iN]#)3>  
                    k = Val(ttNo) W@}5e-q)O  
                    If k = 0 Then '非数字编号章节 Mj;'vm7#'  
                        If ttNo <> NoSeries1(LastTitle0No) Then <iqyDPj  
                            rText = "第" & NoSeries1(LastTitle0No) & ttString Gjh7cm>  
                            Me.ErrMsg.AddItem "章节编号错误:" & ParaText ?S7:KnU>K  
                        End If ! yUKNR  
                    Else @G{DOxE*  
                        If Val(ttNo) <> LastTitle0No Then ]lG\t'R  
                            rText = "第" & LastTitle0No & ttString P@![P Ij  
                            Me.ErrMsg.AddItem "章节编号错误:" & ParaText gV>\lMc[-%  
                        End If i58CA?  
                         W/QOG&g  
                    End If + ~AI(h  
                     +FK<j;}C7  
                    '章段落设置 qUg4-Z4  
                    '字体大小:三号16磅小三号15磅四号14磅小四号12磅五号10.5磅小五号9磅 8LKZ3Y|  
                    .Paragraphs(paraCounter).Style = "QLNU章节" j_<n~ri-  
                    .Paragraphs(paraCounter).Range.Select !@ '2  
                    Selection.EndKey unit:=wdLine @Oay$gP{T  
                    tc = Replace(rText, vbCr, "") j[eEyCW[)  
                    Selection.Fields.Add Range:=Selection.Range, Type:=wdFieldEmpty, Text:="TC  """ & tc & """ \l 1 ", PreserveFormatting:=False No|{rYYKK  
                Case "一级标题" 7Zn Q] ?  
                    LastTitle1No = LastTitle1No + 1 5Rp2O4Z  
                    '新一级标题开始,复位其下属标题编号 %NoZ f^ ?  
                    LastTitle2No = 0 U,(+rMeY0  
                    LastTitle3No = 0 6$.Xj\zl  
                    LastTitle4No = 0 74OM tLL$  
                     WU@,1.F:  
                    If ttNo <> NoSeries1(LastTitle1No) Then O|m-k0n  
                            rText = NoSeries1(LastTitle1No) & "、" & ttString ^>28>!"1  
                            Me.ErrMsg.AddItem "一级标题编号错误:" & ParaText Nr+1N83S}  
                    End If ';V+~pi  
                   @Ec9Do>  
                     6Ky"4\e  
                    '一级标题段落设置  格式:一、标题内容 LJ#P- `!{&  
                    .Paragraphs(paraCounter).Range.Text = rText wd0ACF  
                    .Paragraphs(paraCounter).Style = "QLNU一级标题" LA Vgf>  
                    .Paragraphs(paraCounter).Range.Select ];]EK6dzG  
                    Selection.EndKey unit:=wdLine "Y0[rSz,UW  
                    tc = Replace(rText, vbCr, "") a'~y'6  
                    Selection.Fields.Add Range:=Selection.Range, Type:=wdFieldEmpty, Text:="TC  """ & tc & """ \l 1 ", PreserveFormatting:=False >k-poBw  
                Case "二级标题" m$: a|'mS  
                    LastTitle2No = LastTitle2No + 1 'gH#\he[Dh  
                    '新二级标题开始,复位其下属标题编号 A| -\C$  
                    LastTitle3No = 0 ?P]md9$(+e  
                    LastTitle4No = 0 e28#Yh@U  
                     kniMXeiu  
                    If ttNo <> NoSeries1(LastTitle2No) Then |B.d7@{mM  
                            rText = "(" & NoSeries1(LastTitle2No) & ")" & ttString p7tC~]r:L  
                            ErrMsg.AddItem "二级标题编号错误:" & ParaText Q{-r4n|b  
                    End If ,DZLEsFM  
                     j!H?dnE||  
                    '二级标题段落设置 格式:(一)、标题内容 fs12<~+z  
                    .Paragraphs(paraCounter).Range.Text = rText 5X-(@GwN  
                    .Paragraphs(paraCounter).Style = "QLNU二级标题" #XPU$=  
                     nClU 5  
                    .Paragraphs(paraCounter).Range.Select Sw)ftC~d  
                    Selection.EndKey unit:=wdLine +rX,Sl`/  
                    tc = Replace(rText, vbCr, "") >D aS*r  
                    Selection.Fields.Add Range:=Selection.Range, Type:=wdFieldEmpty, Text:="TC  """ & tc & """ \l 2 ", PreserveFormatting:=False /LzNr0>2  
                 %;J`dM  
                Case "三级标题" [: j_Y3-9  
                    LastTitle3No = LastTitle3No + 1 #pFybk  
                    '新三级标题开始,复位其下属标题编号 wQ.zj`?$(  
                    LastTitle4No = 0 M 4?3l  
                     %>z}P&Yz  
                    If Val(ttNo) <> LastTitle3No Then 9q{dRS[A  
                            rText = LastTitle3No & ". " & ttString tB7aHZ|  
                            Me.ErrMsg.AddItem "三级标题编号错误:" & ParaText @jeV[N,0  
                         XITQB|C??$  
                    End If =@MKU  
                    '三级标题段落设置 格式:1. 标题内容 "j>0 A Hem  
                    .Paragraphs(paraCounter).Range.Text = rText 1 j8,Zrg1  
                    .Paragraphs(paraCounter).Style = "QLNU三级标题" "YZ`g}sG  
                    .Paragraphs(paraCounter).Range.Select +w5?{J  
                    Selection.EndKey unit:=wdLine 9] \vw  
                    tc = Replace(rText, vbCr, "") R[t[M}q  
                    Selection.Fields.Add Range:=Selection.Range, Type:=wdFieldEmpty, Text:="TC  """ & tc & """ \l 3 ", PreserveFormatting:=False ugP R)tDfM  
                Case "四级标题" n|6yz[N  
                    LastTitle4No = LastTitle4No + 1 =)bc/309  
                     *k$& Hcr$  
                    If Val(ttNo) <> LastTitle4No Then `9gx-')]\  
                            rText = "(" & LastTitle4No & "). " & ttString Q+dI,5YF  
                            ErrMsg.AddItem "四级标题编号错误:" & ParaText \_'pUp22  
                     pn|{P<b\  
                    End If `lzH:B  
                    '四级标题段落设置 格式:(1). 标题内容 = ByW`  
                    .Paragraphs(paraCounter).Range.Text = rText HOG7||&y  
                    .Paragraphs(paraCounter).Style = "QLNU四级标题" 56dl;Z)  
                    .Paragraphs(paraCounter).Range.Select hn .fX:}  
                    Selection.EndKey unit:=wdLine ;0E 4S  
                    tc = Replace(rText, vbCr, "") w{IqzmPiH  
                    Selection.Fields.Add Range:=Selection.Range, Type:=wdFieldEmpty, Text:="TC  """ & tc & """ \l 4 ", PreserveFormatting:=False aQ. \!&U  
                 =;T[2:JUu  
                Case "表格标题" >6 q@Tr  
                    LastTableNo = LastTableNo + 1 _,Y79 b6  
                     V5 w^Le_^  
                    If ttNo <> CStr(LastTableNo) Then KS_d5NvYl  
                            rText = "表" & LastTableNo & ". " & ttString H[Cn@XE  
                            ErrMsg.AddItem "表格编号错误:" & ParaText G7?EaLsfQ  
                   w6 .HvH-@?  
                    End If VGIc|Q=F  
                     q[ZYlF,Ho  
                    '表格名称段落设置 格式:表1. 表格名称 |<$O5b'  
                    .Paragraphs(paraCounter).Style = "QLNU表格标题" "{ lnSLk  
                    xe = Replace(rText, vbCr, "") j!rz@Y3  
                    .Paragraphs(paraCounter).Range.Select VxoMK7'O=/  
                    Selection.MoveEnd wdCharacter, -1   '选择范围包括行尾的换行符。 &jcr7{cD  
                    Selection.Range.Text = xe Sm5"Q  
                    Selection.EndKey f*Bc`+G  
                    Selection.Fields.Add Range:=Selection.Range, Type:=wdFieldEmpty, Text:="XE  " & """" & xe & """", PreserveFormatting:=False Q1yTDJ(2  
                 w@We,FUJN  
                Case "表格首行" ER+[gT1CQ  
                    .Paragraphs(paraCounter).Style = "QLNU表格首行" i/Z5/(z F  
                Case "图片标题" \ZH=$c*W  
                    LastFigureNo = LastFigureNo + 1 oJy/PR 3  
                     {HeMdGn9  
                    If ttNo <> CStr(LastFigureNo) Then @<L.#gtP  
                            rText = "图" & LastFigureNo & ". " & ttString ;7hr8?M|  
                            ErrMsg.AddItem "表格编号错误:" & ParaText "'L SLp  
                   NKws;/u  
                    End If _De;SB %V  
                    '图片名称段落设置 格式:图1. 图名称 ?1sY S  
                    .Paragraphs(paraCounter).Range.Text = rText G y2XjO8b  
                    .Paragraphs(paraCounter).Style = "QLNU图片标题" 3t'K@W?AJh  
                    .Paragraphs(paraCounter).Range.Select fBmx +7  
                    Selection.EndKey unit:=wdLine M\3!elp2z  
                    xe = Replace(rText, vbCr, "") '%N p9Iqt  
                    Selection.Fields.Add Range:=Selection.Range, Type:=wdFieldEmpty, Text:="XE  " & """" & xe & """", PreserveFormatting:=False QWEK;kUa@  
                Case "正文" 8iRQPV-"_  
                     '正文名称段落设置 COafVlJ,l  
                    .Paragraphs(paraCounter).Style = "QLNU正文" Iq*7F5B  
               Case "文献条目" Tj:F Qnx  
                    With .Paragraphs(paraCounter) J/Li{xp)Lg  
                        '.Range.Select 9Wn0YIc  
                        'Selection.ClearFormatting JAK*HA  
                        '.Range.Find.Execute findtext:=rText, replacewith:=strSeperator   'Replacetext 传回了编号及分隔符部分, 而StrSeperator传回了正确的格式与分隔符如“[15] ” RP$A"<goP  
                        .Style = "QLNU参考文献"  f63q  
                    End With T5)?6i -N  
               Case "图表注解" (%1*<6ka  
                    With .Paragraphs(paraCounter) KAZz) 7  
                        .Range.Font.NameFarEast = "楷体" s~CA @  
                        .Range.Font.NameAscii = "Times New Roman" $fKWB5p|()  
                        .Range.Font.Size = 9 '小5号字 BlCKJp{m$  
                         wSDDejg  
                        .Alignment = wdAlignParagraphCenter 4M}/PoJ  
                        .LeftIndent = 0 o^D{WH\p  
                        .RightIndent = 0 *KAuyJr  
                        .FirstLineIndent = 0 2+HiaYDZ  
                        .LineSpacing = 12 A@+.[[  
                        .LineSpacingRule = wdLineSpaceExactly P^UcpU,  
                        .LineUnitAfter = 0 .:}\Z27-c  
                        .LineUnitBefore = 0 dhbJ1/z^  
                        .OutlineLevel = wdOutlineLevelBodyText #<{MtK_  
                        .PageBreakBefore = False Zh$Z$85p  
                        .RightIndent = 0 n$QFj'  
                        .WordWrap = True r|+Zni]  
                        .LineUnitAfter = 0.5 whshjl?a  
                         Bb)J8,LQ  
                    End With 1mqFnVkf&+  
                Case Else _4+1c5Q!  
                    '不作处理 ,ic}   
            End Select jBM>Pe^`3  
             ,7aqrg  
            '含有inlineshape的段落处理 )I@iW\`7  
            If ShapeHeight > 30 Then #@ G2n@Hj  
                .Paragraphs(paraCounter).LineSpacingRule = wdLineSpaceSingle  '对有图片的段落设置为单倍行距 :([,vO:  
            End If ?zEgN!\R)  
             iVRz  
            If (ShapeWidth + ShapeHeight) > 150 Then  I g`#U~  
                .Paragraphs(paraCounter).Style = "QLNU图片段落" 4|qp&%9-  
            End If W7 $yE},z  
             G>j/d7  
            '段落计数器递 {#MViBhd%  
            paraCounter = paraCounter + 1 r\zK>GVm_  
            Me.lbCounter.Caption = "当前检测段落:" & paraCounter d hy=x  
            Me.txtStatus.Text = ParaText (@zn[ Nq  
            DoEvents & CgLF]  
        Loop Z:}^fZP  
    End With k6XO-a f  
     K^+B"  
    msg = "" Oqyh{q%]  
     S1."2AxO  
    For i = 0 To Me.ErrMsg.ListCount - 1 _B2t|uQ  
        msg = msg & vbCrLf & vbCrLf & Me.ErrMsg.List(i) 4b)xW&K{  
    Next UOyP6ej  
     @ ) }U\=  
     h!.(7qdd  
     8wOr`ho B  
    Me.txtStatus.Text = "格式化完成!" & vbCrLf & "开始时间:" & tm1 & vbCrLf & "结束时间:" & Now & vbCrLf & msg kI]1J  
    Me.cmdCheck.Enabled = True `?:'_K i  
    Me.txtStatus.Visible = True p\ASf  
    Me.lbParaType.Visible = False BLRrHaX0  
     #AHIlUH"m  
    bContinue = False %2.T1X%!  
End Sub tB[K4GNSQ  
:}lE@Y,R   
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) r?$\`,;  
    Dim pTEXT As String rqIt}(J  
     |kn}iA@72p  
    pTEXT = ChKRange.Text +x1sV*S  
     Uvp?HZ\Z  
    ParaType = "其它" J0`?g6aY  
    TitleString = pTEXT ]TQjk{X<  
    TitleNo = "N/A" 'EQAG ' YV  
      Cfi5r|S  
    shpCounter = ChKRange.InlineShapes.Count (/^&3xs9  
    If shpCounter <> 0 Then ^U1;5+2G+~  
        MaxShpHeight = 0: TotalShpWidth = 0 j2z$kw%  
        For i = 1 To shpCounter _+U`afV  
            k = ChKRange.InlineShapes(i).Height |Z<adOg  
            l = ChKRange.InlineShapes(i).Width -M4#dHR_!  
            If k > MaxShpHeight Then xnArYm  
                MaxShpHeight = k ${?Px c{-  
            End If Z7 @#0;g{  
            TotalShpWidth = TotalShpWidth + l xucV$[f  
        Next ;-3M  
        If MaxShpHeight > 60 Or TotalShpWidth > 150 Then #Xc~3rg9  
            Exit Sub `JC!uc  
        End If "H({kmR  
    End If WJ%b9{<  
     $8s&=OW  
    '空行 r=vE0;7  
    If Len(pTEXT) <= 2 Then 6 -oQs?  
        Exit Sub I^o^@C  
    End If ,i}"e(f  
     <rkF2-K,  
         X@ss d  
    '是否为表格中的文字 tC;D 4i  
    If ActiveDocument.Paragraphs(paraCounter).Range.Information(wdWithInTable) Then D^pAf/ek@i  
        ParaType = "表格内容" eu~ ;G H  
        k = ActiveDocument.Paragraphs(paraCounter).Range.Information(wdEndOfRangeRowNumber) 8w\&QX  
        If k = 1 Then *ULXJZ%  
            ParaType = "表格首行" 0Bll6Rd  
        End If Sdn] f4  
        Exit Sub wz ,woF |  
    End If :=/DF  
     ~DSle 3  
    '例外情况:脚注 `f (!i mN  
    If ActiveDocument.Paragraphs(paraCounter).Range.Information(wdInFootnote) Then =<<\Uo  
        ParaType = "脚注" @{bf]Oc  
        Exit Sub %V$^CWOy  
    End If U|>Js!$  
     QRRZMdEGs[  
    '例外情况:尾注 W uQdz&s>  
    If ActiveDocument.Paragraphs(paraCounter).Range.Information(wdInEndnote) Then ka(xU#;  
        ParaType = "尾注" _*+M'3&=  
        Exit Sub >+1bTt/-F  
    End If Xd4~N:  
     vO\CPb %/  
    If ActiveDocument.Paragraphs(paraCounter).Range.Information(wdInHeaderFooter) Then tlW}lN}  
        ParaType = "页眉页脚" f~53:;L/  
        Exit Sub Uc/%4Gx   
    End If dCinbAQ  
     F$caKWzny5  
     </fzBaTo  
    With regEX 9O|m# &wa]  
        .Global = True zUOYH4+  
         ]$7|1-&Y  
        .Pattern = "^第([1-9]|1|2|3|4|5|6|7|8|一|二|三|四|五|六|七|八|九|十)章(、|\.|\s|。|.)+(.{1,30})$" b_B4  
        If regEX.Test(pTEXT) Then }\9qN!ol  
            ReplaceTEXT = regEX.Replace(pTEXT, "第$1章 $3") MT3UJ6~P  
            TitleString = regEX.Replace(pTEXT, "$3") (* p |Kzu  
            TitleNo = regEX.Replace(pTEXT, "$1") ]UNmhF!W>u  
            ParaType = "章" g}f@8;TY  
            Exit Sub !l}es4~.a  
        End If B%,0zb+-L  
         <|{=O9  
        .Pattern = "^(十一|十二|十三|十四|十五|十六|一|二|三|四|五|六|七|八|九|十)(、|\.|\s|。|.)+(.{1,40})$" se?nx7~  
        If regEX.Test(pTEXT) Then 4|~o<t8  
            ParaType = "一级标题" Mqna0"IYx*  
            regEX.Execute (pTEXT) :5dq<>~  
            ReplaceTEXT = regEX.Replace(pTEXT, "$1、$3") 8.vD]hO  
            TitleString = regEX.Replace(pTEXT, "$3") {P*RA'H3G  
            TitleNo = regEX.Replace(pTEXT, "$1") ej0q*TH.  
            Exit Sub uQ{M<%K  
        End If 2 nf{2edC  
         iM\W"OUl[  
        '全角或半角括号中的数字 v"^G9u  
        .Pattern = "(^\(|()(十一|十二|十三|十四|十五|十六|一|二|三|四|五|六|七|八|九|十)(\)|))(、|\.|\s|。|.)*(.{1,40})$" )!0>2,R1  
        If regEX.Test(pTEXT) Then rtPQ:CaA)?  
            ParaType = "二级标题" $+Xohtt  
            regEX.Execute (pTEXT) uG/ Zpi  
            ReplaceTEXT = regEX.Replace(pTEXT, "($2)$5") ?&[`=ZVn  
            TitleString = regEX.Replace(pTEXT, "$5") Alrk3I3{  
            TitleNo = regEX.Replace(pTEXT, "$2") Ts.6 1Rx  
            Exit Sub P:Bg()  
        End If H#f FU  
         f>Ge Em~  
        '阿拉伯数字  1. 2. n|8fdiK#}  
        .Pattern = "^([1-9]|1|2|3|4|5|6|7|8|9|0){1,2}(、|\.|\s|。|.)+(.{1,80})$" RxAZ<8T_  
        If regEX.Test(pTEXT) Then G-Y8<mEh  
            ParaType = "三级标题" +Ix;~  
            regEX.Execute (pTEXT) FvRog<3X  
            ReplaceTEXT = regEX.Replace(pTEXT, "$1. $3") '未进行全半角转换,如需要可分成两步分别检测 Tfj%Sb,zM  
            TitleString = regEX.Replace(pTEXT, "$3") 1vX97n<}  
            TitleNo = regEX.Replace(pTEXT, "$1") Cjw|.c`  
            Exit Sub lK{h%2A\b  
        End If um[.r, ++  
         NL1Ajms`  
        '全角或半角括号中的阿拉伯数字 Hi )n]OE  
        .Pattern = "^(^\(|()([0-9]|0|1|2|3|4|5|6|7|8|9){1,2}(\)|))(、|\.|\s|。|.)*(.{1,80})$" 3t8VH`!mL{  
        If regEX.Test(pTEXT) Then ,Q^.SHP8  
            ParaType = "四级标题" wz'D4B  
            regEX.Execute (pTEXT) i`X/d=  
            ReplaceTEXT = regEX.Replace(pTEXT, "($2) $5") 1"i/*}M  
            TitleString = regEX.Replace(pTEXT, "$5") -?j'< g0  
            TitleNo = regEX.Replace(pTEXT, "$2") WzF/wzR  
            Exit Sub Mq-;sPsFP  
        End If huO_ARwK'  
         $[H3O(B0*  
        '表格名称 R@;kY S  
        .Pattern = "^表(\d{1,2}-{0,1}\d{0,1})([、|\.|。|.|\s]{1,9})(.{1,120})$" R+P1 +5  
        If regEX.Test(pTEXT) Then |TkO'QN  
            ParaType = "表格标题" 0PZpE "$X  
            regEX.Execute (pTEXT) t1D6#JP(a  
            ReplaceTEXT = Trim(regEX.Replace(pTEXT, "表$1. $3")) xw`Pq6  
            TitleString = Trim(regEX.Replace(pTEXT, "$3")) Nl0*"}`I_  
            TitleNo = Trim(regEX.Replace(pTEXT, "$1")) Qv#]T,  
            strSeperator = Trim(regEX.Replace(pTEXT, "$2")) '不知道为什么,但是发现传回的replacetext在修改Paragraph对象的Range.Text后,表格标题就会落入第一个单元格中,所以,只能用Paragraph.Range.Find.Execute方法替换 <_h  
            Exit Sub h]I ^%7  
        End If SI-s:%O  
         Ty7x jIs  
        '图片名称 yAaMYF@  
        .Pattern = "^图(\d{1,2}-{0,1}\d{0,1})(、|\.|\s|。|.)+(.{1,120})$" ?xIwQd0  
        If regEX.Test(pTEXT) Then Mu TlN  
            ParaType = "图片标题" y<kW2<?  
            regEX.Execute (pTEXT) )!3sB{ H  
            ReplaceTEXT = regEX.Replace(pTEXT, "图$1. $3") orJN#0v4  
            TitleString = regEX.Replace(pTEXT, "$3") 'v?Z~"w=  
            TitleNo = regEX.Replace(pTEXT, "$1") E-CZk_K9  
            Exit Sub <5=^s%H  
        End If }s? 9Hnqa  
         caS5>wk`R  
        '参考文献 2|m461   
        .Pattern = "^([\[|[])(\d+)([]|\]])([、|\.|\s|。|.]{0,1})"  '[数字]、 *M09Y'5]  
        If regEX.Test(pTEXT) Then xse8fGs  
            ParaType = "文献条目" '};pu;GA7  
            'ReplaceTEXT = regEX.Replace(pTEXT, "$1$2$3$4") Zhf+u r  
            'TitleNo = regEX.Replace(pTEXT, "[$2] ") dtJ?J<m}  
            Exit Sub ^`ny]3JA  
        End If >Ka}v:E  
         yj- BLR5  
        prfx = Left(pTEXT, 2) K;Fy&p^d  
        If prfx = "注:" Or prfx = "注:" Then m#ID%[hg$  
            ParaType = "图表注解" G8j$&1`:  
            Exit Sub ?nE<Aig  
        End If L~>pSP^a  
         Gq?JMq#  
         A3MVNz$wo"  
        ParaType = "正文" (V#5Cs,o:  
         jruwdm^  
    End With ?m0|>[j  
End Sub WS4J a$*  
FK<1SOE  
Sub ConvertListToOrdinary() !ouJ3Jn   
    Dim st As Paragraph }qxw Nmx  
    With ActiveDocument ht)J#Di  
        For i = .Paragraphs.Count To 1 Step -1 CnN PziB  
            Set st = .Paragraphs(i) Ub3^Js!b%  
            lst = st.Range.ListFormat.ListString I~|.Re9a  
            If lst <> "" Then uvi+#4~G  
                st.Range.ListFormat.RemoveNumbers Tw 8$6KUW  
                st.Range.InsertBefore lst & " " X$)<>e]!>  
            End If Ns Pt1_ Y8  
        Next  BVU>M*k  
    End With xO{yr[x"L  
    Set st = Nothing mqQN*.8*  
End Sub ] %pr1Ey  
it \3-  
Private Sub UserForm_Activate() zW8rC!  
    Me.lbTotal.Caption = "当前文章段落总数:" & ActiveDocument.Paragraphs.Count & " 共" & ActiveDocument.Sections.Count & "节" 4'[/gMUkw  
    Me.lbTotal.Font.Bold = True ve<D[jQsk  
    Me.txtStatus.Visible = False l%L..WCT]  
    Me.cmdCheck.Enabled = True n2cb,b/7  
:A"GO c,  
End Sub (} ?")$.  
^i:%0"[*^i  
741Sd8  
Sub CheckSuperScript() jhg0H2C8  
    Selection.Find.ClearFormatting w6aq/m"'  
    Selection.Find.Replacement.ClearFormatting /GRkQ",  
    With Selection.Find IBZ_xU\2  
        .Text = "[【\[[〖](*)[】\]〗]]" FbhF45H  
        .Replacement.Text = "[\1]" T'!7jgk{:  
        .Replacement.Font.Superscript = True |U)M.\h  
        '.Replacement.Font.Color = wdColorBlue jYI\.bc  
        .Forward = True t[VA|1gG  
        .Wrap = wdFindContinue D5^wT>3>  
        .FORMAT = True B^nE^"b  
        .MatchCase = False @p"m{  
        .MatchWholeWord = False v;1<K@UT  
        .MatchByte = False ^\KZE|^3@  
        .MatchAllWordForms = False s,Azcqem  
        .MatchSoundsLike = False WS6'R    
        .MatchWildcards = True vq=nG]cE)  
    End With NH~\kV  
    Selection.Find.Execute Replace:=wdReplaceAll /6QwV->  
End Sub muc6gwBp  
H[S[ y  
Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer) l$ ^LY)i  
    bContinue = False m7!M stu  
    Set regEX = Nothing >cJfD9-<h  
End Sub 3RJsH :u8  
6fY-D qF!  
Sub CeateOrModifyStyle() vnc-  W3N  
' 0o7*5| T4  
' ^Y,nv,gYn  
Dim stl As Style c&X2k\  
     7Ji|x{``  
    Options.Pagination = False ozB2L\D7  
     2!QQypQ  
    On Error Resume Next ZMEU4?F  
    For Each stl In ActiveDocument.Styles lub_2Cb|j  
        stl.Delete (ZSd7qH"  
    Next m) QV2n  
    On Error GoTo 0 ip8%9fG\>  
     -?nr q <3  
    Set stl = Nothing bf@H(gCW=  
     ZD~ra7  
    DoEvents &L`^\B]k|  
    On Error Resume Next 07b =Zhh  
     =Z}$X: $  
    ActiveDocument.Styles.Add Name:="BaseStyle", Type:=wdStyleTypeParagraph kn %i#Fz  
     i24t$7q  
    ActiveDocument.Styles.Add Name:="QLNU论文题目", Type:=wdStyleTypeParagraph z[|2od  
    ActiveDocument.Styles.Add Name:="QLNU中文摘要", Type:=wdStyleTypeParagraph 8}C_/qeM  
     3127 4O  
    ActiveDocument.Styles.Add Name:="QLNU英文标题", Type:=wdStyleTypeParagraph zl $mt'\y  
    ActiveDocument.Styles.Add Name:="QLNU英文摘要", Type:=wdStyleTypeParagraph 7 x#QkImQ  
     "lLwgh;  
    ActiveDocument.Styles.Add Name:="QLNU目录项", Type:=wdStyleTypeParagraph [0MNq]gxf  
    ActiveDocument.Styles.Add Name:="QLNU章节标题", Type:=wdStyleTypeParagraph gxPu/VD4  
    ActiveDocument.Styles.Add Name:="QLNU一级标题", Type:=wdStyleTypeParagraph ^pwT8Bp  
    ActiveDocument.Styles.Add Name:="QLNU二级标题", Type:=wdStyleTypeParagraph JCO+_d#x  
    ActiveDocument.Styles.Add Name:="QLNU三级标题", Type:=wdStyleTypeParagraph &Ql$7: r  
    ActiveDocument.Styles.Add Name:="QLNU四级标题", Type:=wdStyleTypeParagraph ur\<NApT;  
    ActiveDocument.Styles.Add Name:="QLNU正文", Type:=wdStyleTypeParagraph sBm)D=Kll  
     >UNx<=ry  
    ActiveDocument.Styles.Add Name:="QLNU表格标题", Type:=wdStyleTypeParagraph 6--t6>5  
    ActiveDocument.Styles.Add Name:="QLNU表格首行", Type:=wdStyleTypeParagraph c]}F$[>oN'  
    ActiveDocument.Styles.Add Name:="QLNU表格内容", Type:=wdStyleTypeParagraph |r['"6  
    ActiveDocument.Styles.Add Name:="QLNU图片标题", Type:=wdStyleTypeParagraph +adwEYRrr  
    ActiveDocument.Styles.Add Name:="QLNU图片段落", Type:=wdStyleTypeParagraph SR_<3WW  
     Cg_9V4h.C  
    ActiveDocument.Styles.Add Name:="QLNU参考文献", Type:=wdStyleTypeParagraph '- X[T}  
    On Error GoTo 0 lWPh2k  
    DoEvents SFJ"(ey$  
     ~ kwS`  
    'BaseStyle y90wL U9f  
    ActiveDocument.Styles("BaseStyle").AutomaticallyUpdate = False AdD,94/  
    With ActiveDocument.Styles("BaseStyle").Font _59f.FsVR  
        .NameFarEast = "宋体" *\gYs{,  
        .NameAscii = "Times New Roman" " rA-u)Te  
        .NameOther = "宋体" x4bmV@b  
        .Size = 10.5 1 K(0tG:5  
        .Bold = wdUndefined !{q_Q !  
        .Italic = wdUndefined H Q:Y:  
        .Subscript = wdUndefined 717S3knlv  
        .Subscript = wdUndefined D||)H  
         #fy3 i+  
        .Underline = wdUnderlineNone ^m Ua5w  
        .UnderlineColor = wdColorAutomatic Xrl# DN  
        .StrikeThrough = False \:-" ?  
        .DoubleStrikeThrough = False ~)CGwST[  
         {;5\#VFg  
        .Outline = False f b+_]{7g  
        .Emboss = False WF] |-)vw  
        .Shadow = False Ua%;hI)j$  
        .Hidden = False t03X/%H  
        .SmallCaps = False g~p43sVV  
        .AllCaps = False ZSvU1T8  
        .Color = wdColorAutomatic j[CXIz?c  
        .Engrave = False fj|X`,TiZ;  
        .Scaling = 100 q\Q'9Rl0(  
        .Kerning = 1 y=!7PB_\|  
        .Animation = wdAnimationNone 2Y>#FEW/  
        .DisableCharacterSpaceGrid = False `NySTd)\  
        .EmphasisMark = wdEmphasisMarkNone L;h|Sk]{  
    End With +N}yqgE  
    With ActiveDocument.Styles("BaseStyle").ParagraphFormat InA=ty]"_U  
        .LeftIndent = 0 %-fQ [@5  
        .RightIndent = 0 Uz =OTM  
        .SpaceBefore = 0 zt;aB>jz#  
        .SpaceBeforeAuto = False ^|%u%UR  
        .SpaceAfter = 0 ?[?;%Y  
        .SpaceAfterAuto = False *Za'^ Z2  
         'C7$,H'  
        .LineSpacingRule = wdLineSpaceSingle 7y 4jk  
        .Alignment = wdAlignParagraphJustify P](/5KrK  
         hh!4DHv   
        .WidowControl = False l=UXikx  
        .KeepWithNext = False "O~7s}  
        .KeepTogether = False Z\r?>2  
        .PageBreakBefore = False nD.K*#u  
        .NoLineNumber = False 9CG&MvF c  
         go9tvK  
        .FirstLineIndent = CentimetersToPoints(0) = IJ}b=:  
        .OutlineLevel = wdOutlineLevelBodyText !mH !W5&  
        .CharacterUnitLeftIndent = 0 4OeH}@a  
        .CharacterUnitRightIndent = 0 w"{mDL}c  
        .CharacterUnitFirstLineIndent = 0 :'2h0 5R  
        .LineUnitBefore = 0 [>D5(O  
        .LineUnitAfter = 0 HSR,moI  
        .AutoAdjustRightIndent = True :Z%-&) F  
        .DisableLineHeightGrid = True IN_O!c0e  
         NK\0X5##.  
        .FarEastLineBreakControl = True H S)$|m_  
        .WordWrap = True a(IUAh*mO  
        .Hyphenation = False AO]k*N,N  
         1z3>nou2{  
        .HangingPunctuation = True LEuDDJ -  
        .HalfWidthPunctuationOnTopOfLine = True T*z*x=<5  
        .AddSpaceBetweenFarEastAndAlpha = True U4=m>Ty  
        .AddSpaceBetweenFarEastAndDigit = True dWTc3@xd  
        .BaseLineAlignment = wdBaselineAlignBaseline A01PEVd@A  
    End With J4%"38l  
    ActiveDocument.Styles("BaseStyle").NoSpaceBetweenParagraphsOfSameStyle = False >N~orSw%  
    ActiveDocument.Styles("BaseStyle").ParagraphFormat.TabStops.ClearAll `ztp u ~?  
    ActiveDocument.Styles("BaseStyle").LanguageID = wdSimplifiedChinese pz=/A   
    ActiveDocument.Styles("BaseStyle").NoProofing = False `{%ImXQF  
     X2T _} {  
    '一级标题题样式 @4G{L8Q}  
    ActiveDocument.Styles("QLNU一级标题").BaseStyle = ActiveDocument.Styles("BaseStyle") BD- c<K"  
    ActiveDocument.Styles("QLNU一级标题").NextParagraphStyle = "BaseStyle" & LhQr-g  
    ActiveDocument.Styles("QLNU一级标题").AutomaticallyUpdate = False -e O>d}  
    With ActiveDocument.Styles("QLNU一级标题").Font \ [bJ@f*."  
        .NameFarEast = "黑体" $px1D$F !  
        .NameAscii = "Arial Black" L"RE[" m  
        .NameOther = "黑体" c HC1l  
        .Name = "黑体" ?f= ~Pn+  
        .Size = 16              '三号 j1 H eX  
        .Bold = True _MW  W  
        .Italic = wdUndefined VpX*l3  
        .Subscript = wdUndefined 3S .2  
        .Superscript = wdUndefined )>tT ""yEl  
    End With :28[k~.bo  
    With ActiveDocument.Styles("QLNU一级标题").ParagraphFormat Ax6zx  
         l?A~^4(5a/  
        .LeftIndent = CentimetersToPoints(0) RK/ >5  
        .RightIndent = CentimetersToPoints(0) )# v}8aL  
        .FirstLineIndent = CentimetersToPoints(0) `-MCI)Fq_R  
         OP|X-  
        .LineSpacingRule = wdLineSpaceSingle 5(t hDZ!  
        .Alignment = wdAlignParagraphCenter y[ZVi5) ,  
         b#-=Dbe  
        .WidowControl = True (y s<{Y-;  
        .KeepWithNext = True T_[5 ZYy  
        .KeepTogether = True <m/XGFc  
        .OutlineLevel = wdOutlineLevelBodyText 4C[kj  
         JmC2buO  
        .LineUnitBefore = 0.5 @6M>x=n5  
        .LineUnitAfter = 0.5 Rrrq>{D  
    End With ]?T,J+S  
    ActiveDocument.Styles("QLNU一级标题").NoSpaceBetweenParagraphsOfSameStyle = False N6Dv1_c,  
    ActiveDocument.Styles("QLNU一级标题").ParagraphFormat.TabStops.ClearAll {A~3/M%74;  
    ActiveDocument.Styles("QLNU一级标题").LanguageID = wdSimplifiedChinese E~c>j<'-"<  
    ActiveDocument.Styles("QLNU一级标题").NoProofing = True 87F]a3  
    DoEvents P~84#5R1  
     %GP` H/H(  
    '二级 :w]NN\  
    ActiveDocument.Styles("QLNU二级标题").BaseStyle = ActiveDocument.Styles("BaseStyle") 1HLU &  
    ActiveDocument.Styles("QLNU二级标题").NextParagraphStyle = "BaseStyle" [e>2HIS,  
    ActiveDocument.Styles("QLNU二级标题").AutomaticallyUpdate = False d ATAH}r&  
    With ActiveDocument.Styles("QLNU二级标题").Font @1~cPt   
        .NameFarEast = "黑体" 9* P-k.Bl  
        .NameAscii = "Arial Narrow" u"MfxW`  
        .NameOther = "黑体" 5Y  7 %Z  
        .Name = "黑体" p7W9?b9  
        .Size = 15        '小三号 7^;-[? l  
        .Bold = False OaKr_m  
        .Outline = False BoXPX2:  
        .Italic = wdUndefined Pv|sPIIB7  
        .Subscript = wdUndefined !yvw5As%  
        .Superscript = wdUndefined Yyw9IYB;  
    End With P6")OWd  
    With ActiveDocument.Styles("QLNU二级标题").ParagraphFormat `#:(F z  
        .LeftIndent = CentimetersToPoints(0) ~x[(1  
        .RightIndent = CentimetersToPoints(0) Wr@q+Whq  
        .FirstLineIndent = CentimetersToPoints(0) JQ|*XU  
         J| 1!4R~  
        .LineSpacingRule = wdLineSpaceSingle j$<g8Bg=o  
        .Alignment = wdAlignParagraphLeft NtmmPJ|5  
         FE1'MUT_  
        .WidowControl = True `_sKR,LhB  
        .KeepWithNext = True =QIu3%&  
        .KeepTogether = True F-XMy>9  
        .PageBreakBefore = False cSjX/%*!m  
        .OutlineLevel = wdOutlineLevelBodyText )X3 |[4R  
         <sn,X0W  
        .LineUnitBefore = 0.5 cd`P'GDF  
        .LineUnitAfter = 0.5 h1y3gl[;TD  
         X/bu z  
    End With Z 5g*'  
    ActiveDocument.Styles("QLNU二级标题").NoSpaceBetweenParagraphsOfSameStyle = False 2UopGxrPKw  
    ActiveDocument.Styles("QLNU二级标题").ParagraphFormat.TabStops.ClearAll /]?e^akA  
    ActiveDocument.Styles("QLNU二级标题").LanguageID = wdSimplifiedChinese <kJ`qbOU  
    ActiveDocument.Styles("QLNU二级标题").NoProofing = True cfPp>EK  
    DoEvents ju!V1ky  
     y7,t "XV  
    '三级标题样式 W6RjQ1  
    ActiveDocument.Styles("QLNU三级标题").BaseStyle = ActiveDocument.Styles("BaseStyle") 411z -aS  
    ActiveDocument.Styles("QLNU三级标题").NextParagraphStyle = "BaseStyle" "EVf1iQ  
    ActiveDocument.Styles("QLNU三级标题").AutomaticallyUpdate = False vXZ )  
    With ActiveDocument.Styles("QLNU三级标题").Font MAp#1+k  
        .NameFarEast = "宋体" 9rIv-& 7'm  
        .NameAscii = "Times New Roman" Qb7&S5m  
        .NameOther = "黑体" #7"";"{ z|  
        .Name = "黑体" TEla?N  
        .Size = 14               '四号 0K Z$v/m  
        .Bold = False oBs5xH7@-  
        .Outline = False PzT@q\O  
        .Italic = wdUndefined WHqw=! G  
        .Subscript = wdUndefined )LsUO#%DO  
        .Superscript = wdUndefined :Dfl,=S  
    End With *uSlp_;kB  
    With ActiveDocument.Styles("QLNU三级标题").ParagraphFormat i*8j|  
        .LeftIndent = CentimetersToPoints(0) ltyhYPS  
        .RightIndent = CentimetersToPoints(0) +Ht(_+To1  
        .FirstLineIndent = CentimetersToPoints(0) 3sgo5D-rMI  
         ']d(m?  
        .LineSpacingRule = wdLineSpaceSingle ~>Y^?l  
        .Alignment = wdAlignParagraphLeft Jpy~5kS  
         S_ra8HY8  
        .WidowControl = True q;#bFPh  
        .KeepWithNext = True mz<X$2]?  
        .KeepTogether = True HIUP =/x  
        .PageBreakBefore = False ,kUg"\_k  
        .OutlineLevel = wdOutlineLevelBodyText :QF`Orb!^  
           hOYX  
        .CharacterUnitLeftIndent = 0 2Sk hBb=d  
        .CharacterUnitRightIndent = 0 fm$Qd^E|e  
        .CharacterUnitFirstLineIndent = 2 ~.#57g F"  
         VtMnLF Mw  
        .LineUnitBefore = 0.5 Ff d4c  
        .LineUnitAfter = 0 0>"y)T3   
    End With 7q:;3;"9  
    ActiveDocument.Styles("QLNU三级标题").NoSpaceBetweenParagraphsOfSameStyle = False %.wx]:o  
    ActiveDocument.Styles("QLNU三级标题").ParagraphFormat.TabStops.ClearAll pU<GI@gU  
    ActiveDocument.Styles("QLNU三级标题").LanguageID = wdSimplifiedChinese ?BbEQr  
    ActiveDocument.Styles("QLNU三级标题").NoProofing = True P`S'F_IN  
    DoEvents t~ $8sG\  
     C`uL 4r  
    '四级标题样式 P~V ^Efz{  
    ActiveDocument.Styles("QLNU四级标题").BaseStyle = ActiveDocument.Styles("BaseStyle") @V&HE:P  
    ActiveDocument.Styles("QLNU四级标题").NextParagraphStyle = "BaseStyle" 1ed^{Wa4$9  
    ActiveDocument.Styles("QLNU四级标题").AutomaticallyUpdate = False &XW ~l>!+  
    With ActiveDocument.Styles("QLNU四级标题").Font IpM"k)HR  
        .NameFarEast = "宋体" }rnu:7  
        .NameAscii = "Times New Roman" )(rr1^Xer  
        .NameOther = "宋体" Xjm AM/H4  
        .Name = "宋体" : rudo[L  
        .Size = 12               '小四号 X5(oL  
        .Bold = True A"0Yn(awWu  
        .Outline = False UGvUU<N|N  
        .Italic = wdUndefined i ~)V>x  
        .Subscript = wdUndefined 0b<Qs88yd>  
        .Superscript = wdUndefined '*EKi  
    End With "Xl"H/3r  
    With ActiveDocument.Styles("QLNU四级标题").ParagraphFormat -X3CrW  
         Y5P9z{X=  
        .LeftIndent = CentimetersToPoints(0) a@AIv"q  
        .RightIndent = CentimetersToPoints(0) ;2[OI  
        .FirstLineIndent = CentimetersToPoints(0) Js.G hTs  
         E>:#{%  
        .LineSpacingRule = wdLineSpaceSingle n'?]_z<  
        .Alignment = wdAlignParagraphLeft Zad>i w}  
         =BbXSwv'(  
        .WidowControl = True wKoar  
        .KeepWithNext = True =iB$4d2  
        .KeepTogether = True 7jr+jNsowj  
        .PageBreakBefore = False 6W~JM^F  
        .OutlineLevel = wdOutlineLevelBodyText qxcTY|&  
         2@Q5Ta #h  
        .CharacterUnitLeftIndent = 0 9?^0pR p  
        .CharacterUnitRightIndent = 0 C>F5=&  
        .CharacterUnitFirstLineIndent = 2 .krEfY&  
         ~jzT;9:  
        .LineUnitBefore = 0 F=PBEaX  
        .LineUnitAfter = 0  z@~mu  
         @LY[kt6o  
    End With %$bhg&}  
    ActiveDocument.Styles("QLNU四级标题").NoSpaceBetweenParagraphsOfSameStyle = False 2IP<6l8N  
    ActiveDocument.Styles("QLNU四级标题").ParagraphFormat.TabStops.ClearAll tv2k&\1  
    ActiveDocument.Styles("QLNU四级标题").LanguageID = wdSimplifiedChinese zn0%%x+!g  
    ActiveDocument.Styles("QLNU四级标题").NoProofing = True TH55@1W,[  
    DoEvents ?0-3J )kW  
     CYsLyk  
    '正文校式 I,aaSBwt&2  
    ActiveDocument.Styles("QLNU正文").BaseStyle = ActiveDocument.Styles("BaseStyle") r9<#R=r)}J  
    ActiveDocument.Styles("QLNU正文").NextParagraphStyle = "BaseStyle" s2F[v:|Wq  
    ActiveDocument.Styles("QLNU正文").AutomaticallyUpdate = False e;LC \*dG  
    With ActiveDocument.Styles("QLNU正文").Font r oBb o  
         -S&d5(R  
        .NameFarEast = "宋体" ?kRx;S+  
        .NameAscii = "Times New Roman" s#aane  
        .NameOther = "宋体" yTNHM_P  
        .Name = "宋体" P)~olrf  
         ~S<}q6H.  
        .Size = 12               '小四号 YS<KyTb"  
         O&#>i]*V  
        .Bold = wdUndefined :f7:@8  
        .Italic = wdUndefined W"\+jHF"  
        .Subscript = wdUndefined f3s4aARP  
        .Superscript = wdUndefined muDOY~.  
         =L;g:hc<  
        .Outline = False aCi)icn$  
        .Emboss = False R?dMM  
        .Shadow = False ys:F  
        .Hidden = False Y1F%-o  
         R%\< al$O  
        .DisableCharacterSpaceGrid = True - ^Y\'y2  
    End With fo <nk|i  
    With ActiveDocument.Styles("QLNU正文").ParagraphFormat s=1k9   
         e&K7n@  
        .LeftIndent = CentimetersToPoints(0) ks,d4b=->  
        .RightIndent = CentimetersToPoints(0) 9JeT1\VvHY  
        .FirstLineIndent = CentimetersToPoints(0) p^ Z|$aZZ  
         m63>P4h?  
        .LineSpacingRule = wdLineSpaceExactly BAG#YZB  
        .LineSpacing = 20 p9!jM\(  
        .Alignment = wdAlignParagraphLeft Bsk` e  
         |x=(}g  
        .WidowControl = False ?;Da%VS3  
        .KeepWithNext = False oW>e.}d!  
        .KeepTogether = False UMMGT6s,E8  
        .PageBreakBefore = False l[<o t9P[  
        .Hyphenation = False uH7!)LE #  
         6BZi4:PDx  
        .OutlineLevel = wdOutlineLevelBodyText rT[b ^l}  
         e@ 5w?QzW  
       #KuBEHr  
        .CharacterUnitLeftIndent = 0 P057]cAat<  
        .CharacterUnitRightIndent = 0 #iRd2Qj%  
        .CharacterUnitFirstLineIndent = 2 wzcv[C-x  
         FuAs$;  
        .LineUnitBefore = 0 (Zej\lEN  
        .LineUnitAfter = 0 LG{50sP`  
        .SpaceBefore = 0 -zZb]8\E  
        .SpaceAfter = 0 {IF$\{Al  
         .&Sjazk0XO  
        .DisableLineHeightGrid = True +:/.\ 3v71  
    End With #miG"2ea..  
    ActiveDocument.Styles("QLNU正文").NoSpaceBetweenParagraphsOfSameStyle = False 0LTsWCUQ6e  
    ActiveDocument.Styles("QLNU正文").ParagraphFormat.TabStops.ClearAll WDr=+=Zj  
    ActiveDocument.Styles("QLNU正文").LanguageID = wdSimplifiedChinese 8|u8J0^  
    ActiveDocument.Styles("QLNU正文").NoProofing = True "|N0oEG&  
    DoEvents @wVDe\% ,  
     M+)ENv e  
    '图片段落样式 i3) 7Qa[  
    ActiveDocument.Styles("QLNU图片段落").BaseStyle = ActiveDocument.Styles("BaseStyle") .3SP# mI  
    ActiveDocument.Styles("QLNU图片段落").NextParagraphStyle = "BaseStyle" I9nm$,i]7  
    ActiveDocument.Styles("QLNU图片段落").AutomaticallyUpdate = False bU}l*"  
    With ActiveDocument.Styles("QLNU图片段落").Font -I z,vd  
        .Size = 12               '小四号 ^rGuyW#  
        .Italic = wdUndefined hVCxwTg^X  
        .Subscript = wdUndefined dsK*YY jH  
        .Superscript = wdUndefined d" a\`#  
    End With mZ0_^  
    With ActiveDocument.Styles("QLNU图片段落").ParagraphFormat !u/c'ZLZ>  
         aU#r`D@0  
        .LeftIndent = CentimetersToPoints(0) -vh\XO  
        .RightIndent = CentimetersToPoints(0) CUft  
        .FirstLineIndent = CentimetersToPoints(0) 'oM=ZU8wo  
         @Hr1.f  
        .LineSpacingRule = wdLineSpaceSingle 5kHU'D  
        .Alignment = wdAlignParagraphCenter X@/wsW(kM\  
        .KeepWithNext = True L"uidd0(g  
        .OutlineLevel = wdOutlineLevelBodyText M"Z/E>ne  
         )Ofwfypc  
        .CharacterUnitLeftIndent = 0 tItI^]w2s  
        .CharacterUnitRightIndent = 0 _UbyhBl  
        .CharacterUnitFirstLineIndent = 0 Ax9A-|  
         d6zq,x!cI  
        .LineUnitBefore = 0 UnyJD%a  
        .LineUnitAfter = 0 gQeoCBCE  
    End With 9U@>&3[v  
    ActiveDocument.Styles("QLNU图片段落").NoSpaceBetweenParagraphsOfSameStyle = False C?<[oQb#  
    ActiveDocument.Styles("QLNU图片段落").ParagraphFormat.TabStops.ClearAll cK IA.c}N  
    ActiveDocument.Styles("QLNU图片段落").LanguageID = wdSimplifiedChinese ^e80S^  
    ActiveDocument.Styles("QLNU图片段落").NoProofing = True Z}IuR|=  
    DoEvents *8/cd0  
     7c<_j55(  
     <d[GGkY]=  
    '第X章 hn$jI5*`  
    ActiveDocument.Styles("QLNU章节标题").BaseStyle = ActiveDocument.Styles("BaseStyle") K]^Jl0  
    ActiveDocument.Styles("QLNU章节标题").NextParagraphStyle = "BaseStyle" ) /z+W[t  
    ActiveDocument.Styles("QLNU章节标题").AutomaticallyUpdate = False &x@N5j5Q  
    With ActiveDocument.Styles("QLNU章节标题").Font 7{VN27Fa_  
        .NameFarEast = "黑体" L9l]0C37e  
        .NameAscii = "Arial Black" 6kONuG7Yv  
        .NameOther = "Arial Black" n8q%>.i7  
        .Name = "黑体" a,:Nlr3  
        .Size = 16 dO9bxHMnM  
        .Bold = True   [ L  
        .UnderlineColor = wdColorAutomatic _+Uf5,.5yU  
        .Outline = False Smd83W&  
        .Italic = wdUndefined 7p {2&YhB  
        .Subscript = wdUndefined COxJ,v(  
        .Superscript = wdUndefined ,0?3k  
        .Scaling = 100 VK|$SY(  
        .DisableCharacterSpaceGrid = True b8 6c[2  
    End With >QB Dxm  
    With ActiveDocument.Styles("QLNU章节标题").ParagraphFormat Zlv`yC*r  
        .LineSpacingRule = wdLineSpaceSingle ;9)=~)  
        .Alignment = wdAlignParagraphCenter $SzuUI  
        .WidowControl = True /1hcw|cfC  
        .KeepWithNext = True H.O&seY  
        .KeepTogether = True #qEU GD`  
        .PageBreakBefore = True L f;Uv[^c  
        .OutlineLevel = wdOutlineLevelBodyText N`vPt?@  
         TUQe.oAi  
        .LeftIndent = CentimetersToPoints(0) Pb7-pu5 X  
        .RightIndent = CentimetersToPoints(0) ~`0=-Qkd  
        .FirstLineIndent = CentimetersToPoints(0) 1NAtg*`  
         w3Dqpo8E  
        .CharacterUnitLeftIndent = 0 A8ClkLC;I  
        .CharacterUnitRightIndent = 0 c =Zurqj  
        .CharacterUnitFirstLineIndent = 0 l HZ4N{n  
         7+$P6[*  
        .LineUnitBefore = 1 )-i(%;,*e  
        .LineUnitAfter = 0.5 Q.f D3g  
         "&\]1A}Z-x  
        .AutoAdjustRightIndent = False , lBHA+@  
        .DisableLineHeightGrid = True o<g1;  
        .FarEastLineBreakControl = True x139Ckn  
        .WordWrap = True ei[, ug'  
    End With ciN*gwI)  
    ActiveDocument.Styles("QLNU章节标题").NoSpaceBetweenParagraphsOfSameStyle = False C`aUitL}  
    ActiveDocument.Styles("QLNU章节标题").ParagraphFormat.TabStops.ClearAll <}%gZ:Z6g  
    ActiveDocument.Styles("QLNU章节标题").LanguageID = wdSimplifiedChinese JNI&]3[C>?  
    ActiveDocument.Styles("QLNU章节标题").NoProofing = True Tq%##  
    DoEvents k vt^s0T8Q  
     G.^^zmsM`  
    '表格标题 =05jjR1  
    ActiveDocument.Styles("QLNU表格标题").BaseStyle = ActiveDocument.Styles("BaseStyle") ^>s{o5H&  
    ActiveDocument.Styles("QLNU表格标题").NextParagraphStyle = "BaseStyle" ,!98V Jmr  
    ActiveDocument.Styles("QLNU表格标题").AutomaticallyUpdate = False Nu><r  
    With ActiveDocument.Styles("QLNU表格标题").Font ?~; q r  
        .NameFarEast = "楷体" K48 QkZ_gY  
        .NameAscii = "Arial" <fDbz1Q;l  
        .Name = "楷体" LO k J  
        .Size = 10.5 8>:u%+ C1c  
        .Bold = True f/Q/[2t  
        .Underline = wdUnderlineNone Enh rkk  
        .Italic = wdUndefined jVSU]LU E  
        .Subscript = wdUndefined `t7GYmw^#  
        .Superscript = wdUndefined p0pA|  
        .Color = wdColorAutomatic Hc\oR(L  
    End With FCChB7c`  
    With ActiveDocument.Styles("QLNU表格标题").ParagraphFormat TezwcFqH  
         -)e(Qt#ewl  
        .LineSpacingRule = wdLineSpaceSingle F&OcI.OTXF  
        .Alignment = wdAlignParagraphCenter 9hhYyqGsO  
        .KeepWithNext = True WwLV^m]  
        .KeepTogether = True ~tB9 kLFG  
        .OutlineLevel = wdOutlineLevelBodyText wNl "y  
         NDG?X s [2  
        .LeftIndent = CentimetersToPoints(0) TEbE-h0)]  
        .RightIndent = CentimetersToPoints(0) (>-(~7PR  
        .FirstLineIndent = CentimetersToPoints(0) [t]q#+Zs  
         sv#/78~|  
        .CharacterUnitLeftIndent = 0 D Z=OZ.v  
        .CharacterUnitRightIndent = 0 Z}>+!Z  
        .CharacterUnitFirstLineIndent = 0 gv,%5r0YOw  
         ahw0}S  
        .LineUnitBefore = 1 >UV=k :Q  
        .LineUnitAfter = 0 )u307Lg  
         ro^T L  
    End With _9z+xl  
    ActiveDocument.Styles("QLNU表格标题").NoSpaceBetweenParagraphsOfSameStyle = False ?T>NvKF  
    ActiveDocument.Styles("QLNU表格标题").ParagraphFormat.TabStops.ClearAll l R^W*w4y  
    ActiveDocument.Styles("QLNU表格标题").LanguageID = wdSimplifiedChinese :]`JcJ  
    ActiveDocument.Styles("QLNU表格标题").NoProofing = True :(4];Va  
    DoEvents {<2q  
eGI&4JgJ.  
    '表格首行 (y2P."  
    ActiveDocument.Styles("QLNU表格首行").BaseStyle = ActiveDocument.Styles("BaseStyle") w)}@svv"  
    ActiveDocument.Styles("QLNU表格首行").AutomaticallyUpdate = False px^brzLQo  
    With ActiveDocument.Styles("QLNU表格首行").Font sP%J`L@h  
        .NameFarEast = "楷体" =CL h<&  
        .NameAscii = "Times New Roman" 8qs8QK  
        .Name = "楷体" 6/|"y  
        .Size = 9 0"u=g)3  
        .Bold = True J 77*Ue ^  
        .Underline = wdUnderlineNone N 0(($8G  
        .Italic = wdUndefined 7zu3o  
        .Subscript = wdUndefined inyS4tb  
        .Superscript = wdUndefined A~'p~ @L  
    End With p5bM/{DP;K  
    With ActiveDocument.Styles("QLNU表格首行").ParagraphFormat $# b  
        .LineSpacingRule = wdLineSpaceSingle <##aD3)  
        .Alignment = wdAlignParagraphCenter ^bXCYkx  
         d)v!U+-|'  
        .LeftIndent = CentimetersToPoints(0) o q cu<]  
        .RightIndent = CentimetersToPoints(0) Jv D`RUh  
        .FirstLineIndent = CentimetersToPoints(0)  >fgV!o4  
         OJ}aN>k  
         .Mzrj{^Y  
        .CharacterUnitLeftIndent = -0.5 _;k))K^  
        .CharacterUnitRightIndent = -0.5 %? z;'Y7D  
        .CharacterUnitFirstLineIndent = -0.5 NqN9  
         L%f$ &  
        .LineUnitBefore = 0 oRl@AhS  
        .LineUnitAfter = 0 \3cg\Q+~  
        .SpaceBefore = 0 9`DY6qfly  
        .SpaceAfter = 0 +/Vzw  
         UG,n q  
    End With Z DnAzAR  
    ActiveDocument.Styles("QLNU表格首行").NoSpaceBetweenParagraphsOfSameStyle = False bpfSe  
    ActiveDocument.Styles("QLNU表格首行").ParagraphFormat.TabStops.ClearAll -V}ZbXJD  
    ActiveDocument.Styles("QLNU表格首行").LanguageID = wdSimplifiedChinese _B\X&!G.  
    ActiveDocument.Styles("QLNU表格首行").NoProofing = True V(n3W=#kky  
    DoEvents SSr2K  
E>qehs,g  
    '表格内容 Y1 6pT  
    ActiveDocument.Styles("QLNU表格内容").BaseStyle = ActiveDocument.Styles("BaseStyle") `wNJ*`  
    ActiveDocument.Styles("QLNU表格内容").AutomaticallyUpdate = False ` aaT #r  
    With ActiveDocument.Styles("QLNU表格内容").Font aGmbB7[BZ  
        .NameFarEast = "楷体" q<A,S8'm  
        .NameAscii = "Times New Roman" i-&"1D[&  
        .Name = "楷体" rX nG"A  
        .Size = 9 ,+RoJwi m  
        .Bold = False DZX4c2J  
        .Underline = wdUnderlineNone +Z%8X!Q  
        .Italic = wdUndefined _2Fa .gi  
        .Subscript = wdUndefined S3YAc4  
        .Superscript = wdUndefined b/eo]Id]  
    End With #pX+~ {  
    With ActiveDocument.Styles("QLNU表格内容").ParagraphFormat SrXuiiK  
        .LineSpacingRule = wdLineSpaceSingle Bh!J&SM:  
        .Alignment = wdAlignParagraphCenter - o sxKT:  
         z0 _/JwJn  
        .LeftIndent = CentimetersToPoints(0) 9;EY3[N  
        .RightIndent = CentimetersToPoints(0) v5`Odbc=w  
        .FirstLineIndent = CentimetersToPoints(0) Redxg.P  
         A>}] =Ii/  
        .CharacterUnitLeftIndent = -0.5 Q9 RCN<!  
        .CharacterUnitRightIndent = -0.5 @#| R{5=+  
        .CharacterUnitFirstLineIndent = -0.5 0"=}d y  
        .LineUnitBefore = 0 IeJ@G)  
        .LineUnitAfter = 0 Rj,M|9Y)o  
        .SpaceBefore = 0 :n(!,  
        .SpaceAfter = 0 ]\: l><  
    End With #>qA&*+{n  
    ActiveDocument.Styles("QLNU表格首行").NoSpaceBetweenParagraphsOfSameStyle = False )jN fQ!?/  
    ActiveDocument.Styles("QLNU表格首行").ParagraphFormat.TabStops.ClearAll "yx BD 7  
    ActiveDocument.Styles("QLNU表格首行").LanguageID = wdSimplifiedChinese Mer\W6e"e  
    ActiveDocument.Styles("QLNU表格首行").NoProofing = True '5n=tRx  
    DoEvents c# WIB 4  
0mR  
    '图片标题 NKw}VW'|  
    ActiveDocument.Styles("QLNU图片标题").BaseStyle = ActiveDocument.Styles("BaseStyle") s B!2't  
    ActiveDocument.Styles("QLNU图片标题").NextParagraphStyle = "BaseStyle" w7h=vy n?  
    ActiveDocument.Styles("QLNU图片标题").AutomaticallyUpdate = False lV2MRxI  
    With ActiveDocument.Styles("QLNU图片标题").Font SlUt &+)  
        .NameFarEast = "楷体" tqK}KL  
        .NameAscii = "Times New Roman" h3kBNBI )  
        .Name = "楷体" &bS!>_9  
        .Size = 10.5 Px"K5c*  
        .Bold = True $a+)v#?,  
        .Underline = wdUnderlineNone R$VeD1n@  
        .Italic = wdUndefined &E8fd/s= k  
        .Subscript = wdUndefined & A@ !g  
        .Superscript = wdUndefined y1hJVYE2  
        .Outline = False 8_ _C T  
        .Shadow = False =_H)5I_\  
        .Color = wdColorAutomatic 7)a u#K6  
    End With ^->vUf7PX  
    With ActiveDocument.Styles("QLNU图片标题").ParagraphFormat *wfkjG  
        .LineSpacingRule = wdLineSpaceSingle c)=UX_S!  
        .Alignment = wdAlignParagraphCenter =DXvt5G  
         .;~K*GC  
        .KeepWithNext = wdUndefined QjwCY=PK!  
        .KeepTogether = True ]lzOz<0q  
        .OutlineLevel = wdOutlineLevelBodyText 6c&OR2HGqO  
         @GE:<'_:{  
        .LeftIndent = CentimetersToPoints(0) 8^dsx1U#  
        .RightIndent = CentimetersToPoints(0) g3,F+  
        .FirstLineIndent = CentimetersToPoints(0) FI(M 1iJ  
         *g/@-6  
        .CharacterUnitLeftIndent = 0 Nh\y@\F>  
        .CharacterUnitRightIndent = 0 9:6 d,^X  
        .CharacterUnitFirstLineIndent = 0 =;HmU.Uek%  
         MFLw^10(T  
        .LineUnitBefore = 0 7S9Q{  
        .LineUnitAfter = 0 `pd1'5Hm  
    End With sR*JU%  
    ActiveDocument.Styles("QLNU图片标题").NoSpaceBetweenParagraphsOfSameStyle = False 7q:  
    ActiveDocument.Styles("QLNU图片标题").ParagraphFormat.TabStops.ClearAll `o!a RX  
    ActiveDocument.Styles("QLNU图片标题").LanguageID = wdSimplifiedChinese .[#bOp*  
    ActiveDocument.Styles("QLNU图片标题").NoProofing = True (3Z~EIZz  
    DoEvents {v}jV{'^um  
Bn{0-5nj  
    '目录项 ^o*$+DbC  
    ActiveDocument.Styles("QLNU目录项").BaseStyle = ActiveDocument.Styles("BaseStyle") BXo9s~5Q  
    ActiveDocument.Styles("QLNU目录项").NextParagraphStyle = "BaseStyle" L\UM12  
    ActiveDocument.Styles("QLNU目录项").AutomaticallyUpdate = False d@t3C8  
    With ActiveDocument.Styles("QLNU目录项").Font Fgg4QF  
        .NameFarEast = "黑体" gb/M@6/j  
        .NameAscii = "Times New Roman" L\asrdL?=  
        .NameOther = "Times New Roman" ,@*`2I>`  
        .Name = "黑体" JSm3ZP|GqJ  
        .Size = 10.5 q CB9 z  
        .Bold = False H[8P]"*z*i  
        .Italic = wdUndefined QYTwGThWR  
        .Underline = wdUnderlineNone _a= f.I  
        .Color = wdColorAutomatic ^7~w yAr  
        .Superscript = wdUndefined pGGx.&5#82  
        .Subscript = wdUndefined T?E[LzZg  
    End With YJ^TO\4WM  
    With ActiveDocument.Styles("QLNU目录项").ParagraphFormat {:9P4<%H  
         dbLxm!;(  
        .LineSpacingRule = wdLineSpaceSingle jj 9eFB  
        .Alignment = wdAlignParagraphLeft 6 _\j_$  
         b(H) 8#C  
        .WidowControl = False ~j2=hkS  
        .KeepWithNext = False b`sph%&  
        .KeepTogether = False 7?JcB?G4  
        .PageBreakBefore = False QabYkL5@  
        .NoLineNumber = False > jDx-H.N  
        .OutlineLevel = wdOutlineLevelBodyText *d/]-JN,K  
         Y_<(~eN`  
        .LeftIndent = CentimetersToPoints(0)  %;9+`U  
        .RightIndent = CentimetersToPoints(0) 8RR6f98FF  
        .FirstLineIndent = CentimetersToPoints(0) \M`fkR,,'  
         OHha5n  
        .CharacterUnitLeftIndent = 0 ^@..\X9  
        .CharacterUnitRightIndent = 0 >qI|g={M  
        .CharacterUnitFirstLineIndent = 0 D?"TcA  
         lb('=]3 }H  
        .LineUnitBefore = 0 %S<( z5  
        .LineUnitAfter = 0 >xE{& ):  
    End With wh;E\^',n  
    ActiveDocument.Styles("QLNU目录项").NoSpaceBetweenParagraphsOfSameStyle = False c F (]`49(  
    ActiveDocument.Styles("QLNU目录项").ParagraphFormat.TabStops.ClearAll mD p|EXN  
    ActiveDocument.Styles("QLNU目录项").ParagraphFormat.TabStops.Add Position:=PicasToPoints(44.5), Alignment:=wdAlignTabRight, Leader:=wdTabLeaderMiddleDot L)ry!BuHI  
    ActiveDocument.Styles("QLNU目录项").LanguageID = wdSimplifiedChinese o(@F37r{?  
    ActiveDocument.Styles("QLNU目录项").NoProofing = True 9#@CmiIhy  
    DoEvents o<-+y\J8K  
     !Rw\k'<GKX  
    '参考文献 0Ti>PR5M  
    ActiveDocument.Styles("QLNU参考文献").BaseStyle = ActiveDocument.Styles("BaseStyle") ?V&[U  
    ActiveDocument.Styles("QLNU参考文献").NextParagraphStyle = "BaseStyle" m=< ;)  
    ActiveDocument.Styles("QLNU参考文献").AutomaticallyUpdate = False v+Q# O[  
    With ActiveDocument.Styles("QLNU参考文献").Font (_lc< Bj  
        .NameFarEast = "宋体" 5K*-)F ]  
        .NameAscii = "Times New Roman" XOy#? X/`  
        .NameOther = "Times New Roman" oFRb+H(E  
        .Name = "Times New Roman" ?RD)a`y51  
        .Size = 12 ]& q mV  
        .Bold = False ~ Qt$)  
        .Italic = wdUndefined h&6x.ps@  
        .Subscript = wdUndefined RFkJ^=}  
        .Superscript = wdUndefined "V`MNZ  
        .Underline = wdUnderlineNone P&Q 5ZQb  
        .UnderlineColor = wdColorAutomatic Ma3Hn  
        .Color = wdColorAutomatic v+*l|!v  
        .Engrave = False 4n@, p0   
    End With 6gfdXVN5  
    With ActiveDocument.Styles("QLNU参考文献").ParagraphFormat r8~U@$BBK  
          Dk fw*Oo  
        .LineSpacingRule = wdLineSpaceExactly BDg6Z I<n  
        .LineSpacing = 16 Aq{m4 2EAj  
        .Alignment = wdAlignParagraphLeft f V.(v&  
        .WidowControl = False ,uP1U@Cas  
        .KeepWithNext = False _9Ig`?<>I  
        .KeepTogether = False N7xkkAS{  
        .PageBreakBefore = False 1dK^[;v>3  
        .OutlineLevel = wdOutlineLevelBodyText rXz,<^Hmj  
         ^OQ# Nz  
        .LeftIndent = CentimetersToPoints(0) $V8B =k~  
        .RightIndent = CentimetersToPoints(0) !Jj=H()}  
        .FirstLineIndent = CentimetersToPoints(0) 8Q1){M9 '  
         T<0Bq"'%  
        .CharacterUnitLeftIndent = 0 VRoeq {  
        .CharacterUnitRightIndent = 0 K9*#H(  
        .CharacterUnitFirstLineIndent = -2 `'[ 7M  
         '4A8\&lQO  
        .LineUnitBefore = 0 <ZNa`  
        .LineUnitAfter = 0 r(yb%p+  
        .SpaceBefore = 0 -j9R%+YW<  
        .SpaceAfter = 0 STmCj  
         !2N#H~{  
    End With -~h2^Oez  
    ActiveDocument.Styles("QLNU参考文献").NoSpaceBetweenParagraphsOfSameStyle = False ca_8S8lv  
    ActiveDocument.Styles("QLNU参考文献").ParagraphFormat.TabStops.ClearAll Om0S^4y]x  
    ActiveDocument.Styles("QLNU参考文献").LanguageID = wdEnglishUS 5aTyM_x  
    ActiveDocument.Styles("QLNU参考文献").NoProofing = True y*6r&989  
    ActiveDocument.Styles("QLNU参考文献").LanguageID = wdSimplifiedChinese 7c6-S@L  
    DoEvents dR_hPBn/@  
|C S[>0mV!  
    ' T8FKa4ikn  
    ActiveDocument.Styles("QLNU论文题目").BaseStyle = ActiveDocument.Styles("BaseStyle") y o[!q|z  
    ActiveDocument.Styles("QLNU论文题目").NextParagraphStyle = "BaseStyle" mlgdw M  
    ActiveDocument.Styles("QLNU论文题目").AutomaticallyUpdate = False gGU3e(!Uc  
    With ActiveDocument.Styles("QLNU论文题目").Font sh?Dxodp9  
        .NameFarEast = "黑体" F77[f p  
        .NameAscii = "Arial Black" WDiF:@^K  
        .NameOther = "Arial Black" >}/"g x  
        .Name = "Arial Black" qD4e] 5  
        .Size = 16 !`='K +  
        .Bold = False 8X]j;Rb  
        .Italic = wdUndefined R#bg{|  
        .Superscript = wdUndefined }h>e=<  
        .Subscript = wdUndefined 1W HR;!u  
        .Underline = wdUnderlineNone <..%@]+  
        .UnderlineColor = wdColorAutomatic xZmKKKd0*  
        .Color = wdColorAutomatic $/45*  
_wf"E(c3D  
    End With [:!#F7O-  
    With ActiveDocument.Styles("QLNU论文题目").ParagraphFormat @11voD  
        .LineSpacingRule = wdLineSpaceSingle |P2GL3NR  
        .Alignment = wdAlignParagraphCenter <S0!$.Kg*<  
        .WidowControl = True ^\mN<z(  
        .KeepWithNext = True ' n~N*DH  
        .KeepTogether = True ki^[~JS>'  
        .PageBreakBefore = True zT~ GBC-IX  
        .NoLineNumber = False 4#=!VK8ZH  
        .OutlineLevel = wdOutlineLevelBodyText i\rI j0+  
         Pwz^{*u]  
        .LeftIndent = CentimetersToPoints(0) eeb 8v:4  
        .RightIndent = CentimetersToPoints(0) 9#6ilF:F  
        .FirstLineIndent = CentimetersToPoints(0) *(d^ k;  
         | _~BV&g,N  
        .CharacterUnitLeftIndent = 0 mI in'M  
        .CharacterUnitRightIndent = 0 M)EUR0>8  
        .CharacterUnitFirstLineIndent = 0 .?S#DS )  
         ~%Yh`c EP  
        .LineUnitBefore = 1 v(4C?vxhG  
        .LineUnitAfter = 1 rsP-?oD8)  
         L i=l/  
        .BaseLineAlignment = wdBaselineAlignAuto gpr];lgS  
    End With $X~=M_ W  
    ActiveDocument.Styles("QLNU论文题目").NoSpaceBetweenParagraphsOfSameStyle = False =fi.*d?$7  
    ActiveDocument.Styles("QLNU论文题目").ParagraphFormat.TabStops.ClearAll ce=6EYl  
    ActiveDocument.Styles("QLNU论文题目").LanguageID = wdEnglishUS lLtC9:  
    ActiveDocument.Styles("QLNU论文题目").NoProofing = True > KH4X:  
    ActiveDocument.Styles("QLNU论文题目").LanguageID = wdSimplifiedChinese VkhK2  
    ActiveDocument.Styles("QLNU论文题目").NoProofing = True aM.l+D P  
    DoEvents xyz-T1ib  
     qg6Hk:^r  
    '中文摘要 :yk Z7X&  
    ActiveDocument.Styles("QLNU中文摘要").BaseStyle = ActiveDocument.Styles("BaseStyle") n]coqJ  
    ActiveDocument.Styles("QLNU中文摘要").NextParagraphStyle = "BaseStyle" 6aQ{EO-]'=  
    ActiveDocument.Styles("QLNU中文摘要").AutomaticallyUpdate = False :eQx di'  
    With ActiveDocument.Styles("QLNU中文摘要").Font Zml9 ndzT  
        .NameFarEast = "宋体" }+#ag:M  
        .NameAscii = "Times New Roman" x)vYc36H  
        .NameOther = "Times New Roman" [dU/;Sk5  
        .Name = "Times New Roman" #>ci!4Gz=Z  
        .Size = 12 8gBqur{  
        .Bold = wdUndefined O t `}eL-  
        .Superscript = wdUndefined &"C1XM  
        .Subscript = wdUndefined ?6 7j+)  
        .Italic = wdUndefined n3b@ 6V1_  
        .Underline = wdUnderlineNone %v~j10e  
        .UnderlineColor = wdColorAutomatic uNhAfZ  
        .Color = wdColorAutomatic a/^Yg rC\T  
    End With (DK pJCx  
    With ActiveDocument.Styles("QLNU中文摘要").ParagraphFormat eB$v'9S8/  
        .LineSpacingRule = wdLineSpaceExactly -07(#>  
        .LineSpacing = 20 oRWsi/Zf  
        .Alignment = wdAlignParagraphLeft ",8h>eEWK  
         TJsT .DWW~  
        .WidowControl = False a9jY^E'|n  
        .KeepWithNext = False A7_*zR @  
        .KeepTogether = True E4y"$U%.  
        .PageBreakBefore = False b<.+WkO  
        .NoLineNumber = False ~P6K)V|@<  
        .OutlineLevel = wdOutlineLevelBodyText l/rhA6kEU  
         !b _<_Y{l  
        .LeftIndent = CentimetersToPoints(0) /'VCJjzZ  
        .RightIndent = CentimetersToPoints(0) 9fl !CG  
        .FirstLineIndent = CentimetersToPoints(0) zLXtj-  
         ~T4 =Id  
        .CharacterUnitLeftIndent = 0 YN>#zr+ ~  
        .CharacterUnitRightIndent = 0 S8,+6+_7  
        .CharacterUnitFirstLineIndent = 2 *bRH,u  
        .LineUnitBefore = 0 "?qu(}|  
        .LineUnitAfter = 0 A7b7IM[  
         V (!b!i@  
    End With `&9#!T.  
    ActiveDocument.Styles("QLNU中文摘要").NoSpaceBetweenParagraphsOfSameStyle = False QTn-n)AE  
    ActiveDocument.Styles("QLNU中文摘要").ParagraphFormat.TabStops.ClearAll R#\8jvv  
    ActiveDocument.Styles("QLNU中文摘要").LanguageID = wdEnglishUS Dh +^;dQ6  
    ActiveDocument.Styles("QLNU中文摘要").NoProofing = True sCRBKCR?  
    ActiveDocument.Styles("QLNU中文摘要").LanguageID = wdSimplifiedChinese }.b[az\T  
    ActiveDocument.Styles("QLNU中文摘要").NoProofing = True ={L:q8v)  
    ActiveDocument.Styles("QLNU中文摘要").Frame.Delete s^KxAw_IV  
    DoEvents Y @.JW  
     Tu/JhP/g,`  
    ActiveDocument.Styles("QLNU英文标题").BaseStyle = ActiveDocument.Styles("BaseStyle") W+K=M*^D;c  
    ActiveDocument.Styles("QLNU英文标题").NextParagraphStyle = "BaseStyle" U-n33ty`H  
    ActiveDocument.Styles("QLNU英文标题").AutomaticallyUpdate = False 053W2Si   
    With ActiveDocument.Styles("QLNU英文标题").Font R?&S]?H  
        .NameFarEast = "黑体" @fE^w^K7  
        .NameAscii = "Arial Narrow" V">Uh@[J_  
        .Name = "Arial Narrow" [Q 2t,tQx  
        .Size = 16 (c[h,>`@:  
        .Bold = True bh7 1Zu  
        .Bold = wdUndefined Qn*c<:  
        .Superscript = wdUndefined ^*{ xTB57  
        .Subscript = wdUndefined 3?5 ~KxOE(  
        .Italic = wdUndefined U5Ho? `<  
         3UN Jj&-`  
        .Underline = wdUnderlineNone o!\O)  
        .UnderlineColor = wdColorAutomatic Ugdm"  
        .StrikeThrough = False &aF_y_f\  
        .DoubleStrikeThrough = False #sqDZ]\B  
    End With B|GJboQ  
    With ActiveDocument.Styles("QLNU英文标题").ParagraphFormat < m9O0  
        .LineSpacingRule = wdLineSpaceSingle 9I.v?Tap  
        .Alignment = wdAlignParagraphCenter IG9Q~7@  
        .WidowControl = True -ZyFUGd%  
        .KeepWithNext = False ;_Rx|~!!  
        .KeepTogether = False h0^V!.- 5  
        .PageBreakBefore = False .PAkW2\#  
        .NoLineNumber = False p6HZ2Q:a  
        .FirstLineIndent = CentimetersToPoints(0) nW drVT$  
        .OutlineLevel = wdOutlineLevelBodyText VJR'B={h  
         \ I?;%  
        .LeftIndent = CentimetersToPoints(0) BgpJ;D+N4  
        .RightIndent = CentimetersToPoints(0) WVN Q}KY  
        .FirstLineIndent = CentimetersToPoints(0) ap6Vmp  
         U.^)|IHW  
        .CharacterUnitLeftIndent = 0 i PFYG  
        .CharacterUnitRightIndent = 0 W X\%FJ  
        .CharacterUnitFirstLineIndent = 0 Bnxzy n  
         #JLDj(a?  
        .LineUnitBefore = 1 *V"cu  
        .LineUnitAfter = 1 )7i?8XiSZF  
         ~l}TlRqL  
    End With '}rDmt~  
    ActiveDocument.Styles("QLNU英文标题").NoSpaceBetweenParagraphsOfSameStyle = False s)M2Z3>+  
    ActiveDocument.Styles("QLNU英文标题").ParagraphFormat.TabStops.ClearAll G0(c@FBK  
    ActiveDocument.Styles("QLNU英文标题").LanguageID = wdEnglishUS nO|S+S_9  
    ActiveDocument.Styles("QLNU英文标题").NoProofing = True 2bxT%xH:g  
    ActiveDocument.Styles("QLNU英文标题").LanguageID = wdSimplifiedChinese KT g$^"\  
    ActiveDocument.Styles("QLNU英文标题").NoProofing = True Q^p@ 1I  
    ActiveDocument.Styles("QLNU英文标题").Frame.Delete M"9 zK[cz  
    DoEvents ~hxB Pn."  
UxS;m4  
    ActiveDocument.Styles("QLNU英文摘要").BaseStyle = ActiveDocument.Styles("BaseStyle") NI^Y%N  
    ActiveDocument.Styles("QLNU英文摘要").NextParagraphStyle = "BaseStyle" QKP9*dz  
    ActiveDocument.Styles("QLNU英文摘要").AutomaticallyUpdate = False $&e(V6A@  
    With ActiveDocument.Styles("QLNU英文摘要").Font &% *S  
        .NameFarEast = "宋体" =V,'f  
        .NameAscii = "Arial" ,^<+5TYM7  
        .NameOther = "Arial" H|TzD "2N  
        .Name = "Arial" 6=@n b3D%  
        .Size = 12 ynDx'Q*N'  
        .Bold = wdUndefined _E30t( _.  
        .Italic = wdUndefined %#] T.g  
        .Superscript = wdUndefined pz$$K?  
        .Subscript = wdUndefined ;Q"F@v}18  
    End With _$bx4a  
     [{{?e6J  
    With ActiveDocument.Styles("QLNU英文摘要").ParagraphFormat `riv`+J{s  
         )>Lsj1qk  
        .LineSpacingRule = wdLineSpaceExactly mm{U 5  
        .LineSpacing = 20 VG8rd'Z  
         V.-?aXQ*  
        .Alignment = wdAlignParagraphJustify TAAsV#l  
         no/]Me!j=  
        .WidowControl = False pJv?  
        .KeepWithNext = False Bs1-UI}+  
        .KeepTogether = False tm|lqa  
        .PageBreakBefore = False <HzAh<_@F  
        .NoLineNumber = False _+Q$h4t   
         R/Y/#X^b  
        .OutlineLevel = wdOutlineLevelBodyText PCLSY8N  
         MV/~Rmd.  
        .LeftIndent = CentimetersToPoints(0) Ov<3?)ok  
        .RightIndent = CentimetersToPoints(0) AngECkF-  
        .FirstLineIndent = CentimetersToPoints(0) 7GIv3Dc  
         *xl7;s  
        .CharacterUnitLeftIndent = 0 `?D_=Gw  
        .CharacterUnitRightIndent = 0 b?bYPN+  
        .CharacterUnitFirstLineIndent = 2 :>;ps R  
         -DuiK:mp  
        .LineUnitBefore = 0 I?Zs|A  
        .LineUnitAfter = 1 g-:)} 8d6  
         ZK ?x_`w  
    End With n5JB 'F)  
    ActiveDocument.Styles("QLNU英文摘要").NoSpaceBetweenParagraphsOfSameStyle = False {&<}*4D  
    ActiveDocument.Styles("QLNU英文摘要").ParagraphFormat.TabStops.ClearAll nEp'l.T  
    ActiveDocument.Styles("QLNU英文摘要").LanguageID = wdEnglishUS ,m"zt u-  
    ActiveDocument.Styles("QLNU英文摘要").NoProofing = False ~o%-\^oc  
    DoEvents @LE?XlhD  
XeB>V.<y  
    Options.Pagination = True FSQ&J|O  
    Me.txtStatus.Text = "样式修改完成,重新进行分页,请稍候....." (Dar6>!  
    DoEvents <eh(~  
    ActiveDocument.Repaginate DdQf %W8u  
GVfu_z?  
End Sub 8;!Eqyt  
XOeh![eMX  
L$Leo6<3a  
杺栫杣杊椌柮栬,䒴蓉艿芖。
伍胥之 离线
级别: 军区司令员

显示用户信息 
99楼  发表于: 2021-07-18   
继续填个坑: op|mRJBq;  
y[zA [H:  
用VBA控制WORD自己修订学生毕业文的格式。 uv-W/p  
杺栫杣杊椌柮栬,䒴蓉艿芖。
伍胥之 离线
级别: 军区司令员

显示用户信息 
98楼  发表于: 2021-01-02   
继续填 BotNET 或Pynthon? 有没有XDJMs接龙啊 ? avpw+ M6+  
`Of wl%G  
杺栫杣杊椌柮栬,䒴蓉艿芖。
伍胥之 离线
级别: 军区司令员

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

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

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

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

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

显示用户信息 
94楼  发表于: 2015-09-06   
拍下的火车 s1vrzze  
第6车皮 ;:c%l.Y2  

YC]YX H  
Ys $YI{  
第9车皮 aEDN]O95?  
4VNb`!e  
  
杺栫杣杊椌柮栬,䒴蓉艿芖。
伍胥之 离线
级别: 军区司令员

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

一共这么多文件。 ( b%y$D  
wz+5 8(  
这是我用VB写出的最大的程序,也是用API最多的。
杺栫杣杊椌柮栬,䒴蓉艿芖。
伍胥之 离线
级别: 军区司令员

显示用户信息 
92楼  发表于: 2015-09-06   
这才是我当年写出的一个比较烂的程序 T@|l@xm~L  
-k&{nD|  
Main2.bas 5)yOw|Bd  
(s"iC:D6U  
Attribute VB_Name = "SubMain" V+qJrZ ,i  
Option Explicit @%<?GNSO  
'yd@GQM&  
'采集文件与临时文件 lmQ6X  
Public Const TmpFile As String = "d:\30-0600.dat" u5Ny=Xm  
'已有数据:30-0600.dat /30日早6点进车与6:30出车头 yIIET E  
{KDgK  
Public fStatus As Long, hFile As Long, bytesRW As Long, lptrFile As Long `<J#l;y  
Public hBCFile As Long  '记录采集参数的文件 3fxNV<  
Public Const TmpBMP As String = "d:\1.bmp" ahtYSz_FM  
Public hTmpFile As Long irsfJUr[V  
o}=.  
8*y o7q&  
'采集窗口参数常量 +%wWSZ<#  
Public Const FrameH As Long = 280& sc8DY!|OYN  
Public Const FrameW As Long = 768& UQ3@@:L_  
Public Const pFrameSize As Long = FrameW * FrameH ~pevU`}Uqc  
iS"8X#[]N  
'标志区范围,用于识别车辆 `\jTpDV_W  
Public Const PilarC As Integer = 260   '识别标志立柱中线坐标X Vd +Q:L  
Public Const mkW As Integer = 28  '识别标志立柱宽度 'qV3O+@MF  
Public Const mkH As Integer = 80 ''识别标志立柱高度(上白中黑下白) YN@6}B#1  
Public Const mkY As Integer = 4 ''识别标志立柱Y坐标(40-79白, 80-119黑,120-159白) S9p?*  
Public Const mkX As Integer = PilarC - mkW / 2 '识别标志立柱X坐标 A/"}Y1#qX\  
'车缝检测位置常数 'e]HP-Y <  
Public Const sSize As Long = 32& m1-\qt-yy  
Public Const sPos As Long = 310& 0zbLc%  
Public Const sPosL As Long = 200& G*\abL  
Public Const sPosR As Long = 500& T;!ukGoFP  
'车缝检测框位置 7%9)C[6NSs  
Public Slice(1 To sSize, 1 To FrameH) As Byte JA)o@[l F  
Public SliceL(1 To sSize, 1 To FrameH) As Byte >{m2E8U0  
Public SliceR(1 To sSize, 1 To FrameH) As Byte RxZm/:yuJ.  
Public avSL As Integer, avSLR As Integer, avSLL As Integer Cq gk  
1s`)yu^`v  
>`89N'lZBm  
Public MKpilar(1 To mkW * mkH) As Byte   '一维数组用于亮度对比度分析,比使用二维数组更便于VB编译优化 -2\ZzK0tM  
'该数组用于亮度对比度调节、车辆通过识别与车皮间隔识别 w,Z" W;|  
Public BsLine(1 To 4 * FrameW) As Byte, bsAV As Integer  '图像的前4行。用于确定标志区的亮度与对比度范围 0)AM-/"  
Public PilarW As Long, PilarH As Long, PilarX As Long, PilarY As Long gcg>Gjp  
Public LeftBK(1 To 1024, 0 To 1) As Byte, RightBK(1 To 1024, 0 To 1) As Byte )4ilCS&  
'前后帧左右上角128列*8行像素块,根据平均值差绝对值判断进车方向 HK0::6n{  
2L2 VVO  
\&iil =H8!  
W7L+8LU;  
'一次连续采集的帧数 # SQvXMT  
Public tFrames As Long vUYJf99B  
~o@\ n  
'在采集卡申请的缓存中,是按帧为单位的,每一帧包含奇偶场两场的数据 &xiOTkqB  
'而该卡的硬件设置是按场采集,只需要读第一场的数据即可。 8?7kIin  
'所以要设置的缓存帧的大小是frameW*frameH*2,而一场的数据量为pFrameSize JoCA{Fa}  
i-,D_   
Public pFRAME(1 To FrameW, 1 To FrameH) As Byte .G}k/`a  
Public pBuffer(1 To FrameW * FrameH * 2) As Byte EqnpMHF  
Public pWorkSpace(1 To FrameW * FrameH) As Long dC` tN5  
Public Const pBufferSize As Long = FrameW * FrameH * 2 bar0{!Y"  
Public pGray(0 To 255) As Long '整幅图像的灰度直方图 UP;Q=t  
L)F1NuR  
Public hBoard As Long   '采集卡标识 WRD A `  
Public mBufferAddr As Long  '缓存地址 v**z$5x9  
Public BufferSize As Long  '缓存大小(字节) +2DE/wE]e+  
Public iCurrentCard As Long W|d pFh`  
Public CapStatus As Long gF[6c`-s  
Public iFrames As Long j1YH9T#|D  
Public currentBr As Byte, currentContr As Byte 94|yvh.B  
mz\NFC<  
Public hMEM As Long, mStatus As Long ]U,CKJF%/  
Public Const hMemSize As Long = pFrameSize * 4 @P:R~m2  
Public hMemWork As Long gg-};0P-  
Public Const hMemWorkSize As Long = pFrameSize * 5 )nwZ/&@  
S Pn8\2Cj  
Xsd $*F@<  
B6bOEPQ  
'串口接收轨道衡数据 FaFp_P?  
Public WeightFromCom As String r<*O  
Public bReceiveComplete As Boolean oYz!O]j;a  
{'h_'Y`bOQ  
6F`qi:a+  
Public Type GrayBMPHeader ~BZXt7DE  
  Tag As Integer $Z;BQJVH  
  FileLength As Long    '文件大小 5"JU?e59M  
  Reserve1 As Long QCOLC2I  
  DataOffset As Long    '图像数据偏移量 \=!H2M  
  BMPHeaderSize As Long  '文件头长 c>ad0xce6  
                        'length of the bitmap info header used to describe the bitmap colors, compression,… Vkr`17`G  
                        'the following sizes are possible: )O3jQ_q=  
                        '28h - windows 3.1x, 95, nt, … p9-0?(]  
                        '0ch - os/2 1.x X9fNGM1  
                        'f0h - os/2 2.x -Z%F mv8  
G#H9g PY  
  ImageWidth As Long           '图像宽(像素数) 3J %V%}mD  
  ImageHeight As Long          '图像高(像素数) 99e*]')A%  
  PlaneNumber As Integer  '图像层数 RF_[?O)Q  
  bpp As Integer    'bits per pixels    '1 - monochrome bitmap bj@xqAGl  
                                        '4 - 16 color bitmap 4'SaEsA~  
                                        '8 - 256 color bitmap qy_%~c87  
                                        '16 - 16bit (high color) bitmap 3;*z3;#}  
                                        '24 - 24bit (true color) bitmap NZLXN  
                                        '32 - 32bit (true color) bitmap upypxC  
  Compression As Long '压缩方法     '0 - none (also identified by bi_rgb) Ge~q3"  
                                    '1 - rle 8-bit / pixel (also identified by bi_rle4) 3Y z]8`C  
                                    '2 - rle 4-bit / pixel (also identified by bi_rle8) I%@e @Dm,h  
                                    '3 - bitfields (also identified by bi_bitfields) ]9jZndgC  
  IMAGESIZE As Long  '图像数据字节数 XGfzEld2"  
  hResolution  As Long  '水平分辩率  像素数/米 k(P3LJcYQ  
  vResolution  As Long  '垂直分辩率 Y@Y`gF6F  
  ColorsinBMP As Long   '图中所用的颜色。对256色图像总为0x100 =fl%8"%N&  
  ImportantColors As Long *URdd,){i  
  Pallate(0 To 255) As Long  '图像每个值对应的实际显示颜色,项数对应PallateNumber所指调色板项数 R]u (l+`  
End Type sV u k  
L[9OVD  
90~*dNk  
%}C9  
Public BMPHeader As GrayBMPHeader, BMP1 As GrayBMPHeader H]s4% 9T  
Public sRECT As RECT ?g2zmI!U  
rA ,CQypo  
<uZPqi||  
Public conn As ADODB.Connection SIq1X'7  
Public rsTrain As ADODB.Recordset D?e"U_  
Public rsOperater As ADODB.Recordset Sx8l<X  
Public rsGoods As ADODB.Recordset Dg~ [#C-  
Public rsGood2 As ADODB.Recordset J O2xT#V  
Public rsSender As ADODB.Recordset {j?7d; 'j  
Public rsReceover As ADODB.Recordset 3bH~';<  
Public rsTrainTMP As ADODB.Recordset -!c IesK;<  
AD]e0_E  
p8=|5.  
'打开采集卡 9\ v.qo.  
'设置参数 |rMq;Rgu?  
'设置为实时单帧采集到缓存方式 u4YM^* S.  
'由另一线程查询采集状态,如果完成采集,传送至用户数组分析或保存 S'o ]=&  
k oM]S+ 1  
Xo Y7/&&  
Sub Main() 2FGx _ Y  
  Dim i As Integer, status As Long R<_?W#$j  
     s~^*+kq  
   InitBMPinfo ga-{!$b*  
   '生成BMP文件头---该文件头是固定将pFRAME数组写成BMP文件 rvic%bsk  
    BMPHeader.Tag = &H4D42 .Gh%p`<  
    BMPHeader.ImageWidth = FrameW a/~29gW8E\  
    BMPHeader.ImageHeight = FrameH &5u BNpH  
    BMPHeader.BMPHeaderSize = &H28 B{p4G`$i1  
    BMPHeader.PlaneNumber = 1 W;q+,Io  
    BMPHeader.bpp = 8 *Bs^NU.  
    BMPHeader.Compression = 0 ibJl;sJ  
    BMPHeader.hResolution = &H1274   'Windows pBrush.exe的默认值,PhotoED.exe默值为0 EX:{EmaT  
    BMPHeader.vResolution = &H1274 ASW4,%cl  
    BMPHeader.ColorsinBMP = 256 !z MDP/V  
    BMPHeader.ImportantColors = BMPHeader.ColorsinBMP lEHwZ<je  
    BMPHeader.DataOffset = Len(BMPHeader) cC%j!8!  
    For i = 0 To 255 zmI5"K"'F  
      BMPHeader.Pallate(i) = RGB(i, i, i) -#aZF2z   
    Next i &]< 3 ~6n  
    BMPHeader.IMAGESIZE = FrameH * FrameW 9? 2  
    BMPHeader.FileLength = Len(BMPHeader) + BMPHeader.IMAGESIZE WSLy}@`Vx  
EJLQ&oH[  
1}!L][(  
    MoveMemory BMP1, BMPHeader, Len(BMPHeader) UfR~%p>K  
     Z:@6Lv?CN  
    BMP1.ImageWidth = FrameW "cMNdR1^,y  
    BMP1.ImageHeight = FrameH * 2 3_W{T@T  
    BMP1.IMAGESIZE = BMP1.ImageWidth * BMP1.ImageHeight )lh8 k {  
    BMP1.FileLength = Len(BMP1) + BMP1.IMAGESIZE S[mM4et|  
<F7V=Er  
  '确定标志位置,为pilarX, pilarY确定初始值 V&i2L.{G)  
   PilarW = mkW |3;(~a)%  
   PilarH = mkH  '此两项为固定值 Uky9zGa  
   PilarX = GetSetting(App.EXEName, "Mark", "MarkX", mkX) R)+t]}  
   PilarY = GetSetting(App.EXEName, "Mark", "MarkY", mkY)  '此两项需要在程序初始化时检查并进行调整 =_ y\Y@J  
   -`7$Qu 2  
    7^MX l  
  '连续采集记录文件 M)JADX  
  ' 建立一个缓冲区为页对齐方式的文件 VD$ Eb  
  If Dir(TmpFile) <> "" Then P16YS8$  
    hFile = CreateFile(TmpFile, GENERIC_READ Or GENERIC_WRITE, _ Vl<9=f7[  
     0&, 0&, OPEN_ALWAYS, FILE_FLAG_NO_BUFFERING, 0&) rJQ=9qn\  
    ' 在95/98中,如果打开文件时没有声明overlapped方式,在读定文件时就不能使用overlapped参数项 5Z{_m;I.   
    ' 而必须用setfilepointer函数调节与操作系统保留的文件指针。  H4:ZTl_$  
  Else .x}gg\  
    hFile = CreateFile(TmpFile, GENERIC_READ Or GENERIC_WRITE, _ }c% pH{ HI  
     0&, 0&, CREATE_ALWAYS, FILE_FLAG_NO_BUFFERING, 0&) W"Q!|#;l.  
  End If ,r=re!QI7  
  If hFile = 0 Then *Y%Jl o  
    MsgBox TmpFile & ": File Open Error", vbOKOnly ',ZF5T5z@  
    Exit Sub +TN^NE  
  End If FLZSK:3B]  
  '采集参数记录文件 DyfsTx  
hBCFile = FreeFile() T%(C-Quh  
Open TmpFile + ".BC" For Binary Access Read Write As #hBCFile =i>\2J%'R  
   QU T"z'  
hMEM = VirtualAlloc(ByVal 0&, hMemSize, MEM_COMMIT, PAGE_READWRITE)  ’分配系统内容  sTkkM9  
If hMEM = 0 Then -[DWM2C$K4  
    fStatus = GetLastError l~J*' m2  
    MsgBox "内存分配错误: 错误代码 - " & Str(fStatus) & vbCrLf _ cy|%sf`  
     & "请向技术人员报告该错误代码。", vbOKOnly \9)#l#m  
    CloseHandle hFile ?TpUf  
    Exit Sub Qz+sT6js-  
End If CISO<z0  
& [_ZXVva~  
hMemWork = VirtualAlloc(ByVal 0&, hMemWorkSize, MEM_COMMIT, PAGE_READWRITE) d(7NO;S8  
If hMemWork = 0 Then 3qi_]*dD  
    fStatus = GetLastError -7%X]  
    MsgBox "内存分配错误: 错误代码 - " & Str(fStatus) & vbCrLf _ h^oH^moq<  
     & "请向技术人员报告该错误代码。", vbOKOnly |]W2EV ,b  
     '释放已成功分配的内存 %d;<2b0  
    mStatus = VirtualFree(ByVal hMEM, hMemSize, MEM_DECOMMIT) }ptMjT{9  
    mStatus = VirtualFree(ByVal hMEM, 0&, MEM_RELEASE) b5pMq$UVL  
     .9h)bf+  
    CloseHandle hFile `~h4D(n`  
    Exit Sub !][F  
End If =e BmBn  
{)@D`{ $  
' Test writing 7,'kpyCj  
'WriteFile hFile, ByVal hMEM, ByVal 4096&, bytesRW, ByVal 0& gnLn7?  
     exDkq0u]  
   '初始化采集卡参数 Jdj?I'XtY  
   iCurrentCard = -1 LA4<#KP  
   hBoard = okOpenBoard(iCurrentCard) zizk7<?L .  
   Debug.Print hBoard +Ok%e.\ZM  
   If hBoard = 0 Then [2 zt ^  
      ExitGrabber oNM ?y:O  
      End {38\vX,I(w  
   End If _1|$P|$P.  
   okGetBufferSize hBoard, mBufferAddr, BufferSize y=aV=qD   
   If mBufferAddr = 0 Then ?Elg?)os  
     MsgBox "缓存不存在!" 7I}P*%(f  
     ExitGrabber rh%m;i<b  
   End If "DQ'C%sL9  
   Debug.Print Hex(mBufferAddr), Hex(BufferSize) #@qN8J}R  
   |P~;C6sf  
   p SfYu=#f  
   currentBr = 128: currentContr = 128 SfB8!V|;  
   '设置视频输入参数 *(QH{!-$s  
   okSetVideoParam hBoard, VIDEO_SOURCECHAN, 1 'Video2 S1b Au <  
      ' lParam=0,1.. Comp.Video; 0x100,101...to Y/C(S-Video), 0x200,0x201 to RGB Chan.Input i ]o"_=C  
   okSetVideoParam hBoard, VIDEO_BRIGHTNESS, currentBr '亮度 @dgH50o[  
   okSetVideoParam hBoard, VIDEO_CONTRAST, currentContr '对比度  ---初始设置条件下如果图像亮度达不到基本要求则控制灯光 s0C:m  
   okSetVideoParam hBoard, VIDEO_RGBFORMAT, FORM_GRAY8 '8位灰度模式 OBOwz4<  
   okSetVideoParam hBoard, VIDEO_TVSTANDARD, 0 'PAL制式 Qi9-z'  
   okSetVideoParam hBoard, VIDEO_SIGNALTYPE, &H10000 '逐行(低字)同步开槽(高字) _xrwu;o0}  
   okSetVideoParam hBoard, VIDEO_RECTSHIFT, 144 + &H2C0000 '有效区起始位置:高字Y偏移,低字X偏移 (144/44经验值) DlTR|(AL  
   okSetVideoParam hBoard, VIDEO_AVAILRECTSIZE, FrameW + FrameH * 2 * &H10000 '有效区大小:低字X高字Y (768/576采集卡最大值) \+nGOvM  
   okSetVideoParam hBoard, VIDEO_FREQSEG, 0 ' 低频部分信号 :243H  
   *:hy Y!x  
   '设置采集参数 A\$ >>Z  
   okSetCaptureParam hBoard, CAPTURE_INTERVAL, 0  '逐帧 B,vOsa"x6`  
   okSetCaptureParam hBoard, CAPTURE_CLIPMODE, 2 '裁剪方式 4(cJ^]wb^  
   okSetCaptureParam hBoard, CAPTURE_BUFRGBFORMAT, FORM_GRAY8  '8位灰度 t6lE#<xZV;  
   okSetCaptureParam hBoard, CAPTURE_HARDMIRROR, 0 '不作镜像变换 }Qr6 l/2  
   okSetCaptureParam hBoard, CAPTURE_FRMRGBFORMAT, FORM_GRAY8 '帧存格式 B4g8 ~f  
   okSetCaptureParam hBoard, CAPTURE_SAMPLEFIELD, 0 ' 逐场采集 idc4Cf+4  
   okSetCaptureParam hBoard, CAPTURE_HORZPIXELS, 944  '水平像素数 PAL制式固定值 [}2Z/   
   okSetCaptureParam hBoard, CAPTURE_VERTLINES, 625 '垂直线数 ,^$ |R32  
   okSetCaptureParam hBoard, CAPTURE_SEQCAPWAIT, 0 '不等结束立即返回 7:Zt uc]  
   'okSetCaptureParam hBoard, CAPTURE_BUFBLOCKSIZE, FrameW + FrameH * 2 * &H10000 5`-UMz<]  
   'Buffer Block Size不用设置,而用okSetTargetRect函数进行动态调节 osH Cg  
   o 3N]`xD'  
   ]@ M5_%p  
   okCloseBoard hBoard Gy"%R-j7  
   Sleep 50 ?&X6:KJQ  
   hBoard = okOpenBoard(iCurrentCard)   '关闭后重新打开使新的设置值生效 7G9 3,dJ  
   Tum_aI  
   '设置数据传送方式 SVWIEH0?  
   'okSetConvertParam hBoard, CONVERT_FIELDEXTEND, FIELD_COPYEXTEND '逐行并扩展行 K84^ O q  
   '该设置对本程序无意义,因为程序直接用CopyMemory方法读缓存,而扩展行方式是在用采集卡内置函数读RECT过程中实现的。 C#Bz >2;#  
   bRo|uJ:d  
   sRECT.Right = -1   '用于获得当前设置值 xT*d/Oaw  
   iFrames = okSetTargetRect(hBoard, BUFFER, sRECT) nJZ6? V  
   Debug.Print sRECT.Left, sRECT.Right, sRECT.Top, sRECT.Bottom 1n=_y o  
   Debug.Print okSetCaptureParam(hBoard, CAPTURE_BUFBLOCKSIZE, -1)  'FrameW + FrameH * &H10000 6bO~/mpWT~  
   sRECT.Left = 0 UMMB0(0D  
   sRECT.Top = 0 H!)=y  
   sRECT.Right = sRECT.Left + FrameW >v+jh(^  
   sRECT.Bottom = sRECT.Top + FrameH * 2 @ -:]P8  
   iFrames = okSetTargetRect(hBoard, BUFFER, sRECT) CN &  
   d=3'?l`  
   sRECT.Right = -1   '检查新设置值 {1-V]h.<J  
   iFrames = okSetTargetRect(hBoard, BUFFER, sRECT) Bh]!WMAw.  
   Debug.Print sRECT.Left, sRECT.Right, sRECT.Top, sRECT.Bottom }-DE`c  
   Debug.Print Hex(okSetCaptureParam(hBoard, CAPTURE_BUFBLOCKSIZE, -1)) i L]'y\?lv  
   a|_p,_  
   If TESTSignal = False Then D'_Bz8H!p  
      'ExitGrabber @f1*eo5f  
   End If @jy41eIo  
   C~4PE>YtTv  
   y\c"b-lQX  
   \7v)iG|#G&  
   '设为实时采集状态 TNwK da+  
   'iFrames = okCaptureActive(hBoard, BUFFER, 0&) 1(#;&:$`i  
   Ykqyk')wm  
   f{&bOF v  
   '单帧采集 -db75=  
   'okWaitSignalEvent hBoard, EVENT_FRAMEHEADER, -1 y$W|~ H   
   'iFrames = okCaptureSingle(hBoard, BUFFER, 0&) @T-p2#&  
   okCaptureTo hBoard, BUFFER, 0, 1 'single ^%>kO,  
   'Do While okGetCaptureStatus(hBoard, False) <> 0 )3A{GZj#6  
   '   Sleep 20 ,0N94pKy  
   'Loop jd-glE,Y/  
   okGetCaptureStatus hBoard, True {b)~V3rsY  
   MoveMemory pFRAME(1, 1), ByVal mBufferAddr, pFrameSize </"4 zD|  
   '写入768*576测试图象 {+.r5py  
   ArrayToBMP TmpBMP qu|i;WZE  
   1wj:aD?g  
   '打开数据库 DcD{*t?x  
   Set conn = New ADODB.Connection g"_C,XN  
   conn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;" & _ T7*wS#z)h  
      "Persist Security Info=False;Data Source=" & "c:\train\train.mdb" & _ :t("L-GPW  
      "; Mode=Read|Write" HMGB>  
   conn.Open ~I=Y{iM  
   d_z 59  
   frmRecord.Picture1.Picture = LoadPicture(TmpBMP) FnFb[I@eu  
   frmRecord.Visible = True "3CJUr:Q  
   frmQuery.Visible = True K^l:MxO-X  
   Load frmReceiveFromComm ';B#Gx  
   /t%u"dP"T~  
   '调试参数 ]j<Bo4~Il  
   If InStr(UCase(Command()), "/CAPTURE") > 0 Then iw9Q18:I}  
     SignalBox.Visible = True 0s#Kp49-  
   End If ^jE8+h  
   If InStr(UCase(Command()), "/COMM") > 0 Then B4Y(?JTx  
     frmReceiveFromComm.Visible = True ;#/@+4@a&  
   End If ^K(^I*q  
vH[47CvG5  
End Sub &&> tf%[  
pB:$lS  
Sub ExitGrabber() G}d-(X  
  '关闭数据库 RFaSwf,5n  
  '关闭采集卡 ) c2_b  
  mStatus = VirtualFree(ByVal hMEM, hMemSize, MEM_DECOMMIT) p#P~Q/;  
  mStatus = VirtualFree(ByVal hMEM, 0&, MEM_RELEASE) Z|lU8`'5  
  mStatus = VirtualFree(ByVal hMemWork, hMemWorkSize, MEM_DECOMMIT) eU@Cr7@,|  
  mStatus = VirtualFree(ByVal hMemWork, 0&, MEM_RELEASE) q2aYEuu,  
  okStopCapture hBoard 23\RJpKb  
  okCloseBoard hBoard ,m3e?j@;r  
  CloseHandle hFile Z.PBu|Kx  
  Close #hBCFile 9xI GV!  
  conn.Close K2)!h.W  
  End IM@tN  L  
End Sub hqvE!Of  
uQ1@b-e`5  
Function ArrayToBMP(ByVal File As String) fwR_OB: $  
Dim BytesWrite As Long &53]sFZ  
|*5 =_vF  
hTmpFile = CreateFile(File, GENERIC_READ Or GENERIC_WRITE, 0&, 0&, _ <O<LYN+(  
  CREATE_ALWAYS, 0&, 0&) G6 0S|d  
u+m,b76  
If hTmpFile = 0 Then `)iY}Iu  
   ArrayToBMP = False fxcc<h4  
   Exit Function -Z-f1.Dm5  
End If 4,Ic}Cv M  
YZf6|  
SetFilePointer hTmpFile, 0&, 0&, FILE_BEGIN ~&dyRt W4  
WriteFile hTmpFile, BMPHeader, 2&, BytesWrite, ByVal 0& dihjpI_  
SetFilePointer hTmpFile, 2&, 0&, FILE_BEGIN [Nm4sI11  
WriteFile hTmpFile, BMPHeader.FileLength, Len(BMPHeader) - 2, BytesWrite, ByVal 0& bUwn}_7b  
kRJ4-n^@><  
SetFilePointer hTmpFile, Len(BMPHeader), 0&, FILE_BEGIN =8Jfgq9E  
WriteFile hTmpFile, pFRAME(1, 1), pFrameSize, BytesWrite, ByVal 0& =wWpP-J&  
eV^d6T$  
If BytesWrite < pFrameSize Then :M3 oUE{  
  ArrayToBMP = False s ^Nw%KAv  
End If D/ybFk  
}L=/A7Nk>  
CloseHandle hTmpFile rqPo)AL  
H6*^Ga  
End Function sic"pn],U  
`r"+644  
Function ArrayToBMP1(ByVal File As String) xM>W2  
y&~w2{a  
Dim BytesWrite As Long o G*5f  
\>. LW9  
hTmpFile = CreateFile(File, GENERIC_READ Or GENERIC_WRITE, FILE_SHARE_READ Or FILE_SHARE_WRITE, 0&, _ :ue:QSt(u  
  CREATE_ALWAYS, 0&, 0&) /6uT6G+(z}  
}|OaL*|u  
If hTmpFile = 0 Then `4?~nbz  
   ArrayToBMP1 = False /*FH:T<V  
   Exit Function =ac_,]z  
End If Bq\F?zk<  
2&mGT&HAVA  
SetFilePointer hTmpFile, 0&, 0&, FILE_BEGIN 82{&# Vc  
WriteFile hTmpFile, BMP1, 2&, BytesWrite, ByVal 0& Jzji&A~  
C$h<Wt=<  
SetFilePointer hTmpFile, 2&, 0&, FILE_BEGIN MM_k ]-7  
WriteFile hTmpFile, BMP1.FileLength, Len(BMP1) - 2, BytesWrite, ByVal 0& c,MOv7{x_  
? t&kb7  
SetFilePointer hTmpFile, Len(BMP1), 0&, FILE_BEGIN _9 .(a  
WriteFile hTmpFile, pBuffer(1), pBufferSize, BytesWrite, ByVal 0& <*ZJaBwWU~  
tc ;'oMUP  
If BytesWrite < pBufferSize Then `:8J46or  
  ArrayToBMP1 = False S^@S%Eg  
End If {PP9$>4`l  
Dr&('RZ4  
CloseHandle hTmpFile a]17qMl  
f 3V Dv9(  
End Function \*hrW(   
 .~A*=  
'使用该过程建立的文件要求在用后关闭  5^<h}u9  
Public Function ArrayToBMP2(File As String) As Boolean B(a-k?  
SvM6iZ]  
Dim BytesWrite As Long !3n)|~r;K  
?lGG|9J\  
ArrayToBMP2 = True z}Q wP ~Z  
1J=.N|(@Q  
hTmpFile = CreateFile(File, GENERIC_READ Or GENERIC_WRITE, FILE_SHARE_READ Or FILE_SHARE_WRITE, 0&, _ b \KL;H/  
  CREATE_ALWAYS, FILE_ATTRIBUTE_TEMPORARY, 0&) aimarU  
}U~6^2 .,  
If hTmpFile = 0 Then L sEXM-  
   ArrayToBMP2 = False ,_aM`%q?Fj  
   Exit Function lz#GbXn.  
End If \J..*,'  
bK"SKV  
SetFilePointer hTmpFile, 0&, 0&, FILE_BEGIN u-D dq~;|  
WriteFile hTmpFile, BMPHeader, 2, BytesWrite, ByVal 0& :o-,SrORM  
XgN` 7!Z  
SetFilePointer hTmpFile, 2&, 0&, FILE_BEGIN v,-{Z1N%m  
WriteFile hTmpFile, BMPHeader.FileLength, Len(BMPHeader) - 2, BytesWrite, ByVal 0& {N2g8W:  
u@'0Vk0zGH  
SetFilePointer hTmpFile, Len(BMPHeader), 0&, FILE_BEGIN _/8FRkx  
WriteFile hTmpFile, pFRAME(1, 1), pFrameSize, BytesWrite, ByVal 0& W :,4:|3  
K5ZC:Ks  
If BytesWrite < pFrameSize Then ;h6v@)#GX  
  ArrayToBMP2 = False `pf4X/Py  
End If [v7^i_d  
z?/1Kj}xG  
CloseHandle hTmpFile ~LJY6A@y  
00I}o%akO  
End Function 'FlJpA}  
s^0/"j|7  
Private Function TESTSignal() As Boolean s4Sd>D 7  
Dim extsign As Long, videotype As Long, scanlines As Long, fieldfrq As Long El_wdbbT  
8KB>6[H!wE  
extsign = okGetSignalParam(hBoard, SIGNAL_VIDEOEXIST) Xp\/YJOibd  
4 %PfrJ  
If extsign = 1 Then <~}7Mxn%x@  
   TESTSignal = True h^, 8rd  
Else >z;[2 n'  
    If extsign = 0 Then ~vmd XR`'T  
        MsgBox "无视频输入信号,检查摄像机电源!", vbOKOnly E#J';tUQ  
        TESTSignal = False fx=Awba  
        Exit Function !-2R;yo12  
    End If 'w>_+jLT  
End If S= R7`a<.5  
]V %.I_  
'测试视频输入类型 WV3|?,y]qm  
'video type ](tx<3h  
okWaitSignalEvent hBoard, EVENT_ODDFIELD, 40 \P} p5k[  
videotype = okGetSignalParam(hBoard, SIGNAL_VIDEOTYPE) ZUz ^!d  
If videotype = 1 Then <DKS+R  
        '"隔行信号(Interlaced)" 3~,d+P  
Else bmNq[}  
   If videotype = 0 Then Y$N)^=7  
       '"逐行信号(Non-interlaced)" UDhG :  
   Else H gTUy[(  
     If videotype = -1 Then B]m@:|Q  
       ' "不支持" I}e 3zf>  
     End If 9I1tN  
   End If U~h'*nV&  
End If !CX t*/~  
[U}+sTQ  
'测试垂直扫描线数 3G.5724,  
'video scanlines bfB\h*XO  
scanlines = -1 *Do/+[Ae  
scanlines = okGetSignalParam(hBoard, SIGNAL_SCANLINES) IDkWGh  
    If scanlines = -1 Then F(4?tX T  
        ' "不支持" +4[^!q* H  
    Else 2LrJ>Mi  
        'Trim(Str(ScanLines)) + " 行数/幅" "|;:>{JC  
    End If  Q~R ~xz  
Fc~'TBf,,`  
'测试帧频 bCref$ |  
'video field frequency &PkLp4mQ  
    fieldfrq = okGetSignalParam(hBoard, SIGNAL_FIELDFREQ) RZM"~ 0  
    If fieldfrq = -1 Then /? r?it  
        'lblSignal(8) = "不支持" }I 3gU  
    Else 4h5g'!9-g  
        'lblSignal(8) = Trim(Str(FieldFRQ)) + " 场数/秒" L;gO;vO  
    End If Z3>N<u8)  
End Function 5MFxo63  
gu#-O ?B  
F'g Vzf  
Sub PicIdentify() O^/Maa/D1  
'本程序完成从文件中按顺序读出一幅图像并完成图像识别 ]k9)G*  
'根据固定位置判断透过车皮连接处接收的对面的立柱影像。出现立柱后该帧前1-2帧与后1-2帧分别为车号信息与车皮信息 ]| N3eu  
'判定标准:如果在立柱位置上有明显的模式反差,则视为车皮之间的间隔 >fH=DOz$&  
'方法:对立柱标志区进行平均值二值化,面积为32*40,亮区(255)与暗区(0)的亮度平均值理论差大于200倍,实际差值应不小于100倍 {x'GJtpb  
a+hd(JX0~  
  Dim fPTR As Long, cFrame As Long Fk(JSiU  
  Dim i As Long, j As Integer, pTotal As Long, pAV As Integer O: @}lK+H  
     `cPywn@uGZ  
<;E  
cFrame = 0 RoCfJ65  
?$f)&O  
;Yi4Xva@  
Do While cFrame < tFrames ;a-$D]Db  
   fLV"T_rk  
  fStatus = SetFilePointer(hFile, cFrame * pFrameSize, 0&, FILE_BEGIN) V"p!B f  
  fStatus = ReadFile(hFile, ByVal hMEM, ByVal pFrameSize, bytesRW, ByVal 0&) uOa26kE4  
  MoveMemory pFRAME(1, 1), ByVal hMEM, pFrameSize 4}`  
   >zDF2Y[  
  frmRecord.RText.Text = Str(cFrame) ??n*2s@t  
  frmRecord.RText.Refresh (D@A74q\'  
       DI!V^M[~u  
  If CheckMark = True Then W@y J AQ  
   ArrayToBMP TmpBMP e[sK@jX6  
   frmRecord.Picture1.Picture = LoadPicture(TmpBMP) qo<&J f  
   frmRecord.RText.Text = "第" & Str(cFrame) & "帧" 66^ycZCH  
   v9Xp97J2  
   DrawSlice 763+uFx^  
   '9c2Q/  
   'i = MsgBox("检测到立柱:第" & Str(cFrame) & "帧", vbYesNo) [tMZ G%h  
   'If i = vbNo Then 2X:4CC%5  
   '  Exit Do 4iW'kuK  
   'End If R!l:O=[<  
   'cFrame = cFrame + 1 2o>)7^9|#<  
   IbcZ@'RSw  
  End If TCT57P#b  
  DoEvents }FzqW*4~  
  cFrame = cFrame + 1 -n'F v@U  
Loop YF+n b.0.  
End Sub \*,=S52  
Zy|Mz&  
spasB=E  
Function CheckMark(Optional iBlk As Integer = 30, Optional iWhite As Integer = 230) As Boolean K}6dg<  
k}KC/d9.z  
'如标志区模式反差存在则为TRUE,否则返回FALSE -s6![eV  
l>Ub!^;  
Dim i As Integer, j As Integer, mTotal As Long, mAV As Single, mTop As Long, mBot As Long GTHkY*  
CheckMark = True k`GA\&zt  
   {.yStB. T  
'复制标志区 3!5Ur&  
For i = 1 To mkH ,39aF*r1Q  
   MoveMemory MKpilar((i - 1) * PilarW + 1), pFRAME(PilarX, PilarY + i), PilarW E*#]**  
Next i _fZZ_0\Q  
]7;\E\o  
For j = 1 To PilarW * PilarH / 2 =]-j;#'&  
   mTop = mTop + MKpilar(j) *^([ ~[  
Next j BTM), w2  
nFe%vu8a  
For j = PilarW * PilarH / 2 + 1 To PilarW * PilarH 4t)%<4  
   mBot = mBot + MKpilar(j) )sho*;_o  
Next j q>w)"Dd  
}(egMx;"3J  
mTop = mTop / PilarW / PilarH * 2 XUuu-wm:}  
mBot = mBot / PilarW / PilarH * 2 }K8/-d6  
{EdH$l>94  
mAV = (mTop + mBot) / 2 + (mBot - mTop) / 4 '标志区平均亮度 K |DWu8  
# O4gg  
'平均值极值化 ' B  
  For j = 1 To PilarH * PilarW $lhC{&tBV  
    MKpilar(j) = IIf(MKpilar(j) > mAV, 255, 0) *D'$"@w3  
  Next j }du XC[6  
   c1%H4j4/  
mTop = 0: mBot = 0 Z}|(F RVk  
For j = 1 To PilarH * PilarW / 2 0\2\*I}?  
  mTop = mTop + MKpilar(j) fX jG5Tv  
Next j ;<0LXYL;  
[ '%69dPh  
For j = PilarH * PilarW / 2 + 1 To PilarH * PilarW gKOOHUCb  
  mBot = mBot + MKpilar(j) ~4?9a(>3  
Next j U%h);!<  
nenU)*o  
Z3!f^vAi&  
  mTop = mTop / PilarH / PilarW * 3 V7TVt,-3  
  mBot = mBot / PilarH / PilarW * 3 O5H9Y}i]  
   e@{i  
N{-]F|XX  
If mBot > iWhite And mTop < iBlk Then F@R1:M9*  
  CheckMark = True 191&_*Xb  
Else <cA/<3k)  
  CheckMark = False PvGDTYcKp  
End If kNqH zo  
End Function T97]P-}  
tDr#H!2 3  
Sub Capture1Frame() L28*1]\Jh  
   okCaptureTo hBoard, BUFFER, 0, 1 'single 1 { , F  
   okGetCaptureStatus hBoard, True t%530EB3  
   MoveMemory pFRAME(1, 1), ByVal mBufferAddr, pFrameSize A>{p2?`+!  
End Sub M>M`baM1  
_0 gKK2  
zD3mX<sw  
Sub CopyMark(iBlk As Integer, iWhite As Integer) EC|'l  
'复制标志区并返回标志区暗区与亮区的亮度平均值 mrV!teP  
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 +:3*  
   0euuT@_$  
'复制标志区 "bDs2E+W  
For i = 1 To mkH sBV 4)xM  
   MoveMemory MKpilar((i - 1) * PilarW + 1), pFRAME(PilarX, PilarY + i), PilarW uUKcB:  
Next i >a3p >2  
O$IjN x  
For j = 1 To mkW * mkH / 2 YDGS}~m~Q  
   mTotal = mTotal + MKpilar(j) >J u]2++lx  
Next j au,t%8AC  
y^7}oH _  
iBlk = mTotal / (mkW * mkH / 2)  '标志区上部白区平均亮度 Jk0r&t7  
<L&m4O#|  
mTotal = 0 kD[ r.Dma  
For j = mkW * mkH / 2 + 1 To mkW * mkH %r4 q8-  
   mTotal = mTotal + MKpilar(j) sl2@umR7%(  
Next j Tr^nkD{  
aTf`BG{kw  
iWhite = mTotal / (mkW * mkH / 2) '标志区下部黑区平均亮度 P,sjo u^  
V^Hu3aUx8  
'背景亮度 Bo5ZZY  
  MoveMemory BsLine(1), pFRAME(1, 1), 4 * FrameW 7<H |QL&  
  For i = 1 To 4 * FrameW .'a&3 3J  
    bsTotal = bsTotal + BsLine(i) ! ZU2{  
  Next i XT;u<aJs  
  bsAV = bsTotal / FrameW / 4 Z@Ae$ '9H  
 r[?1  
End Sub 'W a,OFd\8  
b=3H  
\P1=5rP  
Sub AdjIMGbright(Optional bInit As Boolean = True) C{2xHd/*  
qH['09/F6  
  '自动调节亮度与对比度,此时处于无车辆状态(白天特别高,而夜间特别暗) 0j C3fT!n  
  '图像平均亮度白天不高于200(当车辆通过时可能会下降到100左右),不低于100 oA1a/[#  
  '            夜间不高于80(过高时通常是由于雪花噪声引起),但立柱不低于30 <, 3ROo76  
     #M A4  
  Dim bsTotal As Long, i As Integer, iBlack As Integer, iBright As Integer )G7=G+e;  
   %7O?JI [  
  '按标准亮度与对比度采集一帧,确定背景亮度 m~uOXb  
  currentContr = 128   '初始对比度 ." $  
  currentBr = 128   '初始亮度 XNgDf3T  
  okSetVideoParam hBoard, VIDEO_BRIGHTNESS, currentBr '亮度 f@co<iA  
  okSetVideoParam hBoard, VIDEO_CONTRAST, currentContr '对比度 U\rh[0  
  DoEvents v`1,4,;,qs  
  Capture1Frame f-n z{U  
  '获得图像上缘4行象素 cWajrLw  
  MoveMemory BsLine(1), pFRAME(1, 1), 4 * FrameW )/t?!T.[  
  CopyMark iBlack, iBright   '图像标志区亮度 \p%3vRwS%p  
  For i = 1 To 4 * FrameW h=_mNG>R)  
    bsTotal = bsTotal + BsLine(i) Ged[#Q  
  Next i :a: l j  
  bsAV = bsTotal / FrameW / 4    '图像上缘基线亮度 JF /,K"J  
   r\;ut4wy  
  Select Case bsAV k<+0o))  
     Case 0 To 60    '夜间通过灯光照明,完全没有背景 W5#611  
       currentBr = 150 sl*5Y#,|1  
       currentContr = 60 :$+-3_oLMQ  
     Case 61 To 80   '有可见背景 7^T^($+6s&  
       currentBr = 140 hR5_+cuIp  
       currentContr = 70 S(:l+JP  
     Case 81 To 100  '有清晰背景 7)%+=@  
       currentBr = 128 2S' {!A  
       currentContr = 80 ^*\XgX  
     Case 100 To 150  '有明亮背景 h_ d<!  
       currentBr = 140                '5:30-6:00钟实测数据 ' H7x L  
       currentContr = 50 <'G~8tA%v  
     Case 151 To 180 .G o{1[  
       currentBr = 130 `yF`x8  
       currentContr = 60 TY(bPq  
     Case 181 To 220  '背景全为白色 5[n(7;+gw  
       currentBr = 110 z4E|Ai  
       currentContr = 130 U.{l;EL:T  
     Case 221 To 255  '背景全为白色 h~wi6^{&Y  
       currentBr = 100 {)AMwq  
       currentContr = 100 I}2P>)K  
  End Select ^9-&o  
   jmg! Ml  
  Select Case (iBlack + iBright) / 2   '图像反射光强度修正 =vT<EW}[  
        Case 100 To 150 n&A'C\  
          currentBr = currentBr - 10 mXUYQ 82  
        Case 151 To 255 Su 5>$  
          currentBr = currentBr - 20 CIVnCy z  
  End Select ](F#`zUQ  
    )J?{+3  
  okSetVideoParam hBoard, VIDEO_BRIGHTNESS, currentBr '亮度 /s];{m|>  
  okSetVideoParam hBoard, VIDEO_CONTRAST, currentContr '对比度 -+t]15  
End Sub HHjt/gc}`  
 X\}Y  
Sub CopyCorner(rowID As Integer, diffL As Integer, diffR As Integer) >3u ]OSb  
    Dim i As Integer, j As Integer, L1 As Long, L2 As Long, R1 As Long, R2 As Long DQwGUF'(  
     ;60.l!   
    For i = 1 To 8 TE )gVE]  
      MoveMemory LeftBK((i - 1) * 128 + 1, rowID), pFRAME(1, i), 128& z6py"J@  
      MoveMemory RightBK((i - 1) * 128 + 1, rowID), pFRAME(640, i), 128& Y wkyq>Rv  
    Next i lg pW@g  
     <W]g2>9o9  
    For j = 1 To 1024 .@ -$5Jw  
      L1 = L1 + LeftBK(j, 0) ~afg)[(  
      L2 = L2 + LeftBK(j, 1) -)vEW n$3<  
      R1 = R1 + RightBK(j, 0) u{z``]  
      R2 = R2 + RightBK(j, 1) G^"Vo x4  
    Next j %& _V0R\k  
    diffL = Abs(L1 - L2) / 1024 0P>OJYFr'  
    diffR = Abs(R1 - R2) / 1024 T;L>P[hNn  
End Sub hp"L8w  
e|4&b@  
Function CheckSlice() As Boolean  lWm'  
  CopySlice avSL, avSLR, avSLL OiDh J  
  If Abs(avSL - avSLL) > (Abs(avSLL - avSLR) + 5) * 4 Then Dup;e&9g  
    CheckSlice = True 1N2,mo?2  
  Else #P#-xz  
    CheckSlice = False PQ|69*2G  
  End If &Z?ut *%S  
End Function ! Q<>3 xZ  
a?YCn!  
Sub CopySlice(avSL As Integer, avSLR As Integer, avSLL As Integer) c%*($)#  
  Dim i As Long, j As Long, total As Long, totalL As Long, totalR As Long f&D]anf33  
  For i = 1 To FrameH 5PcJZi^.l  
    MoveMemory Slice(1, i), pFRAME(sPos, i), sSize wv^rS^~  
    MoveMemory SliceL(1, i), pFRAME(sPosL, i), sSize q.2(OP>(  
    MoveMemory SliceR(1, i), pFRAME(sPosR, i), sSize 2 &Nb  
  Next i %P;Q|v6/|  
  For i = 1 To FrameH mJB2)^33a  
    For j = 1 To sSize -*2Mf Mh  
       total = total + Slice(j, i) 0q\7C[R_  
       totalL = totalL + SliceL(j, i) i@NqC;~;  
       totalR = totalR + SliceR(j, i) 1c+]gIe  
    Next j m`6Yc:@E  
  Next i 1009ES7*  
  avSL = total / FrameH / sSize !EQ@#qW/  
  avSLR = totalR / FrameH / sSize oUQ07z\C  
  avSLL = totalL / FrameH / sSize L !4t[hhe=  
End Sub 5X.e*;  
a^5^gId5l!  
Sub DrawSlice() ob_I]~^I?|  
   frmRecord.Picture1.Line (sPosL, 0)-(sPosL + sSize, FrameH), RGB(255, 0, 0), B 0b91y3R+  
   frmRecord.Picture1.Line (sPos, 0)-(sPos + sSize, FrameH), RGB(0, 255, 0), B |#l=  
   frmRecord.Picture1.Line (sPosR, 0)-(sPosR + sSize, FrameH), RGB(0, 0, 255), B r}yG0c,  
   frmRecord.RText.Text = Str(avSLL) & "/" & Str(avSL) & "/" & Str(avSLR) e"r)R8  
End Sub 1y^K/.5-  
Sub DrawMark(pic As Control) F_uY{bg  
   Dim i As Long, j As Long D|qk_2R%  
   pic.Line (PilarX, FrameH - PilarY)-(PilarX + PilarW, FrameH - PilarY - PilarH / 2), RGB(255, 0, 0), B ?[x49Ux,P  
   pic.Line (PilarX, FrameH - PilarY - PilarH / 2 - 1)-(PilarX + PilarW, FrameH - PilarY - PilarH), RGB(0, 0, 255), B /m _kn  
   For i = 1 To PilarH ;@h0qRXW:h  
     For j = 1 To PilarW 0ult7s}  
       pic.PSet (PilarX + PilarW + 10 + j, FrameH - PilarY - i), RGB(MKpilar((i - 1) * PilarW + j), 0, 0) 7m#[!%D  
     Next j pdd/D  
   Next i Jw~( G9G  
End Sub $(Ugtimdv  
b%f[p/no  
Function avIMG() As Integer *Ywpz^2?:  
  Dim i As Long, j As Long, totalIMG As Long /WPv\L  
  MoveMemory pBuffer(1), pFRAME(1, 1), pFrameSize 1+`l7'F  
  For i = 1 To pFrameSize R_sC! -  
    totalIMG = totalIMG + pBuffer(i) 0N=X74  
  Next i qz4^{  
  avIMG = totalIMG / pFrameSize 8vk..!7n}  
End Function YC]L)eafo`  
S]sk7  
Function avRegion(barCol As Integer, barWidth As Integer) As Integer w<9>Q1(  
  Dim i As Long, j As Long, totalIMG As Long |+ge8uu?C  
  For i = 1 To FrameH }6 5s'JB  
     MoveMemory pBuffer((i - 1) * barWidth + 1), pFRAME(barCol, i), barWidth juBw5U<  
  Next i qC!&x,}3  
  For i = 1 To FrameH * barWidth :Sg_t Of  
    totalIMG = totalIMG + pBuffer(i) U }Hwto`R  
  Next i fx8EB8A7K7  
  avRegion = totalIMG / pFrameSize d7Ur$K\=y  
End Function X}P$emr7  
杺栫杣杊椌柮栬,䒴蓉艿芖。
伍胥之 离线
级别: 军区司令员

显示用户信息 
91楼  发表于: 2015-09-06   
'VB 6.0 版 Fyyg`J  
'这不是我写的,它更强悍了。因为可以直接读写物理扇区(CHS),而不是逻辑扇区。 ^BZkHAp  
M9!AIHq4  
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 ZV}X'qGaq  
Private Declare Function CloseHandle Lib "kernel32" (ByVal hObject As Long) As Long C} IbxKl  
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 ')S; [=v  
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 uR6w|e`  
Private Declare Function SetFilePointer Lib "kernel32" (ByVal hFile As Long, ByVal lDistanceToMove As Long, lpDistanceToMoveHigh As Long, ByVal dwMoveMethod As Long) As Long ZWV|# c<G  
'如果用绝对扇区写,那么文件的建立打开都不能用VB的 open 语句了。 }G$]LWgQx  
T2 ?HRx  
:"0J=>PH:  
Private Const GENERIC_READ = &H80000000 ~#\i!I;RY}  
Private Const GENERIC_WRITE = &H40000000 2S`?hxAL  
PC c|}*b  
Private Const FILE_SHARE_READ = &H1 h  x6;YV  
Private Const FILE_SHARE_WRITE = &H2 aKF*FFX  
Private Const OPEN_EXISTING = 3 !A8^Xmz"  
&p<(_|Af  
Private Const INVALID_HANDLE_VALUE = -1 Y<\^ 7\[x  
HEqWoV]{d  
'//file seek +5v}q.:+  
Private Const FILE_BEGIN = 0 zBf-8]"^  
Private Const FILE_CURRENT = 1 3>z[PPw  
Private Const FILE_END = 2 &@"]+33  
ihT~xt  
Private Const ERROR_SUCCESS = 0& y'ja< 1I>  
2W M\e lnA  
'//device io control iV.p5FD  
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 .'[/|4H  
,G^[o,hS  
Private Const IOCTL_DISK_GET_DRIVE_GEOMETRY As Long = &H70000   '458752 ~fz[x9\  
Private Const IOCTL_STORAGE_GET_MEDIA_TYPES_EX  As Long = &H2D0C04 h!&sNzX  
Private Const IOCTL_DISK_FORMAT_TRACKS As Long = &H7C018 %,b X/!  
Private Const FSCTL_LOCK_VOLUME As Long = &H90018 V's:>;  
Private Const FSCTL_UNLOCK_VOLUME As Long = &H9001C <I;*[;AK  
Private Const FSCTL_DISMOUNT_VOLUME As Long = &H90020 3HyhEVR-#~  
Private Const FSCTL_GET_VOLUME_BITMAP = &H9006F FDFH,J`_  
YEjY8]t  
'//type ! }3,B28  
Private Type LARGE_INTEGER !/K8xD$  
    lowpart As Long AV&yoag1  
    highpart As Long u%O-;>J  
End Type gM;}#>6  
ZA#y)z8!E  
Private Enum MEDIA_TYPE x2|6   
    Unknown [AEBF2OIv  
    F5_1Pt2_512 e`{0d{Nd  
    F3_1Pt44_512 !a1i Un9  
    F3_2Pt88_512 i`% .  
    F3_20Pt8_512 MQ][mMM;w  
    F3_720_512 `29TY&p+"  
    F5_360_512 z}}]jR \y?  
    F5_320_512 &;H{cv`  
    F5_320_1024 LU!1s@  
    F5_180_512 e1 *__'  
    F5_160_512 FgA//)1  
    RemovableMedia iZ[tHw||  
    FixedMedia )He#K+[}^4  
End Enum BH0!6Oq  
Z#`0txCF  
Private Type DISK_GEOMETRY dw@E)  
    Cylinders           As LARGE_INTEGER {gf>*  
    MediaType           As MEDIA_TYPE -7'#2P<)  
    TracksPerCylinder   As Long . ,NB( s`  
    SectorsPerTrack     As Long rqCa 2  
    BytesPerSector      As Long #:3r4J%+~  
End Type z)F#u:t  
QL"gWr`R  
'//private vars KGZ?b2N?Va  
Private hDisk           As Long             'disk handle oL/o*^  
Private lpGeometry      As DISK_GEOMETRY    'disk info hQJWKAf,/  
Private lBufferSize     As Long             'the buffer size of read/write zW{ 6Eg  
Tc ZnmN  
Public Function OpenDisk(ByVal FileName As String) As Boolean P#GD?FUc  
'// 打开磁盘 yt.c5> B^  
    hDisk = CreateFile(FileName, _ )&W|QH=AI  
                        GENERIC_READ Or GENERIC_WRITE, _ |U[y_Y\a  
                        FILE_SHARE_READ Or FILE_SHARE_WRITE, _ @kngI7=E  
                        ByVal 0&, _ v@ONo?)  
                        OPEN_EXISTING, _ ^o<:;{  
                        0, _ P`s(kIe  
                        0) eNySJf  
    OpenDisk = Not (hDisk = INVALID_HANDLE_VALUE) FyD.>ot7M  
End Function DOD6Liau{Q  
& %}/AoU  
Public Function CloseDisk() As Boolean &yH#s 8^8  
'//关闭磁盘 <z#BsnjW{  
    CloseDisk = CloseHandle(hDisk) g jG2  
End Function ]>:^d%n,}  
twqFs  
Public Function GetDiskGeometry() As Boolean O{KB0"s>i  
'//获取磁盘参数 i%(yk#=V  
    Dim dwOutBytes      As Long ZcPUtun  
    Dim bResult         As Boolean ~] =?b)B  
     CKARg8o  
    bResult = DeviceIoControl(hDisk, _ yYAnwf  
                                IOCTL_DISK_GET_DRIVE_GEOMETRY, _ t \5c@j p  
                                ByVal 0&, 0, _ ` DCU>bt&R  
                                lpGeometry, Len(lpGeometry), _ s*,cF6  
                                dwOutBytes, _ {ctwo X[;  
                                ByVal 0&) -oBI+v&  
     bLG]Wa  
    If bResult Then lBufferSize = lpGeometry.BytesPerSector * lpGeometry.SectorsPerTrack F1|zXg)  
    GetDiskGeometry = bResult rb_Z5T  
End Function 4sY[az  
d O A%F$Mk  
Public Sub GetDiskInfo(MediaType As Long, _ 9n}A ^  
                        Cylinders As Long, _ OKY+M^PP  
                        TracksPerCylinder As Long, _ xi {|  
                        SectorsPerTrack As Long, _ Mps *}9  
                        BytesPerSector As Long) f==*"?6\  
'//返回磁盘的参数 &>}.RX]t  
    MediaType = lpGeometry.MediaType \3NS>v[1  
    Cylinders = lpGeometry.Cylinders.lowpart fDuwgY0  
    TracksPerCylinder = lpGeometry.TracksPerCylinder :B#EqeI  
    SectorsPerTrack = lpGeometry.SectorsPerTrack ":WYcaSi  
    BytesPerSector = lpGeometry.BytesPerSector \v`#|lT$  
ZW ye> ]  
End Sub ;R1 B9-,  
`\FI7s3b  
Public Property Get BufferSize() As Long O4+F ^+qN  
'//返回每次读/写的缓冲大小 >7-y#SkXdo  
    BufferSize = lBufferSize =mrY/ : V  
End Property P!+v:'P5f  
9EgP9up{6!  
|Mg }2!/L  
Public Function LockVolume() As Boolean gn5% F5W  
'// 将卷锁定 :k!j"@r  
    Dim dwOutBytes  As Long O.:I,D&]  
    Dim bResult     As Boolean | 1V2tx  
     eYP=T+  
    bResult = DeviceIoControl(hDisk, _ .K9l*-e[=  
                                FSCTL_LOCK_VOLUME, _ *8!w&ME+.  
                                ByVal 0&, 0, _ 7u%a/<  
                                ByVal 0&, 0, _ 'XfgBJF=  
                                dwOutBytes, _ _%IqjJO{=r  
                                ByVal 0&) kJ8vKcc  
    LockVolume = bResult CV^0.  
End Function NXgRNca  
0M!0JJy#*  
(DJvi6\H  
Public Function UnlockVolume() As Boolean BF|*"#s  
'// 将卷解锁 .:0M+Jr"  
    Dim dwOutBytes As Long ' Js?N  
    Dim bResult As Boolean { vfq  
     GAU!_M5N  
    bResult = DeviceIoControl(hDisk, _ QP\yaPE  
                                FSCTL_UNLOCK_VOLUME, _ huAyjo  
                                ByVal 0&, 0, _ sMi{"`37  
                                ByVal 0&, 0, _ g37q/nEv  
                                dwOutBytes, _ vj3isI4lU  
                                ByVal 0&) |QYZRz  
    UnlockVolume = bResult _'JRo%{xGX  
End Function 1)U} i ^  
J/S{FxNe]  
?iln<% G  
Public Function DismountVolume() As Boolean qc0 B<,x7  
'// 将卷卸下,使系统重新辨识磁盘,等效于重新插盘 _^; ;i4VZ  
    Dim dwOutBytes As Long qyv"Wb6+  
    Dim bResult As Boolean ('WY5Yps  
     O_CT+Ou  
    bResult = DeviceIoControl(hDisk, _ RWE~&w G}  
                                FSCTL_DISMOUNT_VOLUME, _ oeN zHp_  
                                ByVal 0&, 0, _ >~&(P_<b  
                                ByVal 0&, 0, _ q:yO92Ow  
                                dwOutBytes, _ 7Dl%UG]  
                                ByVal 0&) 3_J> y  
    DismountVolume = bResult 1p CkWe  
End Function ="lI i$>O  
WFh@%j  
$9i9s4u^  
Public Function ReadDisk(ByVal Cylinders As Long, _ *CUdGI&  
                    ByVal Tracks As Long, _ 6GOg_P  
                    db() As Byte) As Boolean p37|zX  
'//按柱面和磁道来读取磁盘数据 aYj%w  
    Dim iPos    As Long wW()Zy0)  
    Dim lRead   As Long A7'bNd6f9  
     h*'d;_(,  
    iPos = Cylinders * Tracks * lBufferSize "-U3=+  
     uu3M{*}  
    If SeekAbsolute(0, iPos) Then ]31$KBC  
        ReadDisk = ReadBytes(lBufferSize, db(), lRead) TSXTc'  
    End If ;f(n.i  
End Function 5+y`P$K@  
6F ;Or  
Public Function WriteDisk(ByVal Cylinders As Long, _ n#>5?W  
                     ByVal Tracks As Long, _ 0ny{)Sd6um  
                     db() As Byte) As Boolean G7Ny"{Z  
'//按柱面和磁道来写磁盘数据 no3Z\@%  
    Dim iPos    As Long 0#`)Prop6  
    Dim lRead   As Long ~u2w`H?V  
     Qu}N:P9l?X  
    iPos = Cylinders * Tracks * lBufferSize FQ##397  
     6PJ'lA;*b  
    If SeekAbsolute(0, iPos) Then )OUU]MUH  
        WriteDisk = WriteBytes(lBufferSize, db()) ;Vo mFp L  
    End If t&pGQ  
End Function c(:Oyba  
`e*61k5  
;Id"n7W  
'///////////////////////////////////////////////////////////////////////////////////// $`Rxn*}V4#  
'//file system a 2Et,WA%  
6H6Law!)  
Private Function SeekAbsolute(ByVal HighPos As Long, ByVal LowPos As Long) As Boolean V2QW\2@$  
'//seek file N?^_=KE@  
    '//Notice: when you set LowPos=5, the read/write will begin with the 6th(LowPos+1) byte 86{ZFtv  
    LowPos = SetFilePointer(hDisk, LowPos, HighPos, FILE_BEGIN) CXa Ld7nMX  
    If LowPos = -1 Then sS'{QIRC'  
        SeekAbsolute = (Err.LastDllError = ERROR_SUCCESS) BK*UR+,  
    Else "3ug}k  
        SeekAbsolute = True ]-EN/V  
    End If YE_6OLW  
     5Jd` ^U  
End Function \4@a  
{_Np<r;j<  
-R74/GBg  
Private Function ReadBytes(ByVal ByteCount As Long, ByRef DataBytes() As Byte, ByRef ActuallyReadByte As Long) As Boolean Loc8eToZ  
'//read data to array \P?--AI q<  
    Dim RetVal    As Long ~*kK4]lP  
    RetVal = ReadFile(hDisk, DataBytes(0), ByteCount, ActuallyReadByte, 0) Fo LDMx(  
    'ActuallyReadByte =>> if the bytesRead=0 mean EOF +{0=<2(EC  
    ReadBytes = Not (RetVal = 0) . =R=cA7  
     Fv a] *5  
End Function "s;ci~$  
HqRCjD  
Private Function WriteBytes(ByVal ByteCount As Long, ByRef DataBytes() As Byte) As Boolean PHl4 vh#E!  
'//write data from array D8 wG!X  
    Dim RetVal As Long }+JLn%H)  
    Dim BytesToWrite As Long XC}1_VWs  
    Dim BytesWritten As Long .)0gz!Z  
     Xr2 Wa  
    RetVal = WriteFile(hDisk, DataBytes(0), ByteCount, BytesWritten, 0) w< mqe0  
     `OLB';D  
    WriteBytes = Not (RetVal = 0) %Y 2G  
End Function fr]Hc+7  
杺栫杣杊椌柮栬,䒴蓉艿芖。
伍胥之 离线
级别: 军区司令员

显示用户信息 
90楼  发表于: 2015-09-05   
//从指定扇区号dwSector开始,写dwLength长度的数据 ;Lqm#]C  
BOOL WriteDisk( HANDLE hpartition, DWORD dwSector, DWORD dwLength, char* lpBuffer){ _]_LF[  
DWORD dwCB; \aB&{`iG  
LARGE_INTEGER  offset; YZ{;%&rB  
offset.QuadPart  =  UInt32x32To64(dwSector ,  512); O E]~@eU  
SetFilePointer(hpartition,  offset.LowPart,  &offset.HighPart,  FILE_BEGIN); c*jr5 Y  
if(!WriteFile(hpartition, lpBuffer, dwLength * 512, &dwCB, NULL)){ e~*S4dKR  
DWORD error = GetLastError(); _Ua PwJ  
MessageBox(NULL,"写入文件失败!",NULL,IDOK); AD,@,|A  
return FALSE; LiF.w:}  
} ZgK@Fl*k  
return TRUE; !&6-(q9  
} >!<V\ Fj1  
杺栫杣杊椌柮栬,䒴蓉艿芖。
伍胥之 离线
级别: 军区司令员

显示用户信息 
89楼  发表于: 2015-09-05   
引用
引用第46楼清水于03-03-2011 14:50发表的  : k:W=5{[  
3k`NNA  
介个真的看不懂。 `c>A >c|  
你说你老啦,喜欢怀旧了,才想起来填坑。 `dP? 2-Z  
提醒我也想想,是不是也老啦,是不是也有坑没填呢。 OY$7`8M[  
Scf.4~H 0  
nWd:>Ur  
你肯定有许多坑没有填,但是我挖的坑更多,但同是我也在你的某个坑里等你填埋呢!
杺栫杣杊椌柮栬,䒴蓉艿芖。
伍胥之 离线
级别: 军区司令员

显示用户信息 
88楼  发表于: 2015-09-05   
Re:回 38楼(伍胥之) 的帖子
引用
引用第39楼suehan234于01-22-2011 08:00发表的 回 38楼(伍胥之) 的帖子 : F%9e@{  
佩服,玩也玩得这么专业! 0oXK&Z  
3{6ps : w  
<d3PDO@w/  
只是票友而已,算不上专业的。
杺栫杣杊椌柮栬,䒴蓉艿芖。
伍胥之 离线
级别: 军区司令员

显示用户信息 
87楼  发表于: 2015-09-05   
引用
引用第25楼猪小秘于01-20-2011 20:51发表的  : };4pZceV  
伍SIR,再次抱拳佩服 ~5x4?2  
" 6 uTo0  
g| _HcaW  
小秘倒是好久不见了呢!宝贝几岁了?很健康活泼吧?
杺栫杣杊椌柮栬,䒴蓉艿芖。
伍胥之 离线
级别: 军区司令员

显示用户信息 
86楼  发表于: 2015-09-05   
引用
引用第21楼阿散于06-14-2010 22:33发表的  : "YU~QOGx@  
引用第19楼伍胥之于06-14-2010 12:33发表的  : {'bkU9+  
)s[S.`S Tz  
Gkvd{G?F  
我平生唯一参加的计算机考试就是职称考试,任选4个模块。 iYs?B0*JWK  
;x C~{O  
我连一级也没有考过。 =@/^1.`  
.
eeR@p$4i  
>N"PLSY1  
引用
:v ~q  
矬子里拔将军... PsT v\!  
你们那里的俗语是吧? i]WlMC6  
p" W0$t.  
我们这里说"矮子里拔长脚"..应该是同一个意思... BJ2W }R  
_; RD-kv  
有趣....各地有表达意思一样却方式不同的俗语.... !/9Sb1_~  
gM[ J'DMW  
exU=!3Ji  
你的文章写的有脸皮,没屁眼的, h/~BUg'  
让看客大为不满... yFtf~8s3  
5Kxk9{\8  
你等着,,估计你以后接到的午夜凶铃就多了... Y-k~ 7{7  
kF~e3A7C  
B{7/A[$%C  
我到现在也没有接到你的午夜凶铃呢! Yzx0[_'u  
杺栫杣杊椌柮栬,䒴蓉艿芖。
伍胥之 离线
级别: 军区司令员

显示用户信息 
85楼  发表于: 2015-09-05   
引用
引用第17楼阿散于06-13-2010 22:29发表的  : ,1+_k ="Z  
每个人的故事对其他人都是故事, 6;V 1PK>9  
自己的故事也是其中之一. }f*S 9V  
跳出来看, K<(sqH  
不过是众人中的一个人的故事. 8Y'"=!3  
?saVk7Z[|5  
所以,接着听故事. K0a 50@B]  
%*}f<k{6  
女人们有兴趣的就等老伍开个新帖或者跟贴, Jtk(yp{Zz  
听他痛说恋爱革命历史.... aBLb i  
f_Bf}2Eedj  
杂家接着听他自学程序员历史, ^C T}i'  
高级程序员考了吗? Xh!Pg)|E  
qE=OQs9  
"b7C0NE  
这个恋爱革命史还是等你痛改前非换个新ID来讲吧! a}hM}U!  
?"u-@E[m  
我什么程度员也没有考过,连大学生的计算机应用等级证明都没有。 C{^@.8:  
Q(7l<z  
我唯一考过的计算机科目是职称评审时要求有证书,所以我用了半小时考了word, powerpoint,和internet基础。都是小儿科的东东。如果没有用VBA写个Word的宏,我都觉得对不起微软了。 9F!&y-  
杺栫杣杊椌柮栬,䒴蓉艿芖。
伍胥之 离线
级别: 军区司令员

显示用户信息 
84楼  发表于: 2015-09-05   
引用
引用第16楼阿平于06-13-2010 22:25发表的  : RUKSGj_NJ  
哦, 打倒忽悠大家的家伙.      Z ngJ9js  
UepBXt3)  
bk]|C!7$  
阿平姐,这可不是忽悠,我可是认真交待经历呢!
杺栫杣杊椌柮栬,䒴蓉艿芖。
伍胥之 离线
级别: 军区司令员

显示用户信息 
83楼  发表于: 2015-09-05   
引用
引用第10楼卡拉于06-13-2010 21:49发表的  : ;H lv  
老伍,对不住,我把你原来的英文标题改了,太不吸引人眼球了,有些人还当是英文的都不会去点击。我通篇读了一下,改成了现在的标题。如果你不喜欢,可以改回来。 yhaYlYv[_3  
gZ3!2T>  
@#apOoVW>  
其实标题没有什么,卡总既然改了就不必再改回了。 z{\.3G  
{Y Ymt!Ic  
主要是当初写的时候真是顶着锅盖写的。 >q`X%&l_  
5oS\uX|  
阿散说得对。我就是把一堆鸡毛蒜皮的小事,用了一个big title.
杺栫杣杊椌柮栬,䒴蓉艿芖。
描述
快速回复

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