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

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

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

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

精彩

感动

搞笑

开心

愤怒

无聊

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

显示用户信息 
101楼  发表于: 2024-12-28   
姐妹儿,你也快RETIRED 了, 你欠得帐我可记得呢! 你该单独开帖填坑了。 +0Rr5^8u  
^c{,QS{  
引用
引用第20楼newport93于06-14-2010 13:47发表的  : Uaho.(_GP  
XKU+'Tz  
老五,I 服了U。 j:9kJq>mv  
#D$vH  
哪一天等俺退休了,也写一个The Non-Progamming career of an ex-programmer。哈哈哈。。。。。 Sh=Px9'i  
|QvG;{!  
杺栫杣杊椌柮栬,䒴蓉艿芖。
伍胥之 离线
级别: 军区司令员

显示用户信息 
100楼  发表于: 2021-07-18   
Dim bContinue As Boolean p0xd c3  
kN4nRW9z  
Dim regEX As New RegExp bN$!G9I!,  
Dim paraCounter As Long  '全局段落计数,仅在主程序中可读写,其它过程函数应为只读 NW`.RGLI<  
aPq9^S*  
Dim LastTitle0String As String, LastTitle0No As Long a<%WFix  
Dim LastTitle1String As String, LastTitle1No As Long d]OoJK9&&  
Dim LastTitle2String As String, LastTitle2No As Long U/2g N H  
Dim LastTitle3String As String, LastTitle3No As Long _$me.  
Dim LastTitle4String As String, LastTitle4No As Long }TZ5/zn.Dw  
Dim LastTitle5String As String, LastTitle5No As Long eiJO;%fl>l  
Dim LastTabelString As String, LastTableNo As Long 7 N?x29  
Dim LastFigureString As String, LastFigureNo As Long oVsj Q  
Oph4&Ip[w  
Dim strSeperator As String 4-4lh TE(  
fn zj@_{|  
Sub ConvertWidth(fTEXT As String, rText As String) nBd!296  
        Selection.Find.ClearFormatting )*I=>v.Jq  
        Selection.Find.Replacement.ClearFormatting 9lA@ K[  
        Selection.Find.Wrap = wdFindContinue X3DXEeBEL  
        Me.txtStatus.Text = "转换全角数字字母" & fTEXT & "形式为半角" & rText j[XA"DZR<  
        DoEvents E/ <[G?  
        Selection.Find.Execute findtext:=fTEXT, replacewith:=rText, Replace:=wdReplaceAll, Forward:=True, Wrap:=wdFindContinue, MatchCase:=True ?gb"S,  
End Sub K2TO,J3 E  
?=]`X=g 6  
Sub ClearDomain() hv'~S  
        With Selection.Find sD$ \!7:b  
            .ClearFormatting ,#1 ke  
            .Replacement.ClearFormatting 3,bA&c3  
            .Wrap = wdFindContinue OYJy;u3"  
            Me.txtStatus.Text = "清除所有域代码" FX"%  
            DoEvents 8{HeHU  
            .Execute findtext:="^d", replacewith:="", Replace:=wdReplaceAll, Forward:=True, Wrap:=wdFindContinue, MatchWildcards:=False Z1FO.[FV  
        End With @^y/V@lDm  
End Sub "3{xa;c  
N7%+n*Z  
Private Sub cmdCheck_Click() z[DUktZl  
    bContinue = True 6u3DxFiTm  
    Dim NoSeries1(1 To 16) As String PXcpROg5 6  
    Dim NoSeries2(1 To 16) As String ,@=qaU  
    Dim NoSeries5(1 To 16) As String ]],6Fi+  
    Dim NoSeriesRM(1 To 16) As String N 5rY*S  
    Dim paraTotal As Long, ParaText As String Wiqy".YY  
    Dim ttString As String, ttNo As String _F^k>Lq&d  
     JEX{jf  
    Dim ShapeCounter As Long, ShapeHeight As Long, ShapeWidth As Long =z]&E 78Y  
ei;wT  
    Me.txtStatus.Visible = True 0Ng6Xg(QHc  
    Me.lbParaType.Visible = True 2 *Uwp; 0  
    Me.cmdCheck.Enabled = False ~F*pV*  
     . *>LD  
     aC>r5b#:  
     !ZbNW4rIP  
     X6 ~y+ R  
    Dim ParaType As String, rText As String 0K'lr;  
     ]<q{0.  
    Selection.WholeStory J p .Sow  
    Selection.NoProofing = True @5H1Ni5/o@  
     GA{>=Q _~  
    tm1 = Now Wxg,y{(`  
     br}.s@~  
        ActiveWindow.View.Type = wdNormalView z12[vN   
     L`YnrDZK  
    NoSeries1(1) = "一" BbZ-dXC<  
    NoSeries1(2) = "二" kL^;^!Nt  
    NoSeries1(3) = "三" ^Ois]#py  
    NoSeries1(4) = "四" H*3f8A&@s  
    NoSeries1(5) = "五" lnW/T--  
    NoSeries1(6) = "六" d3T|N\(DL  
    NoSeries1(7) = "七" `LnLd;Z  
    NoSeries1(8) = "八" >U^AIaW  
    NoSeries1(9) = "九" .b]g# Du=  
    NoSeries1(10) = "十" {nT !|S)$  
    NoSeries1(11) = "十一" YWeEvo(,=  
    NoSeries1(12) = "十二" Phl't~k  
    NoSeries1(13) = "十三" 0k>NuIIP  
    NoSeries1(14) = "十四" <pGPuw|~I  
    NoSeries1(15) = "十五" tnbaU%;|J  
    NoSeries1(16) = "十六" -9/YS  
     {a9Z<P  
    NoSeries2(1) = "㈠" 0/<}.Z]  
    NoSeries2(2) = "㈡" 6rL'hB!!]*  
    NoSeries2(3) = "㈢" !o*BRR*  
    NoSeries2(4) = "㈣" $nQ; ++  
    NoSeries2(5) = "㈤" GEwgwenv  
    NoSeries2(6) = "㈥" fcb:LPk;  
    NoSeries2(7) = "㈦"  M}}9  
    NoSeries2(8) = "㈧" &-+qB >SK>  
    NoSeries2(9) = "㈨" qt}vM*0}V  
    NoSeries2(10) = "㈩" {o7ibw=E)  
     EuqmA7s8A  
    NoSeries5(1) = "①" A6}M F  
    NoSeries5(1) = "②" =/J4(#Xb  
    NoSeries5(3) = "③" 0\wMlV`F  
    NoSeries5(4) = "④" !h7`W*::  
    NoSeries5(5) = "⑤" +DM+@F  
    NoSeries5(6) = "⑥" VG+Yhm<SL  
    NoSeries5(7) = "⑦" RMDs~  
    NoSeries5(8) = "⑧" ?V#%^ 57p  
    NoSeries5(9) = "⑨" ;u,%an<(  
    NoSeries5(10) = "⑩" m^h"VH,   
     Z;XR%n8  
     "OFYVK\]i  
    NoSeriesRM(1) = "I" =2bW"gs I  
    NoSeriesRM(2) = "II" Giz9jzF \  
    NoSeriesRM(3) = "III" \SnW(,`oX  
    NoSeriesRM(4) = "IV" }nYm^Yh  
    NoSeriesRM(5) = "V" fyx-VXu  
    NoSeriesRM(6) = "VI" 88h-.\%Z  
    NoSeriesRM(7) = "VII" e%N\Pshgv  
    NoSeriesRM(8) = "VIII" AynWs5|z=  
    NoSeriesRM(9) = "IX" whoz^n3NE  
    NoSeriesRM(10) = "X" H|T:_*5  
    NoSeriesRM(11) = "XI" 8[,,Kr)-  
    NoSeriesRM(12) = "XII" _< 69d  
    NoSeriesRM(13) = "XIII" F {]:  
    NoSeriesRM(14) = "XIV" oo3ZYA  
    NoSeriesRM(15) = "XV" ppVjFCv0<  
    NoSeriesRM(16) = "XVI" q^Lj)zmnK  
     LLg ']9  
    i = MsgBox("为了你的数据安全,请使用单独保存的文件副本进行本操作。" & vbCrLf & "确定继续进行吗?", vbYesNo) j*Q/vY!T  
     jt tlzCDn  
    If i = vbNo Then P$2J`b[H$  
        Exit Sub {gl-tRC3  
    End If @\Sa)  
     8 +xLi4Pw  
    If Me.chkSuper.Value Then _x z_D12  
        Me.txtStatus.Text = "检查修改所有的上标格式" Jd&Qi)1  
     {O#=%o[  
        CheckSuperScript }f^r@3Cb3  
         A) p}AEBc  
    End If OCo=h|qBp  
     QY-P!JD  
    If Me.chkStyle.Value Then 'Y6{89y  
        Me.txtStatus.Text = "设置样式,请稍候...." XcaY'k#  
        DoEvents NaG1j+LN  
        CeateOrModifyStyle Q5r cPU>A  
    End If J'Yj_  
     v*QobI  
     TxwZA  
     Iqe4O~)  
    ClearDomain 1QE-[|  
         /J3e[?78u  
     b0x9}  
     dnNC = siY  
    If Me.chkLIST.Value Then 5bv(J  T  
        Me.txtStatus.Text = "将所有自动列表标题转化为人工标题形式" {8Hrb^8!  
     k$}XZ,Q  
        ConvertListToOrdinary V>@NkQ<|y  
    End If 1 @E<5rp o  
     kJ>l, AD/  
     dI-=0v-|  
    Dim pType As String, trimpTEXT As String 5h+g^{BE  
    If Me.chkNum.Value = True Then CBs0>M/  
        Me.txtStatus.Text = "转换全角数字形式为半角" u7fae$:&  
        ConvertWidth "1", "1" &pK1S>t  
        DoEvents C>N)~Ut  
        ConvertWidth "2", "2" A2uSH@4  
        DoEvents W DY,?  
        ConvertWidth "3", "3" ;38DBo  
        DoEvents l+ bP48  
        ConvertWidth "4", "4" Lh"Je-x<<  
        DoEvents nWbe=z&y8[  
        ConvertWidth "5", "5" 4eYj.=I  
        DoEvents O\XN/R3  
        ConvertWidth "6", "6" W$B>O  
        DoEvents iYHD:cg)~  
        ConvertWidth "7", "7" i+Px &9o<9  
        DoEvents ]&yO>\MgJB  
        ConvertWidth "8", "8" k x6%5%  
        DoEvents !zvKl;yT  
        ConvertWidth "9", "9" '\l(.N  
        DoEvents w@X<</`  
        ConvertWidth "0", "0" r3hj GcpaX  
        DoEvents 6"[`"~9'V  
        ConvertWidth "a", "a" jr*A1y *  
        DoEvents ;yY>SaQ  
        ConvertWidth "b", "b" sBu=@8R]y  
        DoEvents g {8>2OK$c  
        ConvertWidth "c", "c" : r:5a(sq  
        DoEvents X82sw>Y  
        ConvertWidth "d", "d" wX#=l?,K  
        DoEvents Dq*>+1eW2  
        ConvertWidth "e", "e" m=PSC Ib  
        DoEvents /%$'N$@f  
        ConvertWidth "f", "f" <'-}6f3  
        DoEvents `9s5 *;Z  
        ConvertWidth "g", "g" U[c,cdA  
        DoEvents q*@7A6:FV>  
        ConvertWidth "h", "h" 9HRYk13ae  
        DoEvents )1lR;fD  
        ConvertWidth "i", "i" xRP#}i:m  
        DoEvents W*u Yb|0  
        ConvertWidth "j", "j" f<uLbJ6  
        DoEvents T WEmW&Q  
        ConvertWidth "k", "k" zbx,qctYo$  
        DoEvents 8Y sn8  
        ConvertWidth "l", "l" !a ~>;+  
        DoEvents mDvZ 1aj  
        ConvertWidth "m", "m" D^04b< O<x  
        DoEvents ^] Lr_k  
        ConvertWidth "n", "n" {_ww1'|A  
        ConvertWidth "o", "o" ^;c!)0Q<Z  
        ConvertWidth "p", "p" ^g~Asz5]  
        ConvertWidth "q", "q" ]$4 k+)6  
        ConvertWidth "r", "r" p44d&9  
        ConvertWidth "s", "s" C:_!zY'z  
        ConvertWidth "t", "t" aIRCz=N  
        ConvertWidth "u", "u" n+rAbn5o$  
        ConvertWidth "v", "v" K4N~ApLB+  
        ConvertWidth "w", "w" b,~4O~z  
        ConvertWidth "x", "x" %$Wt"~WE"O  
        ConvertWidth "y", "y" |`U^+Nf  
        ConvertWidth "z", "z" :!N 5daK  
        ConvertWidth "A", "A" EfcoJgX  
        ConvertWidth "B", "B" [}9R9G>"  
        ConvertWidth "C", "C" ZdlZ,vK^.  
        ConvertWidth "D", "D" PsEm(.z  
        ConvertWidth "E", "E" _|wgw^.LJ]  
        ConvertWidth "F", "F" Up*p*(d3  
        ConvertWidth "G", "G" cA`R~o"  
        ConvertWidth "H", "H" V (= ~p[  
        ConvertWidth "I", "I" OlRBv foh8  
        ConvertWidth "J", "J" 6WgGewn  
        ConvertWidth "K", "K" 2 Nr j@q  
        ConvertWidth "L", "L" MH'S,^J  
        ConvertWidth "M", "M" _w Cp.[3?t  
        ConvertWidth "N", "N" `{N0+n  
        ConvertWidth "O", "O" ' ,a'r.HJH  
        ConvertWidth "P", "P" pYI`5B4  
        ConvertWidth "Q", "Q" D+ LeZBJ  
        ConvertWidth "R", "R" d&w g\"E  
        ConvertWidth "S", "S" (pH13qU5  
        ConvertWidth "T", "T" [O&2!x  
        ConvertWidth "U", "U" be$wG O=Ts  
        ConvertWidth "V", "V" zr\I1v]?1#  
        ConvertWidth "W", "W" "|]'\4UdzQ  
        ConvertWidth "X", "X" L<J';#BD  
        ConvertWidth "Y", "Y" PX(.bP2^Lq  
        ConvertWidth "Z", "Z" 2!-ZNd:(+  
        ConvertWidth "^l", "^p" Zu_m $Mx  
        ConvertWidth "(", "(" c*1t<OAS~  
        ConvertWidth ")", ")" 3:Y ZC9  
     W~POS'1  
    End If bb$1RLyRL  
8P Dt 7 \  
    With ActiveDocument v~?d7p {  
        Dim tbl As Table giyKEnP  
        For Each tbl In .Tables s IY`H^  
            tbl.Rows.Alignment = wdAlignRowCenter tcwE.>5O  
            tbl.Range.Font.NameFarEast = "楷体" y!1%Kqx1,n  
            tbl.Range.Font.NameAscii = "Times New Roman" Ua,Lg.z  
            tbl.Range.Font.Size = 10.5 9|D!&=8   
        Next ]V<[W,*(5  
        Set tbl = Nothing p;"pTGoW i  
    End With ?< #6=  
     ya5;C"   
     {Lk~O)E  
    With ActiveDocument /$! / F@^  
         Z$k4T$,[-  
        For i = 1 To .TablesOfContents.Count Gz+Bk5#{  
            .TablesOfContents(i).Delete tt{,f1v0t  
        Next 3K@dW"3  
         zn_InxR  
         gv r "F  
         @%O"P9;s  
        paraTotal = .Paragraphs.Count uPsn~>(4  
        paraCounter = 1 pOyM/L   
         Vu* yEF}  
        LastTitle0No = 0 DCPK1ql  
        LastTitle1No = 0 ot;j6eAH~E  
        LastTitle2No = 0 b guhx3s  
        LastTitle3No = 0 G{knO?BK  
        LastTitle4No = 0 DFwkd/3"  
        LastTableNo = 0 a,#f%#J\  
        LastFigureNo = 0 sI@m"A  
         c;&m}ImLe.  
        Dim Sec As Long ..Zuy|?w  
         }wC pr.@  
        Sec = InputBox("正文从第一节开始?", "节设置", 6) /wljb b/s  
        If Sec = 0 Then aM9^V MOb  
            Exit Sub w[uK3Av  
        End If go|/I&  
         ' 6Ybf  
        k = 0 ]chcRc[!  
        Do While (paraCounter < paraTotal) And bContinue Fs|fo-+H}k  
            k = k + 1 x9a*^l  
            If .Paragraphs(paraCounter).Range.Information(wdActiveEndSectionNumber) >= Sec Then W7WHH \L/O  
                Exit Do '8 1M%KO  
            End If t*.O >$[  
            paraCounter = paraCounter + 1 fYuJf,I[f  
            If k Mod 20 = 0 Then ]sd|u[:k  
                Me.lbCounter.Caption = paraCounter XK`>#*"V  
                DoEvents j_L 'Ztu3  
            End If ^Gq4Yr  
        Loop (i.MxG Dd  
         D}SRr,4v  
         2rB$&>}T  
        Do While (paraCounter < paraTotal) And bContinue 0F1 a  
             Cj _Q9/  
            ParaText = Trim(.Paragraphs(paraCounter).Range.Text) zg.'  
            ShapeHeight = 0 54JZEc  
            ShapeWidth = 0 ua0`&,a3I  
           oA(jtX[(  
            CheckPara .Paragraphs(paraCounter).Range, ParaType, rText, ttString, ttNo, ShapeCounter, ShapeHeight, ShapeWidth )xiic3F  
             dFjB &#Tl  
            Select Case ParaType 0<>I\UN0b  
                Case "【】表格内容" AZ(["kh[  
                    .Paragraphs(paraCounter).Style = "QLNU表格内容" WLP A51R  
                Case "章" z;zy k  
                    LastTitle0No = LastTitle0No + 1 7Z0 )k9*  
                    '新一章开始,复位其下属标题编号 X{| 1E85fl  
                    LastTitle1No = 0 L oe!@c  
                    LastTitle2No = 0 Ih;6(5z  
                    LastTitle3No = 0 pT>[w1Kk^  
                    LastTitle4No = 0 ^ W eE%"  
                     `pn]jpW9  
                    k = Val(ttNo) ?#-"YO7  
                    If k = 0 Then '非数字编号章节 X)e6Y{vO  
                        If ttNo <> NoSeries1(LastTitle0No) Then 7ib~04  
                            rText = "第" & NoSeries1(LastTitle0No) & ttString Y 1rU  
                            Me.ErrMsg.AddItem "章节编号错误:" & ParaText glH&v8  
                        End If mv/'H^"[_  
                    Else |+~CdA  
                        If Val(ttNo) <> LastTitle0No Then -w1U /o.  
                            rText = "第" & LastTitle0No & ttString rqxoqcZ  
                            Me.ErrMsg.AddItem "章节编号错误:" & ParaText MSUkCWt!  
                        End If Dq)V] Zx  
                         k_r12 Bu  
                    End If C;0H _  
                     *Y?rls`  
                    '章段落设置 KqP! ={>"  
                    '字体大小:三号16磅小三号15磅四号14磅小四号12磅五号10.5磅小五号9磅 >DBaKLu\  
                    .Paragraphs(paraCounter).Style = "QLNU章节" I+kGEHO}  
                    .Paragraphs(paraCounter).Range.Select c_~)#F%P  
                    Selection.EndKey unit:=wdLine 9.m_ 3"s  
                    tc = Replace(rText, vbCr, "") L~"~C(g  
                    Selection.Fields.Add Range:=Selection.Range, Type:=wdFieldEmpty, Text:="TC  """ & tc & """ \l 1 ", PreserveFormatting:=False TbXp%O:[W  
                Case "一级标题" >~){KV1~  
                    LastTitle1No = LastTitle1No + 1 MBIt)d@Ix  
                    '新一级标题开始,复位其下属标题编号 >to NGGU=~  
                    LastTitle2No = 0 >)R7*^m{'  
                    LastTitle3No = 0 N$aLCX  
                    LastTitle4No = 0 x>A(016:C  
                     beRpA;  
                    If ttNo <> NoSeries1(LastTitle1No) Then .>zXz%p  
                            rText = NoSeries1(LastTitle1No) & "、" & ttString .5p"o-:D  
                            Me.ErrMsg.AddItem "一级标题编号错误:" & ParaText R(74Px,/  
                    End If B# |w}hj  
                   2oXsPrtZ  
                     H1y l88K  
                    '一级标题段落设置  格式:一、标题内容 Om0Z\GP=  
                    .Paragraphs(paraCounter).Range.Text = rText r,(rWptf4  
                    .Paragraphs(paraCounter).Style = "QLNU一级标题" f$Nz).(  
                    .Paragraphs(paraCounter).Range.Select 'v GrbmK  
                    Selection.EndKey unit:=wdLine e4b`C>>  
                    tc = Replace(rText, vbCr, "") I5mnV<QA^  
                    Selection.Fields.Add Range:=Selection.Range, Type:=wdFieldEmpty, Text:="TC  """ & tc & """ \l 1 ", PreserveFormatting:=False 4`o_r%   
                Case "二级标题" b] DF7 U  
                    LastTitle2No = LastTitle2No + 1 Gw:8-bxS  
                    '新二级标题开始,复位其下属标题编号 elG<\[  
                    LastTitle3No = 0 ^Y8?iC<+  
                    LastTitle4No = 0 skh6L!6*<  
                     - jfZLO4  
                    If ttNo <> NoSeries1(LastTitle2No) Then {VE\}zKF  
                            rText = "(" & NoSeries1(LastTitle2No) & ")" & ttString v?,_SVgAi  
                            ErrMsg.AddItem "二级标题编号错误:" & ParaText ZN~:^,PO/  
                    End If "EQ`Q=8  
                     %{!*)V\  
                    '二级标题段落设置 格式:(一)、标题内容 p[4KN(PyK  
                    .Paragraphs(paraCounter).Range.Text = rText x~j>Lvw L  
                    .Paragraphs(paraCounter).Style = "QLNU二级标题" BD&Jb H!(  
                     w= |).qQ]  
                    .Paragraphs(paraCounter).Range.Select hk3}}jc  
                    Selection.EndKey unit:=wdLine )'?3%$EM  
                    tc = Replace(rText, vbCr, "") -%E+Yl{v  
                    Selection.Fields.Add Range:=Selection.Range, Type:=wdFieldEmpty, Text:="TC  """ & tc & """ \l 2 ", PreserveFormatting:=False T6=,A }t-  
                 &#;vR 0O  
                Case "三级标题" 0UB)FK ,9  
                    LastTitle3No = LastTitle3No + 1 |a%&7-;   
                    '新三级标题开始,复位其下属标题编号 luACdC  
                    LastTitle4No = 0 (TM1(< j  
                     n2zJ'  
                    If Val(ttNo) <> LastTitle3No Then ;+'x_'a  
                            rText = LastTitle3No & ". " & ttString &|'1.^f@;E  
                            Me.ErrMsg.AddItem "三级标题编号错误:" & ParaText =H%c/Jty  
                         5D8V)i  
                    End If wS-D"\4/  
                    '三级标题段落设置 格式:1. 标题内容 -Ob'/d5&  
                    .Paragraphs(paraCounter).Range.Text = rText ]R32dI8N  
                    .Paragraphs(paraCounter).Style = "QLNU三级标题" m Y*JNx  
                    .Paragraphs(paraCounter).Range.Select #f0J.)M  
                    Selection.EndKey unit:=wdLine l ~C YxO  
                    tc = Replace(rText, vbCr, "") =3$JeNK9  
                    Selection.Fields.Add Range:=Selection.Range, Type:=wdFieldEmpty, Text:="TC  """ & tc & """ \l 3 ", PreserveFormatting:=False yDg`9q.ckm  
                Case "四级标题" i+( k  
                    LastTitle4No = LastTitle4No + 1 w6zB uW  
                     KC9_H>  
                    If Val(ttNo) <> LastTitle4No Then L:nZ_O;  
                            rText = "(" & LastTitle4No & "). " & ttString ~ OD}`  
                            ErrMsg.AddItem "四级标题编号错误:" & ParaText ekND>Qjj  
                     .:A9*,  
                    End If VI: !#  
                    '四级标题段落设置 格式:(1). 标题内容 rz+)z:u  
                    .Paragraphs(paraCounter).Range.Text = rText -`sK?*[{J  
                    .Paragraphs(paraCounter).Style = "QLNU四级标题" &<2~7?$!  
                    .Paragraphs(paraCounter).Range.Select JWoNP/v6  
                    Selection.EndKey unit:=wdLine xa5^h]o   
                    tc = Replace(rText, vbCr, "") ;9PJ K5>~  
                    Selection.Fields.Add Range:=Selection.Range, Type:=wdFieldEmpty, Text:="TC  """ & tc & """ \l 4 ", PreserveFormatting:=False (S$ziV  
                 m^Qc9s#D  
                Case "表格标题" 62TWqQ!9d  
                    LastTableNo = LastTableNo + 1 N_(qMW  
                     &\#If:  
                    If ttNo <> CStr(LastTableNo) Then 9dn~nnd'n  
                            rText = "表" & LastTableNo & ". " & ttString u&z5)iU  
                            ErrMsg.AddItem "表格编号错误:" & ParaText 4/vQ/>c2j  
                   Aj((tMJNOw  
                    End If ]&w8"q  
                     FpN>T  
                    '表格名称段落设置 格式:表1. 表格名称 uDvZ]Q|.  
                    .Paragraphs(paraCounter).Style = "QLNU表格标题" \B/ +.\  
                    xe = Replace(rText, vbCr, "") F`IV9qv  
                    .Paragraphs(paraCounter).Range.Select o *)>aw  
                    Selection.MoveEnd wdCharacter, -1   '选择范围包括行尾的换行符。 *`&4< >=n  
                    Selection.Range.Text = xe 1 41@$mMzE  
                    Selection.EndKey Z`y%#B6x.  
                    Selection.Fields.Add Range:=Selection.Range, Type:=wdFieldEmpty, Text:="XE  " & """" & xe & """", PreserveFormatting:=False z2*>5 c%  
                 F6J,:  
                Case "表格首行" !LB#K?I  
                    .Paragraphs(paraCounter).Style = "QLNU表格首行" 1O3"W;SR<:  
                Case "图片标题" c}v>Mx  
                    LastFigureNo = LastFigureNo + 1 OPOL-2<wiy  
                     LI1OocY.]  
                    If ttNo <> CStr(LastFigureNo) Then )65 o  
                            rText = "图" & LastFigureNo & ". " & ttString nb ::,  
                            ErrMsg.AddItem "表格编号错误:" & ParaText 2XI%z4\)!  
                   5V5Nx(31i  
                    End If luXcr H+w  
                    '图片名称段落设置 格式:图1. 图名称 D@A@5pvS  
                    .Paragraphs(paraCounter).Range.Text = rText Y` t-Bg!~  
                    .Paragraphs(paraCounter).Style = "QLNU图片标题" Mhp6,JL  
                    .Paragraphs(paraCounter).Range.Select VN6h:-&iY  
                    Selection.EndKey unit:=wdLine -X BD WV  
                    xe = Replace(rText, vbCr, "") 1ml>  
                    Selection.Fields.Add Range:=Selection.Range, Type:=wdFieldEmpty, Text:="XE  " & """" & xe & """", PreserveFormatting:=False gg $/  
                Case "正文" `d]D=DtH  
                     '正文名称段落设置 +NWhvs  
                    .Paragraphs(paraCounter).Style = "QLNU正文" ^h #0e:7<  
               Case "文献条目" vncLB&@7  
                    With .Paragraphs(paraCounter) z/Z 0cM#  
                        '.Range.Select "I+71Ce  
                        'Selection.ClearFormatting @c,Qj$\1  
                        '.Range.Find.Execute findtext:=rText, replacewith:=strSeperator   'Replacetext 传回了编号及分隔符部分, 而StrSeperator传回了正确的格式与分隔符如“[15] ” 8 :B(}Y4K  
                        .Style = "QLNU参考文献" O(q1R#n-}+  
                    End With p?F%a;V3  
               Case "图表注解" t)o!OEnE  
                    With .Paragraphs(paraCounter) uvC ![j^~  
                        .Range.Font.NameFarEast = "楷体" WX<),u2@  
                        .Range.Font.NameAscii = "Times New Roman" kEiWE|  
                        .Range.Font.Size = 9 '小5号字 M9so3L<N0  
                         tk=~b} 8  
                        .Alignment = wdAlignParagraphCenter F7[ 55RcP  
                        .LeftIndent = 0 w 6FtDl$  
                        .RightIndent = 0 F|9:$Jpw!  
                        .FirstLineIndent = 0 Zpc R   
                        .LineSpacing = 12 v d A 3  
                        .LineSpacingRule = wdLineSpaceExactly fGGGz$;N  
                        .LineUnitAfter = 0 12r]"?@|s  
                        .LineUnitBefore = 0 =E$Hq4I  
                        .OutlineLevel = wdOutlineLevelBodyText $p? gai{o  
                        .PageBreakBefore = False 1 ? be  
                        .RightIndent = 0 ukNB#2 "  
                        .WordWrap = True 0*$?=E  
                        .LineUnitAfter = 0.5 1@" L  
                         |uL"/cMW7  
                    End With **p|g<wvY*  
                Case Else L *",4!  
                    '不作处理 r0jhIE#  
            End Select Zw6UH;5  
             Tk1U  
            '含有inlineshape的段落处理 ~Y;_vU  
            If ShapeHeight > 30 Then mz)Z =`hy  
                .Paragraphs(paraCounter).LineSpacingRule = wdLineSpaceSingle  '对有图片的段落设置为单倍行距 [HO=ii]Wb  
            End If $}_a`~u  
             )~@iM.}S2  
            If (ShapeWidth + ShapeHeight) > 150 Then f4{O~?=  
                .Paragraphs(paraCounter).Style = "QLNU图片段落" qcpAjjK  
            End If X|] &K  
             wP:ab  
            '段落计数器递 J R>v  
            paraCounter = paraCounter + 1 ^}Vx5[  
            Me.lbCounter.Caption = "当前检测段落:" & paraCounter gLp7<gx6  
            Me.txtStatus.Text = ParaText R;D|To!  
            DoEvents X'[93 C|K  
        Loop .$&_fUY  
    End With BhFyEY(  
     a(cZ]`s]*  
    msg = "" \ k&(D*u  
     luLt~A3H$  
    For i = 0 To Me.ErrMsg.ListCount - 1 >Vp #   
        msg = msg & vbCrLf & vbCrLf & Me.ErrMsg.List(i) =XAFW  
    Next DVC<P}/  
     jiAKV0lX W  
     BuwJR Ql.  
     !.\-l2f  
    Me.txtStatus.Text = "格式化完成!" & vbCrLf & "开始时间:" & tm1 & vbCrLf & "结束时间:" & Now & vbCrLf & msg y*K]z  
    Me.cmdCheck.Enabled = True #>)OLKP  
    Me.txtStatus.Visible = True |a! y%R=  
    Me.lbParaType.Visible = False |Iq#Q3w  
     lHl1Ny\?  
    bContinue = False FQ6jM~  
End Sub oW7\T !f  
Xh'_Vx{.j`  
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) _}G1/`09#  
    Dim pTEXT As String #i6ZY^+ee  
     Zq[aC0%+  
    pTEXT = ChKRange.Text N5m+r.<;  
     M{)7C,'  
    ParaType = "其它" [OTZ"XQLI  
    TitleString = pTEXT 0=g~ozEW&  
    TitleNo = "N/A" ?-.Qv1hs6p  
     V'n4iM  
    shpCounter = ChKRange.InlineShapes.Count `]*BDSvE  
    If shpCounter <> 0 Then L`"B;a&  
        MaxShpHeight = 0: TotalShpWidth = 0 (Qf"|3R4  
        For i = 1 To shpCounter ZV,1IaO  
            k = ChKRange.InlineShapes(i).Height 3/d`s0O  
            l = ChKRange.InlineShapes(i).Width [*i6?5}-  
            If k > MaxShpHeight Then Dq$co1eT  
                MaxShpHeight = k 'UW]~  
            End If C{g Y*+  
            TotalShpWidth = TotalShpWidth + l y*6-?@  
        Next *(c><N  
        If MaxShpHeight > 60 Or TotalShpWidth > 150 Then 6KpG,%2L#  
            Exit Sub 1 UyQ``v/  
        End If dJ/(u&N  
    End If /U1&#"P  
     (}^Qo^Vr  
    '空行 P/9iB/  
    If Len(pTEXT) <= 2 Then Gh.@l\|tf  
        Exit Sub xNLvK:@0p  
    End If h 7x_VO  
     Y#[Wv1hi  
         O\;R (  
    '是否为表格中的文字 >S]_{pb  
    If ActiveDocument.Paragraphs(paraCounter).Range.Information(wdWithInTable) Then d]bM,`K* 6  
        ParaType = "表格内容" A]x'!qa@=  
        k = ActiveDocument.Paragraphs(paraCounter).Range.Information(wdEndOfRangeRowNumber) s"jNS1B  
        If k = 1 Then !/]vt?v#^  
            ParaType = "表格首行" \7l% @  
        End If cx_.+R  
        Exit Sub . PAR  
    End If cwK+{*ZH/  
     1ig#|v*+  
    '例外情况:脚注 =A yDVWpE  
    If ActiveDocument.Paragraphs(paraCounter).Range.Information(wdInFootnote) Then dF (m!P/R  
        ParaType = "脚注" *d%U]Hby,  
        Exit Sub aM2[<m}  
    End If xW hi>  
     ZA;VA=)\8  
    '例外情况:尾注 FXF#v>&  
    If ActiveDocument.Paragraphs(paraCounter).Range.Information(wdInEndnote) Then t93iU?Z  
        ParaType = "尾注" X!'nfN  
        Exit Sub 'OERW|BO  
    End If Z{#;my*X|  
     "~-Y 'O  
    If ActiveDocument.Paragraphs(paraCounter).Range.Information(wdInHeaderFooter) Then ueimTXk  
        ParaType = "页眉页脚" 3jaY\(`%h  
        Exit Sub YY? }/r  
    End If S z qY@  
     jjbw+  
     ;R#:? r;t  
    With regEX 4R8W ot  
        .Global = True k~P{Rm;F  
         {\ 87]xJ  
        .Pattern = "^第([1-9]|1|2|3|4|5|6|7|8|一|二|三|四|五|六|七|八|九|十)章(、|\.|\s|。|.)+(.{1,30})$" +0)zB;~7  
        If regEX.Test(pTEXT) Then OI0tgkG  
            ReplaceTEXT = regEX.Replace(pTEXT, "第$1章 $3") z'9Mg]&>  
            TitleString = regEX.Replace(pTEXT, "$3") (";{@a %  
            TitleNo = regEX.Replace(pTEXT, "$1") ga#Yd}G^~3  
            ParaType = "章" zc,kHO|  
            Exit Sub utJz e  
        End If  ~wX4j  
         fD>0  
        .Pattern = "^(十一|十二|十三|十四|十五|十六|一|二|三|四|五|六|七|八|九|十)(、|\.|\s|。|.)+(.{1,40})$" 'J0Erk8(  
        If regEX.Test(pTEXT) Then "?[7oI}c&  
            ParaType = "一级标题" Xfq]vQ/{  
            regEX.Execute (pTEXT) E\ 'X|/$a  
            ReplaceTEXT = regEX.Replace(pTEXT, "$1、$3") ?n]e5R(cj  
            TitleString = regEX.Replace(pTEXT, "$3") l>H G|ol  
            TitleNo = regEX.Replace(pTEXT, "$1") _jhdqON6E  
            Exit Sub BUp,bJpO  
        End If Wd 0$t    
         0lyCk }c  
        '全角或半角括号中的数字 }'o[6#_*X  
        .Pattern = "(^\(|()(十一|十二|十三|十四|十五|十六|一|二|三|四|五|六|七|八|九|十)(\)|))(、|\.|\s|。|.)*(.{1,40})$" [+j39d.Q  
        If regEX.Test(pTEXT) Then QqS?-   
            ParaType = "二级标题" X yM?Dc5,  
            regEX.Execute (pTEXT) P0/B!8x  
            ReplaceTEXT = regEX.Replace(pTEXT, "($2)$5") P@RUopu,i  
            TitleString = regEX.Replace(pTEXT, "$5") `/1Zy}cD  
            TitleNo = regEX.Replace(pTEXT, "$2") 9F *],#ng  
            Exit Sub vW\|% @hW,  
        End If 8N58w)%7`  
         NbDfD3 1GK  
        '阿拉伯数字  1. 2. K9BoIHo  
        .Pattern = "^([1-9]|1|2|3|4|5|6|7|8|9|0){1,2}(、|\.|\s|。|.)+(.{1,80})$" g;M\4o  
        If regEX.Test(pTEXT) Then s</llJ$  
            ParaType = "三级标题" ~582'-=+  
            regEX.Execute (pTEXT) A \6Q*VhK  
            ReplaceTEXT = regEX.Replace(pTEXT, "$1. $3") '未进行全半角转换,如需要可分成两步分别检测 Qey6E9eCA  
            TitleString = regEX.Replace(pTEXT, "$3") p]7Gj &a  
            TitleNo = regEX.Replace(pTEXT, "$1") wd=xs7Dz<p  
            Exit Sub t G{?  
        End If &R'%OFi  
         &;V3[ *W"  
        '全角或半角括号中的阿拉伯数字 WecJ^{g>r{  
        .Pattern = "^(^\(|()([0-9]|0|1|2|3|4|5|6|7|8|9){1,2}(\)|))(、|\.|\s|。|.)*(.{1,80})$" /p&)bL  
        If regEX.Test(pTEXT) Then x>$ ! R\Cj  
            ParaType = "四级标题" CYxrKW l:'  
            regEX.Execute (pTEXT) qL\*rYe<  
            ReplaceTEXT = regEX.Replace(pTEXT, "($2) $5") REmD*gf  
            TitleString = regEX.Replace(pTEXT, "$5") 7+h*&f3>  
            TitleNo = regEX.Replace(pTEXT, "$2") 2k^dxk~$V;  
            Exit Sub INHN=KY{  
        End If 4-YXXi}  
         rX8EXraO  
        '表格名称 VB?mr13}G  
        .Pattern = "^表(\d{1,2}-{0,1}\d{0,1})([、|\.|。|.|\s]{1,9})(.{1,120})$" q|8p4X}/]  
        If regEX.Test(pTEXT) Then l imzDQ^  
            ParaType = "表格标题" o`@B*, @  
            regEX.Execute (pTEXT) c/c%-=  
            ReplaceTEXT = Trim(regEX.Replace(pTEXT, "表$1. $3")) -6()$cl}0  
            TitleString = Trim(regEX.Replace(pTEXT, "$3")) kOe~0xoT@u  
            TitleNo = Trim(regEX.Replace(pTEXT, "$1")) gUrb&#\X  
            strSeperator = Trim(regEX.Replace(pTEXT, "$2")) '不知道为什么,但是发现传回的replacetext在修改Paragraph对象的Range.Text后,表格标题就会落入第一个单元格中,所以,只能用Paragraph.Range.Find.Execute方法替换 ,Cj8{s&;  
            Exit Sub 7%(|)3"V  
        End If wq( m%F  
         v7l4g&  
        '图片名称 D(GAC!|/]  
        .Pattern = "^图(\d{1,2}-{0,1}\d{0,1})(、|\.|\s|。|.)+(.{1,120})$" JKFV7{ %Gl  
        If regEX.Test(pTEXT) Then (\^)@Y  
            ParaType = "图片标题" j& S8x|5  
            regEX.Execute (pTEXT) 8J- ;/  
            ReplaceTEXT = regEX.Replace(pTEXT, "图$1. $3") fGv`.T_d  
            TitleString = regEX.Replace(pTEXT, "$3") kZlRS^6  
            TitleNo = regEX.Replace(pTEXT, "$1") Q9~UL^bF  
            Exit Sub P'nbyF  
        End If kS>'6xXH  
         K 7x,>  
        '参考文献 =&- hU|ur  
        .Pattern = "^([\[|[])(\d+)([]|\]])([、|\.|\s|。|.]{0,1})"  '[数字]、 Q~'a1R  
        If regEX.Test(pTEXT) Then oc2aE:>X  
            ParaType = "文献条目" ,u,]ab  
            'ReplaceTEXT = regEX.Replace(pTEXT, "$1$2$3$4") ,8F?v~C  
            'TitleNo = regEX.Replace(pTEXT, "[$2] ") UJ0Dy ` f  
            Exit Sub  xYMNyj~  
        End If R.g'&_zx  
         AlQ!Q)y<@  
        prfx = Left(pTEXT, 2) @QAyXwp  
        If prfx = "注:" Or prfx = "注:" Then j=^b'dyL  
            ParaType = "图表注解" !6wbg  
            Exit Sub P7Th 94  
        End If 3,K*r"=  
         3xW;qNj:!l  
         ;'Pi(TA)  
        ParaType = "正文" 'z#{'`$a  
         b W`@9 =E  
    End With O ).1>  
End Sub q5$z:'zE  
RfT#kh/5  
Sub ConvertListToOrdinary() u&=SZX&G k  
    Dim st As Paragraph %5_eos&<^)  
    With ActiveDocument 6]|NB &  
        For i = .Paragraphs.Count To 1 Step -1 zr0_SCh;2  
            Set st = .Paragraphs(i) ==psPyLF@  
            lst = st.Range.ListFormat.ListString ,x+_/kqx  
            If lst <> "" Then ZOFBT(oV  
                st.Range.ListFormat.RemoveNumbers `TkI yGr  
                st.Range.InsertBefore lst & " " |U_48  
            End If k?.HW?=zy  
        Next ?-FSDNQ  
    End With C { }s  
    Set st = Nothing T#lySev  
End Sub |wf: |%  
if u "e_^  
Private Sub UserForm_Activate() Fj Up+5  
    Me.lbTotal.Caption = "当前文章段落总数:" & ActiveDocument.Paragraphs.Count & " 共" & ActiveDocument.Sections.Count & "节" F:/R'0  
    Me.lbTotal.Font.Bold = True "9[K  
    Me.txtStatus.Visible = False cLQvzd:h=  
    Me.cmdCheck.Enabled = True OpwZTy}1}  
y*M,&,$  
End Sub J! 4l-.-  
S?{|qlpy  
f77uqv(Y  
Sub CheckSuperScript() -5NP@  
    Selection.Find.ClearFormatting -(n[^48K  
    Selection.Find.Replacement.ClearFormatting O=1 uF  
    With Selection.Find P o[u6K2&  
        .Text = "[【\[[〖](*)[】\]〗]]" ?l_>rSly5  
        .Replacement.Text = "[\1]" h(;qnV' c  
        .Replacement.Font.Superscript = True X$O,L[] 4  
        '.Replacement.Font.Color = wdColorBlue b'$j* N  
        .Forward = True uP/WRQ{rW>  
        .Wrap = wdFindContinue }9=\#Le~\  
        .FORMAT = True @1 #$  
        .MatchCase = False #lyvb.;  
        .MatchWholeWord = False o} #nf$v(  
        .MatchByte = False 6e@ O88=  
        .MatchAllWordForms = False  ?4 `K8  
        .MatchSoundsLike = False V*l0| ,9  
        .MatchWildcards = True cU25]V^{\  
    End With [Cz.K?+#M  
    Selection.Find.Execute Replace:=wdReplaceAll (k"oV>a|  
End Sub j$*]'s&_hZ  
1Tn!.E *  
Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer) %iI0JF*E z  
    bContinue = False +a&-'`7g  
    Set regEX = Nothing 4\q7.X+^  
End Sub N0c+V["s  
g<s[6yA  
Sub CeateOrModifyStyle() B{ N KDkDH  
' b`n+[UCPtn  
' ay2 m!s Q  
Dim stl As Style ]xfAdBi  
     oHmU|  
    Options.Pagination = False p[e|N;W8A  
     !oU$(,#9  
    On Error Resume Next /KEPPp  
    For Each stl In ActiveDocument.Styles  "7!K'i  
        stl.Delete &7 }!U  
    Next u[U~`*i*rA  
    On Error GoTo 0 jlER_I]  
     vd-`?/,||  
    Set stl = Nothing 8w| j Z@  
     H ^Xw<Z=  
    DoEvents I}Z [F,}*J  
    On Error Resume Next >taS<.G  
     ( $3j  
    ActiveDocument.Styles.Add Name:="BaseStyle", Type:=wdStyleTypeParagraph Y*``C):K%  
     q[]!V0Ek10  
    ActiveDocument.Styles.Add Name:="QLNU论文题目", Type:=wdStyleTypeParagraph "b*.>QuZ  
    ActiveDocument.Styles.Add Name:="QLNU中文摘要", Type:=wdStyleTypeParagraph ~(B\X?v  
     1h\:Lj  
    ActiveDocument.Styles.Add Name:="QLNU英文标题", Type:=wdStyleTypeParagraph =JyYU*G4  
    ActiveDocument.Styles.Add Name:="QLNU英文摘要", Type:=wdStyleTypeParagraph ^(8 i` `V  
     _Qt qQ~f  
    ActiveDocument.Styles.Add Name:="QLNU目录项", Type:=wdStyleTypeParagraph FTt7o'U  
    ActiveDocument.Styles.Add Name:="QLNU章节标题", Type:=wdStyleTypeParagraph !^ 6x64r  
    ActiveDocument.Styles.Add Name:="QLNU一级标题", Type:=wdStyleTypeParagraph  Iz2K  
    ActiveDocument.Styles.Add Name:="QLNU二级标题", Type:=wdStyleTypeParagraph =&,zWNz)  
    ActiveDocument.Styles.Add Name:="QLNU三级标题", Type:=wdStyleTypeParagraph QEM")(  
    ActiveDocument.Styles.Add Name:="QLNU四级标题", Type:=wdStyleTypeParagraph @2 dp5  
    ActiveDocument.Styles.Add Name:="QLNU正文", Type:=wdStyleTypeParagraph zQ {g~x  
     gFJ& t^yL  
    ActiveDocument.Styles.Add Name:="QLNU表格标题", Type:=wdStyleTypeParagraph XJ]MPiXj  
    ActiveDocument.Styles.Add Name:="QLNU表格首行", Type:=wdStyleTypeParagraph @+}Q<  
    ActiveDocument.Styles.Add Name:="QLNU表格内容", Type:=wdStyleTypeParagraph hQBeM7$F_  
    ActiveDocument.Styles.Add Name:="QLNU图片标题", Type:=wdStyleTypeParagraph ?ZS G4La\  
    ActiveDocument.Styles.Add Name:="QLNU图片段落", Type:=wdStyleTypeParagraph ?9i7+Y"  
      Be2@9  
    ActiveDocument.Styles.Add Name:="QLNU参考文献", Type:=wdStyleTypeParagraph 2 c'=^0:  
    On Error GoTo 0 ,"PwN v  
    DoEvents uw+v]y  
     +byw*Kk  
    'BaseStyle mW 5L;>  
    ActiveDocument.Styles("BaseStyle").AutomaticallyUpdate = False 0 +8ThZ?n  
    With ActiveDocument.Styles("BaseStyle").Font Ul[>LKFY  
        .NameFarEast = "宋体" Ts;W,pgP  
        .NameAscii = "Times New Roman" 76)(G/  
        .NameOther = "宋体" t1B0M4x9  
        .Size = 10.5 mN?'Aey  
        .Bold = wdUndefined d\, 4Wet;#  
        .Italic = wdUndefined `q eL$`  
        .Subscript = wdUndefined MPO!qSS]  
        .Subscript = wdUndefined ~`hI|i<]  
         y wk;  
        .Underline = wdUnderlineNone V#!ypX]AB[  
        .UnderlineColor = wdColorAutomatic 8N6a=[fv<  
        .StrikeThrough = False 44?5]C7  
        .DoubleStrikeThrough = False )?pin|_x  
         AnPm5i.  
        .Outline = False 5 d(A(  
        .Emboss = False 5vY h~|  
        .Shadow = False O6OP{sb  
        .Hidden = False CBSJY&:K  
        .SmallCaps = False hC]c =$=7  
        .AllCaps = False % @Ks<"9  
        .Color = wdColorAutomatic ue/6DwUv  
        .Engrave = False d"XS;;l%<  
        .Scaling = 100 da!N0\.1T  
        .Kerning = 1 {H $\,  
        .Animation = wdAnimationNone N>Y`>5  
        .DisableCharacterSpaceGrid = False 6kT l(+  
        .EmphasisMark = wdEmphasisMarkNone `+B+RQl}[  
    End With #X"\:yN  
    With ActiveDocument.Styles("BaseStyle").ParagraphFormat g$dL5N7  
        .LeftIndent = 0 qB]z"Hfq,  
        .RightIndent = 0 /^uvY  
        .SpaceBefore = 0 $Miii`VS9  
        .SpaceBeforeAuto = False h1K 3A5  
        .SpaceAfter = 0 2O9dU 5b  
        .SpaceAfterAuto = False 2>fG}qYy$  
         .2 UUU\/5  
        .LineSpacingRule = wdLineSpaceSingle )gR14a  
        .Alignment = wdAlignParagraphJustify j Xi<ZJ  
         vG\]xM'u  
        .WidowControl = False )dF(5,y)  
        .KeepWithNext = False o^&; `XOd  
        .KeepTogether = False A i 9*w?C  
        .PageBreakBefore = False >o 3X)  
        .NoLineNumber = False (L|SE4  
         tb/u@}")  
        .FirstLineIndent = CentimetersToPoints(0) Di*+Cz;gK  
        .OutlineLevel = wdOutlineLevelBodyText v.6" <nT2  
        .CharacterUnitLeftIndent = 0 y%TR2CvT  
        .CharacterUnitRightIndent = 0 4>Uo0NfL  
        .CharacterUnitFirstLineIndent = 0 .1I];Cy0D  
        .LineUnitBefore = 0  2WE   
        .LineUnitAfter = 0  e^&YQl  
        .AutoAdjustRightIndent = True }jiqUBn%  
        .DisableLineHeightGrid = True yc]ni.Hz  
         92Ar0 j]  
        .FarEastLineBreakControl = True Q(k$HP  
        .WordWrap = True rxa"ji!)  
        .Hyphenation = False 8)"KPr63M  
         Cqg}dXn'  
        .HangingPunctuation = True ![abDT5![  
        .HalfWidthPunctuationOnTopOfLine = True 6{lWUr  
        .AddSpaceBetweenFarEastAndAlpha = True J~gfMp.  
        .AddSpaceBetweenFarEastAndDigit = True c#"\&~. P  
        .BaseLineAlignment = wdBaselineAlignBaseline r.i.w0B(  
    End With r-N2*uYtu  
    ActiveDocument.Styles("BaseStyle").NoSpaceBetweenParagraphsOfSameStyle = False 5B2x# m|8  
    ActiveDocument.Styles("BaseStyle").ParagraphFormat.TabStops.ClearAll -ZQ3^'f:0J  
    ActiveDocument.Styles("BaseStyle").LanguageID = wdSimplifiedChinese AV d  
    ActiveDocument.Styles("BaseStyle").NoProofing = False K!I]/0L  
     m1F<L  
    '一级标题题样式 ^#3$C?d  
    ActiveDocument.Styles("QLNU一级标题").BaseStyle = ActiveDocument.Styles("BaseStyle") Oku4EJFJ  
    ActiveDocument.Styles("QLNU一级标题").NextParagraphStyle = "BaseStyle" l`I]eTo)^  
    ActiveDocument.Styles("QLNU一级标题").AutomaticallyUpdate = False $o]zNW;X  
    With ActiveDocument.Styles("QLNU一级标题").Font GeHDc[7  
        .NameFarEast = "黑体" FN,0&D}`  
        .NameAscii = "Arial Black" CM5A-R90  
        .NameOther = "黑体" :1Fm~'  
        .Name = "黑体" s 7xRry  
        .Size = 16              '三号 nQ$N(2<Fe  
        .Bold = True *$# r%  
        .Italic = wdUndefined ;S?1E:\av  
        .Subscript = wdUndefined `Q(ac| 0  
        .Superscript = wdUndefined Bf'jXM{-  
    End With ;xB"D0~,1  
    With ActiveDocument.Styles("QLNU一级标题").ParagraphFormat 'b661,+d  
         <u2*(BM4  
        .LeftIndent = CentimetersToPoints(0) 6-KC[J^Xo  
        .RightIndent = CentimetersToPoints(0) [po+a@ %  
        .FirstLineIndent = CentimetersToPoints(0) #Z$ 6> Xt  
         0^ E!P>  
        .LineSpacingRule = wdLineSpaceSingle @z/]!n\~  
        .Alignment = wdAlignParagraphCenter p6Z]oL q  
         {tR=D_5  
        .WidowControl = True  _&(ij(H  
        .KeepWithNext = True :-"J)^V  
        .KeepTogether = True Go`omh b  
        .OutlineLevel = wdOutlineLevelBodyText zZ32K@  
         x ;Gyo  
        .LineUnitBefore = 0.5 3sp*.dk  
        .LineUnitAfter = 0.5 #mkr]K8A4  
    End With Z7.)[ ;  
    ActiveDocument.Styles("QLNU一级标题").NoSpaceBetweenParagraphsOfSameStyle = False )7j"OE  
    ActiveDocument.Styles("QLNU一级标题").ParagraphFormat.TabStops.ClearAll lmmyDg1R  
    ActiveDocument.Styles("QLNU一级标题").LanguageID = wdSimplifiedChinese 8!UZ..  
    ActiveDocument.Styles("QLNU一级标题").NoProofing = True n;Iey[7_E`  
    DoEvents )&dhE^ O  
     RTY$oUqlZ  
    '二级 G~B V^  
    ActiveDocument.Styles("QLNU二级标题").BaseStyle = ActiveDocument.Styles("BaseStyle") cC}s5`  
    ActiveDocument.Styles("QLNU二级标题").NextParagraphStyle = "BaseStyle" ( ?/0$DB  
    ActiveDocument.Styles("QLNU二级标题").AutomaticallyUpdate = False ]NFDE-Jz]  
    With ActiveDocument.Styles("QLNU二级标题").Font ?sS'T7r v  
        .NameFarEast = "黑体" r]HLO'<]  
        .NameAscii = "Arial Narrow" M\v4{\2l0  
        .NameOther = "黑体" YSa:"A  
        .Name = "黑体" "apv)xdW  
        .Size = 15        '小三号 E0O{5YF^T  
        .Bold = False [tD*\\IA  
        .Outline = False =JVRm 2#*  
        .Italic = wdUndefined ^ w&TTo(  
        .Subscript = wdUndefined Uw&+zJ  
        .Superscript = wdUndefined 2WUBJ-qnuT  
    End With Z,4=<;PF  
    With ActiveDocument.Styles("QLNU二级标题").ParagraphFormat 'E&K%/d  
        .LeftIndent = CentimetersToPoints(0) GU[ Cq=k  
        .RightIndent = CentimetersToPoints(0) f2yv7t T   
        .FirstLineIndent = CentimetersToPoints(0) p\-.DRwT`  
         zi-+@ 9T  
        .LineSpacingRule = wdLineSpaceSingle f "&q~V4?  
        .Alignment = wdAlignParagraphLeft _ZS<zQ'  
         b$$XriD]  
        .WidowControl = True }?fa+FQGp  
        .KeepWithNext = True dhVwS$O )  
        .KeepTogether = True /XMmE  
        .PageBreakBefore = False *(>$4$9n  
        .OutlineLevel = wdOutlineLevelBodyText 1MahFeQ[  
         /pk; E$qv  
        .LineUnitBefore = 0.5 @n c!(P7_  
        .LineUnitAfter = 0.5 ZcWl{e4  
         HJcZ~5jf  
    End With "5y^s!/  
    ActiveDocument.Styles("QLNU二级标题").NoSpaceBetweenParagraphsOfSameStyle = False E,6E-9  
    ActiveDocument.Styles("QLNU二级标题").ParagraphFormat.TabStops.ClearAll Bp/8 >E O`  
    ActiveDocument.Styles("QLNU二级标题").LanguageID = wdSimplifiedChinese l&|{uk  
    ActiveDocument.Styles("QLNU二级标题").NoProofing = True R3@iN &  
    DoEvents "V^jAPDXb  
     vy#c(:UQR  
    '三级标题样式 XdS<51 C  
    ActiveDocument.Styles("QLNU三级标题").BaseStyle = ActiveDocument.Styles("BaseStyle") I^ >zr.z A  
    ActiveDocument.Styles("QLNU三级标题").NextParagraphStyle = "BaseStyle" YKx0Zs  
    ActiveDocument.Styles("QLNU三级标题").AutomaticallyUpdate = False |Q I3H]T7  
    With ActiveDocument.Styles("QLNU三级标题").Font H~G=0_S  
        .NameFarEast = "宋体" bs`/k&'  
        .NameAscii = "Times New Roman" WX=+\`NyJ(  
        .NameOther = "黑体" %@xYg{  
        .Name = "黑体" ]yIy~V  
        .Size = 14               '四号 " LxJPt\  
        .Bold = False AQV3ZVP  
        .Outline = False ):|)/ZiC'  
        .Italic = wdUndefined yv:NH|,/y  
        .Subscript = wdUndefined hT]p8m aRZ  
        .Superscript = wdUndefined /N^+a-.Qd  
    End With X_YD[  
    With ActiveDocument.Styles("QLNU三级标题").ParagraphFormat qt:->yiq+  
        .LeftIndent = CentimetersToPoints(0) o>*{5>#k'  
        .RightIndent = CentimetersToPoints(0) '~2v/[<`}  
        .FirstLineIndent = CentimetersToPoints(0) 'P Yl%2  
         7>~iS@7GV  
        .LineSpacingRule = wdLineSpaceSingle ^CE:?>a$  
        .Alignment = wdAlignParagraphLeft <Q kfvK]Q  
         ]Aluk|"`U  
        .WidowControl = True [`b{eLCFX]  
        .KeepWithNext = True }>1E,3A:%G  
        .KeepTogether = True xeH# )QJt  
        .PageBreakBefore = False  mPD'"  
        .OutlineLevel = wdOutlineLevelBodyText A"k,T7B  
         r9t{/})A  
        .CharacterUnitLeftIndent = 0 @'rO=(-b  
        .CharacterUnitRightIndent = 0 _0f[.vN  
        .CharacterUnitFirstLineIndent = 2 [ho'Pc3A<  
         3PEs$m9e  
        .LineUnitBefore = 0.5 \c\=S  
        .LineUnitAfter = 0  WcJ{}V9  
    End With aLq;a  
    ActiveDocument.Styles("QLNU三级标题").NoSpaceBetweenParagraphsOfSameStyle = False iB,*X[}EqG  
    ActiveDocument.Styles("QLNU三级标题").ParagraphFormat.TabStops.ClearAll y@Or2bO#  
    ActiveDocument.Styles("QLNU三级标题").LanguageID = wdSimplifiedChinese B~ez>/H^  
    ActiveDocument.Styles("QLNU三级标题").NoProofing = True 8)tyn'~i  
    DoEvents .F6 #s  
     2?ednMoE  
    '四级标题样式 <5#e.w  
    ActiveDocument.Styles("QLNU四级标题").BaseStyle = ActiveDocument.Styles("BaseStyle") 6\Z^L1973  
    ActiveDocument.Styles("QLNU四级标题").NextParagraphStyle = "BaseStyle" e5/_Vga  
    ActiveDocument.Styles("QLNU四级标题").AutomaticallyUpdate = False *&PgDAQ  
    With ActiveDocument.Styles("QLNU四级标题").Font W&Hf}q s  
        .NameFarEast = "宋体" 1k~jVC2VA  
        .NameAscii = "Times New Roman" -)Vj08aP  
        .NameOther = "宋体" s6]f#s5o  
        .Name = "宋体" >I!(CM":s$  
        .Size = 12               '小四号 ' FK"-)s  
        .Bold = True avz 4 &  
        .Outline = False P>kx{ ^  
        .Italic = wdUndefined y5ExEXa  
        .Subscript = wdUndefined x('yBf  
        .Superscript = wdUndefined `^}9= Q'r  
    End With jl@8pO$  
    With ActiveDocument.Styles("QLNU四级标题").ParagraphFormat S-H3UND"  
         lt4UNJ3w  
        .LeftIndent = CentimetersToPoints(0) #.=' dSj  
        .RightIndent = CentimetersToPoints(0) lm\u(3_ $  
        .FirstLineIndent = CentimetersToPoints(0) >6dgf`U  
         Ii 8jY_  
        .LineSpacingRule = wdLineSpaceSingle 3OZ}&[3  
        .Alignment = wdAlignParagraphLeft o MAK[$k;  
         [K KoEZ  
        .WidowControl = True {h=Ai[|l4Q  
        .KeepWithNext = True EAkP[au.  
        .KeepTogether = True k$2Y)  
        .PageBreakBefore = False CMr`n8M  
        .OutlineLevel = wdOutlineLevelBodyText zN:752d^+r  
         hJ@nW5CI  
        .CharacterUnitLeftIndent = 0 "osYw\unI  
        .CharacterUnitRightIndent = 0 <>Im$N ai  
        .CharacterUnitFirstLineIndent = 2 {8MF !CG]  
         Uoe?5Of( *  
        .LineUnitBefore = 0 : L>d]Hn  
        .LineUnitAfter = 0 PA/6l"-`3  
         6{~I7!m"  
    End With 1%+^SR72  
    ActiveDocument.Styles("QLNU四级标题").NoSpaceBetweenParagraphsOfSameStyle = False DNy)\+[  
    ActiveDocument.Styles("QLNU四级标题").ParagraphFormat.TabStops.ClearAll l*u@T|Fc$  
    ActiveDocument.Styles("QLNU四级标题").LanguageID = wdSimplifiedChinese UGMdWq  
    ActiveDocument.Styles("QLNU四级标题").NoProofing = True @e7+d@ O<  
    DoEvents *T lv'E.M  
     o (zg_!P  
    '正文校式 !:8!\gE ^P  
    ActiveDocument.Styles("QLNU正文").BaseStyle = ActiveDocument.Styles("BaseStyle") 8xX{y#  
    ActiveDocument.Styles("QLNU正文").NextParagraphStyle = "BaseStyle" x9e 9$ww}  
    ActiveDocument.Styles("QLNU正文").AutomaticallyUpdate = False 8dH|s#.4um  
    With ActiveDocument.Styles("QLNU正文").Font HHYcFoJwYN  
         4kM<L}J#  
        .NameFarEast = "宋体" Pla EI p  
        .NameAscii = "Times New Roman" O?!"15  
        .NameOther = "宋体" GND[f}  
        .Name = "宋体" ep!.kA=\  
         >']H)c'2  
        .Size = 12               '小四号 9T1G /0k-  
         rij[ZrJ  
        .Bold = wdUndefined 0{yx*}.  
        .Italic = wdUndefined fm* Hk57  
        .Subscript = wdUndefined meWAm?8RI  
        .Superscript = wdUndefined 9s)oC$\  
         x,%&[ 6(  
        .Outline = False V_pBM  
        .Emboss = False fjFy$NX&>  
        .Shadow = False -*A'6%`  
        .Hidden = False 5-*]PAC  
         WToAT;d2h  
        .DisableCharacterSpaceGrid = True "mf;k^sqS  
    End With k y98/6  
    With ActiveDocument.Styles("QLNU正文").ParagraphFormat ||4Dtg K  
         uE$o4X  
        .LeftIndent = CentimetersToPoints(0) X@)lPr$ a  
        .RightIndent = CentimetersToPoints(0) 5ZVTI,4K  
        .FirstLineIndent = CentimetersToPoints(0) }NXESZYoi  
         1rEP)66N  
        .LineSpacingRule = wdLineSpaceExactly &g!/@*[Nhh  
        .LineSpacing = 20 {V8Pn2mlo  
        .Alignment = wdAlignParagraphLeft TG9)x|!  
         ?2TH("hV$  
        .WidowControl = False LcXMOT)s  
        .KeepWithNext = False 2&m7pcls  
        .KeepTogether = False #O WSy'Qnt  
        .PageBreakBefore = False Z:_y,( 1Q  
        .Hyphenation = False nM`)`!/  
         gg(U}L ]:  
        .OutlineLevel = wdOutlineLevelBodyText (AYD @  
         -,dQ&Qf?  
       K?4(ou  
        .CharacterUnitLeftIndent = 0 1|VJN D  
        .CharacterUnitRightIndent = 0 R;o_*  
        .CharacterUnitFirstLineIndent = 2 kXr %73s  
         ^XM;D/Gp~  
        .LineUnitBefore = 0 +0 MKh  
        .LineUnitAfter = 0 D6u>[Z[T  
        .SpaceBefore = 0 m C Ge*V}  
        .SpaceAfter = 0 IoA;q)  
         Nz;;X\G I  
        .DisableLineHeightGrid = True @2gMtf?<  
    End With J.nq[/Q=  
    ActiveDocument.Styles("QLNU正文").NoSpaceBetweenParagraphsOfSameStyle = False tp<VOUa  
    ActiveDocument.Styles("QLNU正文").ParagraphFormat.TabStops.ClearAll YSgF'qq\  
    ActiveDocument.Styles("QLNU正文").LanguageID = wdSimplifiedChinese g&>Hy!v,  
    ActiveDocument.Styles("QLNU正文").NoProofing = True 4_<Uk  
    DoEvents {/<&  
     8##jd[o&p~  
    '图片段落样式 J%)2,szn0  
    ActiveDocument.Styles("QLNU图片段落").BaseStyle = ActiveDocument.Styles("BaseStyle") w^gh&E  
    ActiveDocument.Styles("QLNU图片段落").NextParagraphStyle = "BaseStyle" o[#a}5Y  
    ActiveDocument.Styles("QLNU图片段落").AutomaticallyUpdate = False .D .Rn/  
    With ActiveDocument.Styles("QLNU图片段落").Font Ie"R,,c   
        .Size = 12               '小四号 `cpcO  
        .Italic = wdUndefined umzYJ>2t  
        .Subscript = wdUndefined 8;8}Oq  
        .Superscript = wdUndefined +$t%L   
    End With Q-v[O4 y~  
    With ActiveDocument.Styles("QLNU图片段落").ParagraphFormat ja/[PHq"  
         9K|lU:,  
        .LeftIndent = CentimetersToPoints(0) 3p4?-Dd|_$  
        .RightIndent = CentimetersToPoints(0) *-_Np u6  
        .FirstLineIndent = CentimetersToPoints(0) N6;Z\\&0^q  
         ^&iV%vQ[  
        .LineSpacingRule = wdLineSpaceSingle 7o. 'F  
        .Alignment = wdAlignParagraphCenter {rZ"cUm  
        .KeepWithNext = True .a*$WGb  
        .OutlineLevel = wdOutlineLevelBodyText "tM/`:Qp  
         <Xx\F56zp  
        .CharacterUnitLeftIndent = 0 9f\8oJQ  
        .CharacterUnitRightIndent = 0 \0h/~ 3  
        .CharacterUnitFirstLineIndent = 0 @nu/0+8h{  
         8:xo ~Vc  
        .LineUnitBefore = 0 37xxVbi k  
        .LineUnitAfter = 0 l'QR2r7&.  
    End With =f!M=D  
    ActiveDocument.Styles("QLNU图片段落").NoSpaceBetweenParagraphsOfSameStyle = False [Jo TWouNU  
    ActiveDocument.Styles("QLNU图片段落").ParagraphFormat.TabStops.ClearAll  iC]lO  
    ActiveDocument.Styles("QLNU图片段落").LanguageID = wdSimplifiedChinese <Z' hZ  
    ActiveDocument.Styles("QLNU图片段落").NoProofing = True h86={@Le  
    DoEvents >{a,]q*  
     b U NYTF{  
     YHYB.H)  
    '第X章 =]e^8;e9  
    ActiveDocument.Styles("QLNU章节标题").BaseStyle = ActiveDocument.Styles("BaseStyle") n^N]iw{G  
    ActiveDocument.Styles("QLNU章节标题").NextParagraphStyle = "BaseStyle" W#j,{&KVn  
    ActiveDocument.Styles("QLNU章节标题").AutomaticallyUpdate = False M>@R=f  
    With ActiveDocument.Styles("QLNU章节标题").Font ozLJ#eOE9  
        .NameFarEast = "黑体" U[l%oLra  
        .NameAscii = "Arial Black" >nQ yF  
        .NameOther = "Arial Black" (, "E9.  
        .Name = "黑体" l #Q`f.  
        .Size = 16 E,7~kd~y`  
        .Bold = True keskD  
        .UnderlineColor = wdColorAutomatic fh#_Mj+y  
        .Outline = False )_cv}.xe  
        .Italic = wdUndefined LltguNM$  
        .Subscript = wdUndefined "ux]kfoT  
        .Superscript = wdUndefined K*$#D1hG  
        .Scaling = 100 }eM <A$J  
        .DisableCharacterSpaceGrid = True Wg^cj:&`u  
    End With N_D+d4@  
    With ActiveDocument.Styles("QLNU章节标题").ParagraphFormat Ib!rf:  
        .LineSpacingRule = wdLineSpaceSingle &F_rg,q&_  
        .Alignment = wdAlignParagraphCenter 2 -aYqMmT;  
        .WidowControl = True 7-I>5 3@  
        .KeepWithNext = True <q2nZI^  
        .KeepTogether = True M%xL K7  
        .PageBreakBefore = True Cw $^w  
        .OutlineLevel = wdOutlineLevelBodyText 8F`  
         *GP_ut%  
        .LeftIndent = CentimetersToPoints(0) G4' U;  
        .RightIndent = CentimetersToPoints(0) P*`xiTA  
        .FirstLineIndent = CentimetersToPoints(0) 1i:g /H  
         Q/)ok$A&  
        .CharacterUnitLeftIndent = 0 .E#Sm?gK  
        .CharacterUnitRightIndent = 0 )H)Udhz  
        .CharacterUnitFirstLineIndent = 0 rz{'X d  
         'V#ew\  
        .LineUnitBefore = 1 /T[ICd2J  
        .LineUnitAfter = 0.5 ]0 RXo3  
         C+XZDY(=Z  
        .AutoAdjustRightIndent = False e"#D){k#  
        .DisableLineHeightGrid = True tr8Cx~<  
        .FarEastLineBreakControl = True 1m;*fs  
        .WordWrap = True ~+C?][T  
    End With F|TMpH/  
    ActiveDocument.Styles("QLNU章节标题").NoSpaceBetweenParagraphsOfSameStyle = False V( LFH9.Mp  
    ActiveDocument.Styles("QLNU章节标题").ParagraphFormat.TabStops.ClearAll f<Tz#w&6W  
    ActiveDocument.Styles("QLNU章节标题").LanguageID = wdSimplifiedChinese u=o"^   
    ActiveDocument.Styles("QLNU章节标题").NoProofing = True v&2@<I>  
    DoEvents !m(L0YH  
     DA`sm  
    '表格标题 R Sz[6  
    ActiveDocument.Styles("QLNU表格标题").BaseStyle = ActiveDocument.Styles("BaseStyle") Aq%^>YAp  
    ActiveDocument.Styles("QLNU表格标题").NextParagraphStyle = "BaseStyle" aLt{X)?  
    ActiveDocument.Styles("QLNU表格标题").AutomaticallyUpdate = False bpa O`[*  
    With ActiveDocument.Styles("QLNU表格标题").Font Z&jb,eh2  
        .NameFarEast = "楷体" d~-p;i  
        .NameAscii = "Arial" Xe;(y "p R  
        .Name = "楷体"  /;6@M=6u  
        .Size = 10.5 Wxau]uix  
        .Bold = True bs EpET  
        .Underline = wdUnderlineNone ?7)(qnbe"  
        .Italic = wdUndefined o!`O i5  
        .Subscript = wdUndefined S.|kg2  
        .Superscript = wdUndefined + <9 eN  
        .Color = wdColorAutomatic 8zDH<Gb  
    End With <[:7#Yo g  
    With ActiveDocument.Styles("QLNU表格标题").ParagraphFormat I0+wczW,^  
         ih |Ky+!  
        .LineSpacingRule = wdLineSpaceSingle P lH`(n#  
        .Alignment = wdAlignParagraphCenter %aBJ+V F  
        .KeepWithNext = True F*t_lN5{  
        .KeepTogether = True Tw;qY  
        .OutlineLevel = wdOutlineLevelBodyText KTjlWxD  
         3DC%I79  
        .LeftIndent = CentimetersToPoints(0) D"4&9"CU  
        .RightIndent = CentimetersToPoints(0) VHr7GAmU  
        .FirstLineIndent = CentimetersToPoints(0) puN=OX}C  
         9zYiG3 d  
        .CharacterUnitLeftIndent = 0 u# WTh%/  
        .CharacterUnitRightIndent = 0 /1~|jmi(  
        .CharacterUnitFirstLineIndent = 0 L8wcH  
         S?\hbM]V-o  
        .LineUnitBefore = 1 ,G|aLBn  
        .LineUnitAfter = 0 8sIA;r%S  
         1]Q 2qs  
    End With kN |5 J  
    ActiveDocument.Styles("QLNU表格标题").NoSpaceBetweenParagraphsOfSameStyle = False U q w}4C/0  
    ActiveDocument.Styles("QLNU表格标题").ParagraphFormat.TabStops.ClearAll YQV?S  
    ActiveDocument.Styles("QLNU表格标题").LanguageID = wdSimplifiedChinese &4& 33D  
    ActiveDocument.Styles("QLNU表格标题").NoProofing = True ;'QY<,p[e  
    DoEvents ~+ s*\~  
4z%#ZIy3   
    '表格首行 =yX&p:-&  
    ActiveDocument.Styles("QLNU表格首行").BaseStyle = ActiveDocument.Styles("BaseStyle") Q&7)vs  
    ActiveDocument.Styles("QLNU表格首行").AutomaticallyUpdate = False !L. K)9I  
    With ActiveDocument.Styles("QLNU表格首行").Font V!77YFen %  
        .NameFarEast = "楷体" $n Sh[ {  
        .NameAscii = "Times New Roman" ?4[Oh/]R  
        .Name = "楷体" 5b1uD>,;y  
        .Size = 9 _T|H 69 J  
        .Bold = True }BdVD t  
        .Underline = wdUnderlineNone uk[< 6oxz  
        .Italic = wdUndefined $>"e\L4Kp  
        .Subscript = wdUndefined 8+ F}`lLA  
        .Superscript = wdUndefined 2 ?- 07g  
    End With bro  
    With ActiveDocument.Styles("QLNU表格首行").ParagraphFormat 6$s0-{^  
        .LineSpacingRule = wdLineSpaceSingle PuZs 5J3  
        .Alignment = wdAlignParagraphCenter hr4ye`c j  
         ()M@3={R  
        .LeftIndent = CentimetersToPoints(0) x2;i< |  
        .RightIndent = CentimetersToPoints(0) M'zS7=F!:  
        .FirstLineIndent = CentimetersToPoints(0) B$TChc3B  
         ^M"z1B]  
         ?koxt4 4  
        .CharacterUnitLeftIndent = -0.5 |4S?>e  
        .CharacterUnitRightIndent = -0.5 15KV} ){  
        .CharacterUnitFirstLineIndent = -0.5 N&^xq_9&  
         M*|VLOo=v  
        .LineUnitBefore = 0 Fiu!!M6  
        .LineUnitAfter = 0 1i/::4=  
        .SpaceBefore = 0 p^igscPF6  
        .SpaceAfter = 0 ,ah*!Zm.kk  
         )R8%'X;U  
    End With <2O7R}j7v  
    ActiveDocument.Styles("QLNU表格首行").NoSpaceBetweenParagraphsOfSameStyle = False =Y/fF  
    ActiveDocument.Styles("QLNU表格首行").ParagraphFormat.TabStops.ClearAll [AZ aT  
    ActiveDocument.Styles("QLNU表格首行").LanguageID = wdSimplifiedChinese r<X4ER  
    ActiveDocument.Styles("QLNU表格首行").NoProofing = True W .`Xm(y  
    DoEvents "WbVCT'i  
] @)!:<+  
    '表格内容 g:DTVq  
    ActiveDocument.Styles("QLNU表格内容").BaseStyle = ActiveDocument.Styles("BaseStyle") gFs/012{  
    ActiveDocument.Styles("QLNU表格内容").AutomaticallyUpdate = False Np<&#s[dQ  
    With ActiveDocument.Styles("QLNU表格内容").Font T3 9C lH  
        .NameFarEast = "楷体" sCtw30BL  
        .NameAscii = "Times New Roman"  6Z&u  
        .Name = "楷体" 3<Z'F}lg  
        .Size = 9 .3&a{IxM]  
        .Bold = False ]TBtLU3  
        .Underline = wdUnderlineNone !Wixs]od   
        .Italic = wdUndefined mw(c[.*%  
        .Subscript = wdUndefined YYE8/\+B.  
        .Superscript = wdUndefined &^7uv0M<y  
    End With a We Bav}_  
    With ActiveDocument.Styles("QLNU表格内容").ParagraphFormat WVWS7N\  
        .LineSpacingRule = wdLineSpaceSingle yw.~trF&%  
        .Alignment = wdAlignParagraphCenter q)V1{B@  
         3p3WDL7  
        .LeftIndent = CentimetersToPoints(0) ]oeuIRyQ  
        .RightIndent = CentimetersToPoints(0) xshAr J& A  
        .FirstLineIndent = CentimetersToPoints(0) zn V1kqGU  
         @>G&7r:U  
        .CharacterUnitLeftIndent = -0.5 l{6` k<J(  
        .CharacterUnitRightIndent = -0.5 'ZC}9=_g  
        .CharacterUnitFirstLineIndent = -0.5 }B=qH7u.K  
        .LineUnitBefore = 0 K6v $#{$6  
        .LineUnitAfter = 0 [ .j]V-61  
        .SpaceBefore = 0 w=D%D8 r2  
        .SpaceAfter = 0 Seq]NkgY  
    End With ]A]Ft!`6z  
    ActiveDocument.Styles("QLNU表格首行").NoSpaceBetweenParagraphsOfSameStyle = False lH)em.#  
    ActiveDocument.Styles("QLNU表格首行").ParagraphFormat.TabStops.ClearAll P}hY {y'  
    ActiveDocument.Styles("QLNU表格首行").LanguageID = wdSimplifiedChinese 7"F|6JP"$c  
    ActiveDocument.Styles("QLNU表格首行").NoProofing = True vXWsF\g  
    DoEvents Q^lQi\[  
BjyXQ9D  
    '图片标题 %l:|2s:  
    ActiveDocument.Styles("QLNU图片标题").BaseStyle = ActiveDocument.Styles("BaseStyle") UXwB$@8  
    ActiveDocument.Styles("QLNU图片标题").NextParagraphStyle = "BaseStyle" * {gxI<   
    ActiveDocument.Styles("QLNU图片标题").AutomaticallyUpdate = False 97Zk P=Cq  
    With ActiveDocument.Styles("QLNU图片标题").Font PW*;Sp  
        .NameFarEast = "楷体" +[whh  
        .NameAscii = "Times New Roman" NFY|^*bll  
        .Name = "楷体" 5:%..e`T  
        .Size = 10.5 *5y W  
        .Bold = True 7Aio`&^  
        .Underline = wdUnderlineNone g=xv+e  
        .Italic = wdUndefined G(As%r]  
        .Subscript = wdUndefined f2 ydL/M,  
        .Superscript = wdUndefined -VWCD,c  
        .Outline = False  ,v*p  
        .Shadow = False lmhbF  
        .Color = wdColorAutomatic _,_8X7  
    End With #d Z/UM(u  
    With ActiveDocument.Styles("QLNU图片标题").ParagraphFormat <AMb!?Obh  
        .LineSpacingRule = wdLineSpaceSingle lI4J=8O0  
        .Alignment = wdAlignParagraphCenter QJ#u[hsMFp  
         z1f^p7$M?  
        .KeepWithNext = wdUndefined >+:r '  
        .KeepTogether = True w|}W(=#  
        .OutlineLevel = wdOutlineLevelBodyText }PI35i1!t  
         `10X5V@hP  
        .LeftIndent = CentimetersToPoints(0) 9fP) Fwih  
        .RightIndent = CentimetersToPoints(0) \5'O.*pr   
        .FirstLineIndent = CentimetersToPoints(0) ]-um\A4f  
         }dX/Y /  
        .CharacterUnitLeftIndent = 0 *D?((_+  
        .CharacterUnitRightIndent = 0 crd|2bjp+  
        .CharacterUnitFirstLineIndent = 0 4ZI!,lv*  
         h4aygc  
        .LineUnitBefore = 0 [`.3f'")j  
        .LineUnitAfter = 0 ?7yQ&p  
    End With )W8L91-  
    ActiveDocument.Styles("QLNU图片标题").NoSpaceBetweenParagraphsOfSameStyle = False }XCR+uAz  
    ActiveDocument.Styles("QLNU图片标题").ParagraphFormat.TabStops.ClearAll /M^V 2=  
    ActiveDocument.Styles("QLNU图片标题").LanguageID = wdSimplifiedChinese W$" Y%^ L  
    ActiveDocument.Styles("QLNU图片标题").NoProofing = True ,!6M* |  
    DoEvents [jl2\3*  
z;dcAdz9  
    '目录项 ImWXzg3@{  
    ActiveDocument.Styles("QLNU目录项").BaseStyle = ActiveDocument.Styles("BaseStyle") ]{!!7Zz  
    ActiveDocument.Styles("QLNU目录项").NextParagraphStyle = "BaseStyle" 731h ~x!u  
    ActiveDocument.Styles("QLNU目录项").AutomaticallyUpdate = False Fn86E dFM  
    With ActiveDocument.Styles("QLNU目录项").Font H(15vlOD  
        .NameFarEast = "黑体" Hz}+SAZ  
        .NameAscii = "Times New Roman" bQwdgc),s{  
        .NameOther = "Times New Roman" I9}+(6  
        .Name = "黑体" q(IZJGb  
        .Size = 10.5 Yx5J$!Ld  
        .Bold = False N31?9GE  
        .Italic = wdUndefined aD2*.ln><  
        .Underline = wdUnderlineNone .eo~?u<j&  
        .Color = wdColorAutomatic Yp*,Jp1  
        .Superscript = wdUndefined t9.,/o,  
        .Subscript = wdUndefined "OO96F  
    End With #+9rjq:v#]  
    With ActiveDocument.Styles("QLNU目录项").ParagraphFormat A t{U~^  
         %y>+1hakkX  
        .LineSpacingRule = wdLineSpaceSingle \yNQQ$B  
        .Alignment = wdAlignParagraphLeft ;{k=C2  
         u?F (1iN =  
        .WidowControl = False EYkj@ .,  
        .KeepWithNext = False ^|#>zCt^  
        .KeepTogether = False )!e3.C|V1W  
        .PageBreakBefore = False n@ 4@,  
        .NoLineNumber = False Go1(@  
        .OutlineLevel = wdOutlineLevelBodyText ^] 6M["d/p  
         eO t%xTx  
        .LeftIndent = CentimetersToPoints(0) RU0i#suiz  
        .RightIndent = CentimetersToPoints(0) RlrZxmPV>O  
        .FirstLineIndent = CentimetersToPoints(0) PWvSbn 6  
         F;u7A]H^  
        .CharacterUnitLeftIndent = 0 6 }!Z"  
        .CharacterUnitRightIndent = 0  1Ao6y.S  
        .CharacterUnitFirstLineIndent = 0 L\YKdUL  
         Q"%QQo}}  
        .LineUnitBefore = 0 1HhX/fpq  
        .LineUnitAfter = 0 ; 7rd;zJ  
    End With 0#QKVZq2>  
    ActiveDocument.Styles("QLNU目录项").NoSpaceBetweenParagraphsOfSameStyle = False )\wue sAO  
    ActiveDocument.Styles("QLNU目录项").ParagraphFormat.TabStops.ClearAll 7{pIPmJ  
    ActiveDocument.Styles("QLNU目录项").ParagraphFormat.TabStops.Add Position:=PicasToPoints(44.5), Alignment:=wdAlignTabRight, Leader:=wdTabLeaderMiddleDot 4U?<vby  
    ActiveDocument.Styles("QLNU目录项").LanguageID = wdSimplifiedChinese @lS==O-`f  
    ActiveDocument.Styles("QLNU目录项").NoProofing = True ;K_}A4K  
    DoEvents -/>9c-F  
     }f#_4ACaD  
    '参考文献 \PbvN \L  
    ActiveDocument.Styles("QLNU参考文献").BaseStyle = ActiveDocument.Styles("BaseStyle") vt.P*Z5  
    ActiveDocument.Styles("QLNU参考文献").NextParagraphStyle = "BaseStyle" bDDqaO ,8  
    ActiveDocument.Styles("QLNU参考文献").AutomaticallyUpdate = False ?q _^Rj$  
    With ActiveDocument.Styles("QLNU参考文献").Font y}N&/}M:}8  
        .NameFarEast = "宋体" pz 7H To;p  
        .NameAscii = "Times New Roman" Q&xjF@I  
        .NameOther = "Times New Roman" 1Dq<{;rWb  
        .Name = "Times New Roman" 86%%n?"}  
        .Size = 12 daslaa_A  
        .Bold = False Ry z?v<)h  
        .Italic = wdUndefined MTb,Kmw<(  
        .Subscript = wdUndefined  `?|Rc  
        .Superscript = wdUndefined g:_hj_1Y M  
        .Underline = wdUnderlineNone >SoO4i8  
        .UnderlineColor = wdColorAutomatic +Q)ULnie e  
        .Color = wdColorAutomatic ~^&R#4J  
        .Engrave = False D+sQPymI  
    End With k#C f})  
    With ActiveDocument.Styles("QLNU参考文献").ParagraphFormat hGI+:Js6  
         ~-_i  
        .LineSpacingRule = wdLineSpaceExactly KY$k`f6?P  
        .LineSpacing = 16 =q+R   
        .Alignment = wdAlignParagraphLeft #{$1z;i?f  
        .WidowControl = False H<`\bej,  
        .KeepWithNext = False *YtB )6j  
        .KeepTogether = False H\E7o" m  
        .PageBreakBefore = False CvK3H\.&;k  
        .OutlineLevel = wdOutlineLevelBodyText ([R")~`(l2  
         gO='A(Y  
        .LeftIndent = CentimetersToPoints(0) X4wH/q^  
        .RightIndent = CentimetersToPoints(0) $W&:(&  
        .FirstLineIndent = CentimetersToPoints(0) =A@>I0(7  
         Fu7M0X'p  
        .CharacterUnitLeftIndent = 0 t<638`{kk  
        .CharacterUnitRightIndent = 0 '^iUx,,ZQ  
        .CharacterUnitFirstLineIndent = -2 o@W_ai_  
         E ] B7  
        .LineUnitBefore = 0 ?^9BMQ+  
        .LineUnitAfter = 0 SO;N~D1Z6  
        .SpaceBefore = 0 5qbq,#Pf  
        .SpaceAfter = 0 E1  |<Pt  
         o5swH6Y.)J  
    End With uvnI>gv  
    ActiveDocument.Styles("QLNU参考文献").NoSpaceBetweenParagraphsOfSameStyle = False X*F_<0RC1  
    ActiveDocument.Styles("QLNU参考文献").ParagraphFormat.TabStops.ClearAll /[ K_ &  
    ActiveDocument.Styles("QLNU参考文献").LanguageID = wdEnglishUS W;zpt|kAH  
    ActiveDocument.Styles("QLNU参考文献").NoProofing = True M-J<n>hl  
    ActiveDocument.Styles("QLNU参考文献").LanguageID = wdSimplifiedChinese S`m,S4-eD  
    DoEvents XJgh>^R^  
l!?yu]Yon  
    ' R>2IRvY(  
    ActiveDocument.Styles("QLNU论文题目").BaseStyle = ActiveDocument.Styles("BaseStyle") *%!M4&  
    ActiveDocument.Styles("QLNU论文题目").NextParagraphStyle = "BaseStyle" A1),el-^5  
    ActiveDocument.Styles("QLNU论文题目").AutomaticallyUpdate = False BLn_u,3  
    With ActiveDocument.Styles("QLNU论文题目").Font GqLq  gns  
        .NameFarEast = "黑体" #y 1Bx,  
        .NameAscii = "Arial Black" R,t$"bOd  
        .NameOther = "Arial Black" +ZA)/  
        .Name = "Arial Black" V}" g~=  
        .Size = 16 A&zS'toU  
        .Bold = False 83 I-X95  
        .Italic = wdUndefined 0{+.H_f`  
        .Superscript = wdUndefined PcC/_+2  
        .Subscript = wdUndefined +C+<BzR~A.  
        .Underline = wdUnderlineNone Vr=OYI'A  
        .UnderlineColor = wdColorAutomatic xJc$NV-JzK  
        .Color = wdColorAutomatic '\"G{jU@  
raE Mm  
    End With gCuAF$o  
    With ActiveDocument.Styles("QLNU论文题目").ParagraphFormat icgJ;Q 5  
        .LineSpacingRule = wdLineSpaceSingle 2&he($HIzg  
        .Alignment = wdAlignParagraphCenter rrqQCn9  
        .WidowControl = True d'"r("w#  
        .KeepWithNext = True ;3"@g] e  
        .KeepTogether = True * geN [ [  
        .PageBreakBefore = True <*(^{a. O  
        .NoLineNumber = False 5u$D/* Eb  
        .OutlineLevel = wdOutlineLevelBodyText ST Z]8cw  
         z.oU4c  
        .LeftIndent = CentimetersToPoints(0) #HAC*n  
        .RightIndent = CentimetersToPoints(0) V`#.7uUP  
        .FirstLineIndent = CentimetersToPoints(0) 8{0 k0 &x  
         HYCuK48F[_  
        .CharacterUnitLeftIndent = 0 8 #}D : (  
        .CharacterUnitRightIndent = 0 %S@L|t  
        .CharacterUnitFirstLineIndent = 0 G.\l qYrXU  
         8(f:U@BS  
        .LineUnitBefore = 1 bgF^(T35  
        .LineUnitAfter = 1 kWhr1wR1  
         +G*JrwJ&=  
        .BaseLineAlignment = wdBaselineAlignAuto O_;Dk W  
    End With wL}l`fRB  
    ActiveDocument.Styles("QLNU论文题目").NoSpaceBetweenParagraphsOfSameStyle = False 9QwKakci  
    ActiveDocument.Styles("QLNU论文题目").ParagraphFormat.TabStops.ClearAll h Dk)Qg  
    ActiveDocument.Styles("QLNU论文题目").LanguageID = wdEnglishUS XNehP ZYS  
    ActiveDocument.Styles("QLNU论文题目").NoProofing = True bsS:"/?>  
    ActiveDocument.Styles("QLNU论文题目").LanguageID = wdSimplifiedChinese w1 `Q Iv  
    ActiveDocument.Styles("QLNU论文题目").NoProofing = True $,fy$ Qk,S  
    DoEvents v^N`IJq  
     6C [E  
    '中文摘要 6N~q`;p0  
    ActiveDocument.Styles("QLNU中文摘要").BaseStyle = ActiveDocument.Styles("BaseStyle") O o8qyW  
    ActiveDocument.Styles("QLNU中文摘要").NextParagraphStyle = "BaseStyle" f>polxB%N  
    ActiveDocument.Styles("QLNU中文摘要").AutomaticallyUpdate = False V'DA[{\*  
    With ActiveDocument.Styles("QLNU中文摘要").Font S6xgiem  
        .NameFarEast = "宋体" t"vRc4mf  
        .NameAscii = "Times New Roman" M Hi8E9_O  
        .NameOther = "Times New Roman" mi,&0xDe a  
        .Name = "Times New Roman" DM{ 4@*]  
        .Size = 12 Ps4 ZFX  
        .Bold = wdUndefined SA;#aj}rV  
        .Superscript = wdUndefined lv%9MW0 z  
        .Subscript = wdUndefined S($Su7g%_  
        .Italic = wdUndefined d2N:^vvvR  
        .Underline = wdUnderlineNone J2VTo: In  
        .UnderlineColor = wdColorAutomatic iW%8/$  
        .Color = wdColorAutomatic n,$z>  
    End With i7*EbaYzUO  
    With ActiveDocument.Styles("QLNU中文摘要").ParagraphFormat Bv6 K$4  
        .LineSpacingRule = wdLineSpaceExactly g}x(hF  
        .LineSpacing = 20 LWnR?Qve<  
        .Alignment = wdAlignParagraphLeft y<:<$22O  
         -WJ?:?'  
        .WidowControl = False #_i`#d)  
        .KeepWithNext = False P7.'kX9  
        .KeepTogether = True !do?~$Og  
        .PageBreakBefore = False ABh&X+YD  
        .NoLineNumber = False *\G)z|^yx  
        .OutlineLevel = wdOutlineLevelBodyText ][&9]omB  
         p{D4"Qn+P9  
        .LeftIndent = CentimetersToPoints(0) (R!hjw~  
        .RightIndent = CentimetersToPoints(0) Gl}Qxv #$  
        .FirstLineIndent = CentimetersToPoints(0) ?D`T7KSe~D  
         @-&MA)SN  
        .CharacterUnitLeftIndent = 0 Oy57$  
        .CharacterUnitRightIndent = 0 T,%j\0  
        .CharacterUnitFirstLineIndent = 2 =(HeF.!  
        .LineUnitBefore = 0 L| hx arJ  
        .LineUnitAfter = 0 3g~'5Ao  
         NSQp< m  
    End With "IQ/LbOqm_  
    ActiveDocument.Styles("QLNU中文摘要").NoSpaceBetweenParagraphsOfSameStyle = False V  ~@^`Gd  
    ActiveDocument.Styles("QLNU中文摘要").ParagraphFormat.TabStops.ClearAll >&:NFq-  
    ActiveDocument.Styles("QLNU中文摘要").LanguageID = wdEnglishUS ZcJ\ZbE|  
    ActiveDocument.Styles("QLNU中文摘要").NoProofing = True Q~{H@D`<  
    ActiveDocument.Styles("QLNU中文摘要").LanguageID = wdSimplifiedChinese ntVS:F  
    ActiveDocument.Styles("QLNU中文摘要").NoProofing = True Oz: *LZ  
    ActiveDocument.Styles("QLNU中文摘要").Frame.Delete Wb}c=hZv  
    DoEvents Pe;Y1Qq>>  
     9(4&KZpK  
    ActiveDocument.Styles("QLNU英文标题").BaseStyle = ActiveDocument.Styles("BaseStyle") [ic870_  
    ActiveDocument.Styles("QLNU英文标题").NextParagraphStyle = "BaseStyle" l{j~Q^U})  
    ActiveDocument.Styles("QLNU英文标题").AutomaticallyUpdate = False lQ'GX9hN@  
    With ActiveDocument.Styles("QLNU英文标题").Font r|u MovnV  
        .NameFarEast = "黑体" AlXNg!j;5K  
        .NameAscii = "Arial Narrow" Dd/wUP  
        .Name = "Arial Narrow" 'o_:^'c  
        .Size = 16 457\&  
        .Bold = True p5r]J+1  
        .Bold = wdUndefined 0Hxmm@X 2  
        .Superscript = wdUndefined **3 z;58 i  
        .Subscript = wdUndefined -G7TEq)  
        .Italic = wdUndefined Om;&_!i  
         q 11IkDa  
        .Underline = wdUnderlineNone 4JGtI*%5lq  
        .UnderlineColor = wdColorAutomatic $D'- k]E[H  
        .StrikeThrough = False TS2ZF{m  
        .DoubleStrikeThrough = False 9h4({EE2t  
    End With ZyrI R  
    With ActiveDocument.Styles("QLNU英文标题").ParagraphFormat #Lv2Zoi>G  
        .LineSpacingRule = wdLineSpaceSingle ~*A8+@ \R  
        .Alignment = wdAlignParagraphCenter 9H-|FNz?c  
        .WidowControl = True $5D,sEC@  
        .KeepWithNext = False phnV7D(E  
        .KeepTogether = False G+UMBn  
        .PageBreakBefore = False ngohtB^]  
        .NoLineNumber = False -h|B1*mt  
        .FirstLineIndent = CentimetersToPoints(0) ?L&'- e@  
        .OutlineLevel = wdOutlineLevelBodyText jRSUp E8  
         G 0%6ch^%  
        .LeftIndent = CentimetersToPoints(0) ^T"vX  
        .RightIndent = CentimetersToPoints(0) ,EGQ@:3/  
        .FirstLineIndent = CentimetersToPoints(0) C?Bl{4-P}*  
         d?`ny#,GB  
        .CharacterUnitLeftIndent = 0 w-wV3Q6X  
        .CharacterUnitRightIndent = 0 1i[FY?6`dh  
        .CharacterUnitFirstLineIndent = 0 scLn=  
         mpPdG  
        .LineUnitBefore = 1 #9-P%%kQ  
        .LineUnitAfter = 1 t3(]YgF  
         Od4E x;F  
    End With SN7"7joP<  
    ActiveDocument.Styles("QLNU英文标题").NoSpaceBetweenParagraphsOfSameStyle = False ?T9(Vw  
    ActiveDocument.Styles("QLNU英文标题").ParagraphFormat.TabStops.ClearAll Ms~{9?  
    ActiveDocument.Styles("QLNU英文标题").LanguageID = wdEnglishUS N ,8/Y  
    ActiveDocument.Styles("QLNU英文标题").NoProofing = True (8.Z..PH  
    ActiveDocument.Styles("QLNU英文标题").LanguageID = wdSimplifiedChinese 9l,a^@Y:  
    ActiveDocument.Styles("QLNU英文标题").NoProofing = True - K9c@?  
    ActiveDocument.Styles("QLNU英文标题").Frame.Delete 3b'QLfU&#  
    DoEvents tg]x0#@s  
aT>'.*\]  
    ActiveDocument.Styles("QLNU英文摘要").BaseStyle = ActiveDocument.Styles("BaseStyle") Bp8'pj;~  
    ActiveDocument.Styles("QLNU英文摘要").NextParagraphStyle = "BaseStyle" &0 >Loja`^  
    ActiveDocument.Styles("QLNU英文摘要").AutomaticallyUpdate = False if|+EN%  
    With ActiveDocument.Styles("QLNU英文摘要").Font 3RLFp\i"s  
        .NameFarEast = "宋体" 6f')6X'x  
        .NameAscii = "Arial" S}p4iE"n  
        .NameOther = "Arial" [W %$qZlP  
        .Name = "Arial" MjlP+; !  
        .Size = 12 P9g en6  
        .Bold = wdUndefined #]nx!*JNZ  
        .Italic = wdUndefined ),G =s Oo  
        .Superscript = wdUndefined \7Jg7*  
        .Subscript = wdUndefined X/iT)R]b  
    End With OQW#a[=WQ  
     g35DV6  
    With ActiveDocument.Styles("QLNU英文摘要").ParagraphFormat ?7<JQh)"e  
         x=ul&|^7D  
        .LineSpacingRule = wdLineSpaceExactly =jB08A  
        .LineSpacing = 20 a}%#*J)!  
         s l]_M  
        .Alignment = wdAlignParagraphJustify KD`IX-r{s  
         *%{gYpn  
        .WidowControl = False ;;L[e]Z  
        .KeepWithNext = False QFYWA1<pDh  
        .KeepTogether = False ):i&`}SY  
        .PageBreakBefore = False } :X*7 n(&  
        .NoLineNumber = False d&ex5CU5  
         d ,4] VE  
        .OutlineLevel = wdOutlineLevelBodyText L#E] BY  
         &boOtl^  
        .LeftIndent = CentimetersToPoints(0) oE#d ,Z  
        .RightIndent = CentimetersToPoints(0) N"nd*?  
        .FirstLineIndent = CentimetersToPoints(0) Y. ,Kl~  
         ,AxdCT  
        .CharacterUnitLeftIndent = 0 |<:vY  
        .CharacterUnitRightIndent = 0 -FU}pz/  
        .CharacterUnitFirstLineIndent = 2 G :~k.1y[  
         ~//fN}~R  
        .LineUnitBefore = 0 *h}XWBC1q  
        .LineUnitAfter = 1 v?KC%  
         N[<\>Ps|u  
    End With Q09[[  
    ActiveDocument.Styles("QLNU英文摘要").NoSpaceBetweenParagraphsOfSameStyle = False bGc~Wr|  
    ActiveDocument.Styles("QLNU英文摘要").ParagraphFormat.TabStops.ClearAll yzqVz_Fi*W  
    ActiveDocument.Styles("QLNU英文摘要").LanguageID = wdEnglishUS $STaQ28C  
    ActiveDocument.Styles("QLNU英文摘要").NoProofing = False b0lq\9  
    DoEvents U2bjFLd"  
h }B% /U  
    Options.Pagination = True (p2K36,9m  
    Me.txtStatus.Text = "样式修改完成,重新进行分页,请稍候....." %Ev4]}2C1  
    DoEvents `s\ ?w5[  
    ActiveDocument.Repaginate :yUEkm8  
8 7D*-Gw  
End Sub .Fdgb4>BXX  
bbrXgQ`s+w  
E\Rhz]G(  
杺栫杣杊椌柮栬,䒴蓉艿芖。
伍胥之 离线
级别: 军区司令员

显示用户信息 
99楼  发表于: 2021-07-18   
继续填个坑: ogyTO|V=  
<StN%2WQ1  
用VBA控制WORD自己修订学生毕业文的格式。 d3D] k,  
杺栫杣杊椌柮栬,䒴蓉艿芖。
伍胥之 离线
级别: 军区司令员

显示用户信息 
98楼  发表于: 2021-01-02   
继续填 BotNET 或Pynthon? 有没有XDJMs接龙啊 ?  C uB`CI  
!@}wDt  
杺栫杣杊椌柮栬,䒴蓉艿芖。
伍胥之 离线
级别: 军区司令员

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

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

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

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

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

显示用户信息 
94楼  发表于: 2015-09-06   
拍下的火车 ldU?{o:\s  
第6车皮 h4fJvOk|!  

(ZUHvvL  
Q /U2^  
第9车皮 -r`.#c4  
,Vc6Gwm  
  
杺栫杣杊椌柮栬,䒴蓉艿芖。
伍胥之 离线
级别: 军区司令员

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

一共这么多文件。 R@1xt@?  
 -*1d!  
这是我用VB写出的最大的程序,也是用API最多的。
杺栫杣杊椌柮栬,䒴蓉艿芖。
伍胥之 离线
级别: 军区司令员

显示用户信息 
92楼  发表于: 2015-09-06   
这才是我当年写出的一个比较烂的程序 1+_`^|eK  
bQg c8/  
Main2.bas 5TH~.^`Fi  
f z'@_4hg  
Attribute VB_Name = "SubMain" 0yk]o5a++  
Option Explicit ZF!h<h&,  
g];!&R-  
'采集文件与临时文件 0"jY.*_EW  
Public Const TmpFile As String = "d:\30-0600.dat" Kn5~d(:  
'已有数据:30-0600.dat /30日早6点进车与6:30出车头 ^9v4OUG  
ER%^!xA  
Public fStatus As Long, hFile As Long, bytesRW As Long, lptrFile As Long `KZm0d{H  
Public hBCFile As Long  '记录采集参数的文件 ~[t[y~Hup  
Public Const TmpBMP As String = "d:\1.bmp" d[iQ` YW5  
Public hTmpFile As Long 3#LlDC_WC  
S|Q@:r"  
uy>q7C  
'采集窗口参数常量 KjD/o?JUr  
Public Const FrameH As Long = 280& is?{MJZ_  
Public Const FrameW As Long = 768& }7b%HTF=  
Public Const pFrameSize As Long = FrameW * FrameH *3+4[WT0]a  
w'>pY  
'标志区范围,用于识别车辆 ; 5*&xz  
Public Const PilarC As Integer = 260   '识别标志立柱中线坐标X =Qy<GeY  
Public Const mkW As Integer = 28  '识别标志立柱宽度 !z\h| wU+  
Public Const mkH As Integer = 80 ''识别标志立柱高度(上白中黑下白) j`{?OYD  
Public Const mkY As Integer = 4 ''识别标志立柱Y坐标(40-79白, 80-119黑,120-159白) q`Go`v  
Public Const mkX As Integer = PilarC - mkW / 2 '识别标志立柱X坐标 Hus)c3Ty7  
'车缝检测位置常数 'g}!  
Public Const sSize As Long = 32& T^zXt?  
Public Const sPos As Long = 310& E^ B'4  
Public Const sPosL As Long = 200& sA+ }TNhq  
Public Const sPosR As Long = 500& ?qb}?&1  
'车缝检测框位置 ( >LF(ll  
Public Slice(1 To sSize, 1 To FrameH) As Byte wW Lj?;bx  
Public SliceL(1 To sSize, 1 To FrameH) As Byte u+ 9hL4  
Public SliceR(1 To sSize, 1 To FrameH) As Byte l0|5t)jF-  
Public avSL As Integer, avSLR As Integer, avSLL As Integer tH U2/V:R  
0CHH)Bku  
Ki;*u_4{  
Public MKpilar(1 To mkW * mkH) As Byte   '一维数组用于亮度对比度分析,比使用二维数组更便于VB编译优化 #]\Uk,mhZB  
'该数组用于亮度对比度调节、车辆通过识别与车皮间隔识别 Akq2 d;  
Public BsLine(1 To 4 * FrameW) As Byte, bsAV As Integer  '图像的前4行。用于确定标志区的亮度与对比度范围 /J]5H  
Public PilarW As Long, PilarH As Long, PilarX As Long, PilarY As Long ) ;EBz  
Public LeftBK(1 To 1024, 0 To 1) As Byte, RightBK(1 To 1024, 0 To 1) As Byte /!0={G  
'前后帧左右上角128列*8行像素块,根据平均值差绝对值判断进车方向 P0;n9>g  
 on4HKeO  
{ a =#B)6  
|Tv#4st  
'一次连续采集的帧数 mVj9, q0  
Public tFrames As Long ld[I}88$  
KYB`D.O   
'在采集卡申请的缓存中,是按帧为单位的,每一帧包含奇偶场两场的数据 y'3rNa]G1  
'而该卡的硬件设置是按场采集,只需要读第一场的数据即可。 a1T'x~ '  
'所以要设置的缓存帧的大小是frameW*frameH*2,而一场的数据量为pFrameSize =}~hWL  
sU=H&D99  
Public pFRAME(1 To FrameW, 1 To FrameH) As Byte #$.;'#u'so  
Public pBuffer(1 To FrameW * FrameH * 2) As Byte =O~_Q-  
Public pWorkSpace(1 To FrameW * FrameH) As Long D, k6$`  
Public Const pBufferSize As Long = FrameW * FrameH * 2 w2?3wrP3  
Public pGray(0 To 255) As Long '整幅图像的灰度直方图 bTI|F]^!  
_qF+tm  
Public hBoard As Long   '采集卡标识 z}.e]|b^H  
Public mBufferAddr As Long  '缓存地址 dB{Q" !  
Public BufferSize As Long  '缓存大小(字节) '6DBs8>1  
Public iCurrentCard As Long p'Y^ X  
Public CapStatus As Long !Lu2  
Public iFrames As Long  CT&|QH{  
Public currentBr As Byte, currentContr As Byte ,V7nzhA2  
V.U| #n5  
Public hMEM As Long, mStatus As Long -M\<nx  
Public Const hMemSize As Long = pFrameSize * 4 S;Fi?M  
Public hMemWork As Long wi!?BCseq  
Public Const hMemWorkSize As Long = pFrameSize * 5 x[cL Bc<  
9=s<Ld  
4VHn  \  
zrvF]|1UP  
'串口接收轨道衡数据 kXViWOXU^  
Public WeightFromCom As String jVEGj5F;N  
Public bReceiveComplete As Boolean "fb[23g%@k  
[CY9^N  
:a!^   
Public Type GrayBMPHeader ~]sc^[  
  Tag As Integer t$`r4Lb9/  
  FileLength As Long    '文件大小 P?%s #I:  
  Reserve1 As Long 49eD1h3'X[  
  DataOffset As Long    '图像数据偏移量 ez7A4>/  
  BMPHeaderSize As Long  '文件头长  \__i  
                        'length of the bitmap info header used to describe the bitmap colors, compression,… M$ wC=b  
                        'the following sizes are possible: {4l8}w  
                        '28h - windows 3.1x, 95, nt, … :@yEQ#nFp  
                        '0ch - os/2 1.x ~$c\JKH-  
                        'f0h - os/2 2.x ${DUCud,kY  
A@`}c,G  
  ImageWidth As Long           '图像宽(像素数) \<bx [,?  
  ImageHeight As Long          '图像高(像素数) VMZMG$C  
  PlaneNumber As Integer  '图像层数 ]>!K 3kB  
  bpp As Integer    'bits per pixels    '1 - monochrome bitmap &w\{TZ{  
                                        '4 - 16 color bitmap aHD]k8 m z  
                                        '8 - 256 color bitmap Lw1Yvtn  
                                        '16 - 16bit (high color) bitmap 9p]QM)M  
                                        '24 - 24bit (true color) bitmap G0Iw-vf  
                                        '32 - 32bit (true color) bitmap !M(xG%M-V  
  Compression As Long '压缩方法     '0 - none (also identified by bi_rgb) s9 mx  
                                    '1 - rle 8-bit / pixel (also identified by bi_rle4) Ao 'l"-  
                                    '2 - rle 4-bit / pixel (also identified by bi_rle8) :'Vf g[Uq  
                                    '3 - bitfields (also identified by bi_bitfields) 28-RC>,@}  
  IMAGESIZE As Long  '图像数据字节数 T9=I$@/  
  hResolution  As Long  '水平分辩率  像素数/米 TP* hd  
  vResolution  As Long  '垂直分辩率 <NMEGit  
  ColorsinBMP As Long   '图中所用的颜色。对256色图像总为0x100 X;$+,&M"  
  ImportantColors As Long 7P } W *  
  Pallate(0 To 255) As Long  '图像每个值对应的实际显示颜色,项数对应PallateNumber所指调色板项数 #`^}PuQ  
End Type 'B |JAi?  
5=-Q4d  
[+^1.N  
u*eV@KK!  
Public BMPHeader As GrayBMPHeader, BMP1 As GrayBMPHeader _O?`@g?i  
Public sRECT As RECT "MeVE#O  
GblA9F7  
`>o{P/HN  
Public conn As ADODB.Connection "69s) ~  
Public rsTrain As ADODB.Recordset -E[Kml~U  
Public rsOperater As ADODB.Recordset *;W+>W  
Public rsGoods As ADODB.Recordset :@Pl pF K  
Public rsGood2 As ADODB.Recordset Zpt\p7WQ  
Public rsSender As ADODB.Recordset U4'#T%*  
Public rsReceover As ADODB.Recordset !t"4!3  
Public rsTrainTMP As ADODB.Recordset poE0{HOU  
{qk1_yP  
b1I]>\  
'打开采集卡 10Q ]67  
'设置参数 XPc^Tq  
'设置为实时单帧采集到缓存方式 p%ki>p )E|  
'由另一线程查询采集状态,如果完成采集,传送至用户数组分析或保存 i$Ul(?  
PI {bmZ  
,~U>'&M ;  
Sub Main() wLIMv3;k  
  Dim i As Integer, status As Long H_7/%noS5  
     n9\TO9N  
   InitBMPinfo gb1V~  
   '生成BMP文件头---该文件头是固定将pFRAME数组写成BMP文件 1C+13LE$U  
    BMPHeader.Tag = &H4D42 KYm0@O>;  
    BMPHeader.ImageWidth = FrameW {p2!|A&a  
    BMPHeader.ImageHeight = FrameH %UrueMEO  
    BMPHeader.BMPHeaderSize = &H28 hE{K=Tz$  
    BMPHeader.PlaneNumber = 1 RH W]Z Pr<  
    BMPHeader.bpp = 8 g&L!1<, p  
    BMPHeader.Compression = 0 70d1ReQ  
    BMPHeader.hResolution = &H1274   'Windows pBrush.exe的默认值,PhotoED.exe默值为0 HZE#Ab*L  
    BMPHeader.vResolution = &H1274 f_OQ./`  
    BMPHeader.ColorsinBMP = 256 : $1?i)  
    BMPHeader.ImportantColors = BMPHeader.ColorsinBMP =IZT(8  
    BMPHeader.DataOffset = Len(BMPHeader) G[PtkPSJ  
    For i = 0 To 255 M/f<A$xx_  
      BMPHeader.Pallate(i) = RGB(i, i, i) @?sRj&w  
    Next i 38B2|x  
    BMPHeader.IMAGESIZE = FrameH * FrameW z(ONv#}p  
    BMPHeader.FileLength = Len(BMPHeader) + BMPHeader.IMAGESIZE @mCEHI{P  
=jN.1}  
&u ."A3(  
    MoveMemory BMP1, BMPHeader, Len(BMPHeader) .^`{1%  
     As&Sq-NWf  
    BMP1.ImageWidth = FrameW `v!urE/gg%  
    BMP1.ImageHeight = FrameH * 2 u,ho7ht3(  
    BMP1.IMAGESIZE = BMP1.ImageWidth * BMP1.ImageHeight yZY\MB/  
    BMP1.FileLength = Len(BMP1) + BMP1.IMAGESIZE h,:m~0gmj  
:U|1xgB  
  '确定标志位置,为pilarX, pilarY确定初始值 LBeF&sb6  
   PilarW = mkW .vf'YNQ%  
   PilarH = mkH  '此两项为固定值 e+7"/icK  
   PilarX = GetSetting(App.EXEName, "Mark", "MarkX", mkX) Pm6p v ;WK  
   PilarY = GetSetting(App.EXEName, "Mark", "MarkY", mkY)  '此两项需要在程序初始化时检查并进行调整 [>I<#_^~  
   NWESP U):w  
   (XTG8W sN  
  '连续采集记录文件 J3V= 46Yc  
  ' 建立一个缓冲区为页对齐方式的文件 >Er|Jxy  
  If Dir(TmpFile) <> "" Then HQdxL*N%^  
    hFile = CreateFile(TmpFile, GENERIC_READ Or GENERIC_WRITE, _ ;?Tbnn Wn  
     0&, 0&, OPEN_ALWAYS, FILE_FLAG_NO_BUFFERING, 0&) I9A~Ye 5O&  
    ' 在95/98中,如果打开文件时没有声明overlapped方式,在读定文件时就不能使用overlapped参数项 z _$%-6  
    ' 而必须用setfilepointer函数调节与操作系统保留的文件指针。 n` _{9R  
  Else |l^uEtG  
    hFile = CreateFile(TmpFile, GENERIC_READ Or GENERIC_WRITE, _ 3DX*gsx(  
     0&, 0&, CREATE_ALWAYS, FILE_FLAG_NO_BUFFERING, 0&) dl)Y'DI  
  End If 7~h<$8Y(T  
  If hFile = 0 Then Qp5VP@t  
    MsgBox TmpFile & ": File Open Error", vbOKOnly n&4N[Qlv,  
    Exit Sub -m zIT4  
  End If ma]F7dZ5  
  '采集参数记录文件 XX TL..  
hBCFile = FreeFile() l'rja.\  
Open TmpFile + ".BC" For Binary Access Read Write As #hBCFile ,Fl)^Gl8?  
   #lo6c;*m5  
hMEM = VirtualAlloc(ByVal 0&, hMemSize, MEM_COMMIT, PAGE_READWRITE)  ’分配系统内容 ?>:g?.+  
If hMEM = 0 Then =ZznFVJ`={  
    fStatus = GetLastError 0],r0  
    MsgBox "内存分配错误: 错误代码 - " & Str(fStatus) & vbCrLf _ e*kpdS~U&  
     & "请向技术人员报告该错误代码。", vbOKOnly  4\N ;2N  
    CloseHandle hFile :`#d:.@]o@  
    Exit Sub Pbn*_/H  
End If y-b%T|p9  
/{J4:N'B>  
hMemWork = VirtualAlloc(ByVal 0&, hMemWorkSize, MEM_COMMIT, PAGE_READWRITE) VBlYvZ;$*  
If hMemWork = 0 Then L<cx:Vz  
    fStatus = GetLastError n+9=1Oo"  
    MsgBox "内存分配错误: 错误代码 - " & Str(fStatus) & vbCrLf _ H7Rx>h_  
     & "请向技术人员报告该错误代码。", vbOKOnly NN{?z!  
     '释放已成功分配的内存 C3f' {}  
    mStatus = VirtualFree(ByVal hMEM, hMemSize, MEM_DECOMMIT) eb{nWP  
    mStatus = VirtualFree(ByVal hMEM, 0&, MEM_RELEASE) .NC!7+1m  
     )AtD}HEv  
    CloseHandle hFile 9<?M8_  
    Exit Sub !PlEO 2at  
End If M] %?>G  
x j)F55e?  
' Test writing [85spub&}  
'WriteFile hFile, ByVal hMEM, ByVal 4096&, bytesRW, ByVal 0& O`kl\K*R7  
     8NJqV+jn)t  
   '初始化采集卡参数 e2Pcm_Ahv*  
   iCurrentCard = -1 }"H,h)T  
   hBoard = okOpenBoard(iCurrentCard) {w O|)|  
   Debug.Print hBoard .hb:s,0mP  
   If hBoard = 0 Then yxQ1`'[CR  
      ExitGrabber iq8<ov  
      End ?4 }h&/  
   End If &m7]v,&  
   okGetBufferSize hBoard, mBufferAddr, BufferSize ub0.J#j@  
   If mBufferAddr = 0 Then i^&~?2  
     MsgBox "缓存不存在!" sE<V5`Z=  
     ExitGrabber <$$yw=ef  
   End If Ml{ ,  
   Debug.Print Hex(mBufferAddr), Hex(BufferSize) H2 {+)  
   _.Nbt(mz  
   2a)xTA#  
   currentBr = 128: currentContr = 128 x_}:D *aI  
   '设置视频输入参数 ^Z+?h &%%  
   okSetVideoParam hBoard, VIDEO_SOURCECHAN, 1 'Video2 &BLJT9Frx  
      ' lParam=0,1.. Comp.Video; 0x100,101...to Y/C(S-Video), 0x200,0x201 to RGB Chan.Input h2A <"w  
   okSetVideoParam hBoard, VIDEO_BRIGHTNESS, currentBr '亮度 gs[uD5oo<  
   okSetVideoParam hBoard, VIDEO_CONTRAST, currentContr '对比度  ---初始设置条件下如果图像亮度达不到基本要求则控制灯光 76Cl\rV  
   okSetVideoParam hBoard, VIDEO_RGBFORMAT, FORM_GRAY8 '8位灰度模式 k"%~"9  
   okSetVideoParam hBoard, VIDEO_TVSTANDARD, 0 'PAL制式 7F7 {)L  
   okSetVideoParam hBoard, VIDEO_SIGNALTYPE, &H10000 '逐行(低字)同步开槽(高字) eKgBy8tNS0  
   okSetVideoParam hBoard, VIDEO_RECTSHIFT, 144 + &H2C0000 '有效区起始位置:高字Y偏移,低字X偏移 (144/44经验值) :pY/-Cgv  
   okSetVideoParam hBoard, VIDEO_AVAILRECTSIZE, FrameW + FrameH * 2 * &H10000 '有效区大小:低字X高字Y (768/576采集卡最大值) W(Fv l  
   okSetVideoParam hBoard, VIDEO_FREQSEG, 0 ' 低频部分信号 ;`4&Rm9n?  
   +o{R _  
   '设置采集参数 Rok7n1gW  
   okSetCaptureParam hBoard, CAPTURE_INTERVAL, 0  '逐帧  DPxM'7  
   okSetCaptureParam hBoard, CAPTURE_CLIPMODE, 2 '裁剪方式 [S%_In   
   okSetCaptureParam hBoard, CAPTURE_BUFRGBFORMAT, FORM_GRAY8  '8位灰度 Xl{P8L  
   okSetCaptureParam hBoard, CAPTURE_HARDMIRROR, 0 '不作镜像变换 ?3,:-"(@p  
   okSetCaptureParam hBoard, CAPTURE_FRMRGBFORMAT, FORM_GRAY8 '帧存格式 UhWNl]Z  
   okSetCaptureParam hBoard, CAPTURE_SAMPLEFIELD, 0 ' 逐场采集 | j`@eF/"  
   okSetCaptureParam hBoard, CAPTURE_HORZPIXELS, 944  '水平像素数 PAL制式固定值 ZQsJL\x[UK  
   okSetCaptureParam hBoard, CAPTURE_VERTLINES, 625 '垂直线数 HWrO"b*tO  
   okSetCaptureParam hBoard, CAPTURE_SEQCAPWAIT, 0 '不等结束立即返回 ~W'{p  
   'okSetCaptureParam hBoard, CAPTURE_BUFBLOCKSIZE, FrameW + FrameH * 2 * &H10000 ZU4nc3__  
   'Buffer Block Size不用设置,而用okSetTargetRect函数进行动态调节 e]"W!K cD9  
   Yl Q=5u^+  
   \)904W5R  
   okCloseBoard hBoard {4}yKjW%z  
   Sleep 50 .G. 0WR/2  
   hBoard = okOpenBoard(iCurrentCard)   '关闭后重新打开使新的设置值生效 /Iy]DU8  
   SM#]H-3  
   '设置数据传送方式 -HbC!w v  
   'okSetConvertParam hBoard, CONVERT_FIELDEXTEND, FIELD_COPYEXTEND '逐行并扩展行 RDi]2  
   '该设置对本程序无意义,因为程序直接用CopyMemory方法读缓存,而扩展行方式是在用采集卡内置函数读RECT过程中实现的。 o Q2Fjj  
   AaOu L,l  
   sRECT.Right = -1   '用于获得当前设置值 NjScc%@y  
   iFrames = okSetTargetRect(hBoard, BUFFER, sRECT) )gIKH{JYL  
   Debug.Print sRECT.Left, sRECT.Right, sRECT.Top, sRECT.Bottom ,/%=sux  
   Debug.Print okSetCaptureParam(hBoard, CAPTURE_BUFBLOCKSIZE, -1)  'FrameW + FrameH * &H10000 Ad8n<zt|  
   sRECT.Left = 0 Xm}/0g&7  
   sRECT.Top = 0 *8Xh(` Mj7  
   sRECT.Right = sRECT.Left + FrameW ;>yxNGV`  
   sRECT.Bottom = sRECT.Top + FrameH * 2 _\G"9,)u '  
   iFrames = okSetTargetRect(hBoard, BUFFER, sRECT) y/{fX(aV  
   }Yzco52  
   sRECT.Right = -1   '检查新设置值 nZyX|SPk  
   iFrames = okSetTargetRect(hBoard, BUFFER, sRECT) *[Tz![|  
   Debug.Print sRECT.Left, sRECT.Right, sRECT.Top, sRECT.Bottom YMcD|Kbp  
   Debug.Print Hex(okSetCaptureParam(hBoard, CAPTURE_BUFBLOCKSIZE, -1)) Y@vTaE^w3  
   H3 ^},.  
   If TESTSignal = False Then Y|f[bw  
      'ExitGrabber /QWvW=F2<  
   End If ,, OW  
   Qf+\;@  
   4<Utmr  
   gMmaK0uhS  
   '设为实时采集状态 c /HHy,  
   'iFrames = okCaptureActive(hBoard, BUFFER, 0&) VcO0sa f`  
   xb~yM%*c  
   L:j<c5  
   '单帧采集 GL#up  
   'okWaitSignalEvent hBoard, EVENT_FRAMEHEADER, -1 5h-SCB>P  
   'iFrames = okCaptureSingle(hBoard, BUFFER, 0&) ^z IW+:  
   okCaptureTo hBoard, BUFFER, 0, 1 'single mbxZL<ua  
   'Do While okGetCaptureStatus(hBoard, False) <> 0 O)*+="Rg  
   '   Sleep 20 2!m/  
   'Loop 9gDkT Ykj  
   okGetCaptureStatus hBoard, True xp)sBM7A  
   MoveMemory pFRAME(1, 1), ByVal mBufferAddr, pFrameSize 2B[X,rL.pX  
   '写入768*576测试图象 ;kQhx6Z  
   ArrayToBMP TmpBMP ?m}s4a  
   9igiZmM  
   '打开数据库 @[<><uTH  
   Set conn = New ADODB.Connection /{aj}M0kN  
   conn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;" & _ dI(@ZV{  
      "Persist Security Info=False;Data Source=" & "c:\train\train.mdb" & _ Y-_`23x`  
      "; Mode=Read|Write" L-WT]&n_  
   conn.Open jh%Eq+#S  
   m@2QnA[ 4  
   frmRecord.Picture1.Picture = LoadPicture(TmpBMP) z6=Z\P+  
   frmRecord.Visible = True '(f*2eE:  
   frmQuery.Visible = True RuA*YV  
   Load frmReceiveFromComm ,+DG2u  
   @ $ ;q ;  
   '调试参数 O7m(o:t x3  
   If InStr(UCase(Command()), "/CAPTURE") > 0 Then { ]{/t-=  
     SignalBox.Visible = True ^R7lom.  
   End If i {NzV  
   If InStr(UCase(Command()), "/COMM") > 0 Then QL&ZjSN  
     frmReceiveFromComm.Visible = True :'-/NtV)o?  
   End If 5y [Oj^  
v5#j Z$<F  
End Sub ^e_hLX\SW  
D9=KXo^  
Sub ExitGrabber() feDlH[$  
  '关闭数据库 wr/"yQA]  
  '关闭采集卡 H?vdr:WlTN  
  mStatus = VirtualFree(ByVal hMEM, hMemSize, MEM_DECOMMIT) RQ'9m^  
  mStatus = VirtualFree(ByVal hMEM, 0&, MEM_RELEASE) |!3DPA(_  
  mStatus = VirtualFree(ByVal hMemWork, hMemWorkSize, MEM_DECOMMIT) v!6  c0a  
  mStatus = VirtualFree(ByVal hMemWork, 0&, MEM_RELEASE) C=L>zOZ  
  okStopCapture hBoard w !-gJmX>  
  okCloseBoard hBoard DS(}<HK{  
  CloseHandle hFile 5oW!YJg  
  Close #hBCFile F3@phu${  
  conn.Close s4y73-J^.v  
  End P|tO<t6/9*  
End Sub pYZmz  
%~H-)_d20  
Function ArrayToBMP(ByVal File As String) KE5kOU;  
Dim BytesWrite As Long ?W?c 1>  
a`E#F] Z  
hTmpFile = CreateFile(File, GENERIC_READ Or GENERIC_WRITE, 0&, 0&, _ (ylTp]~mR-  
  CREATE_ALWAYS, 0&, 0&)  F2LLN  
p Z|V 3  
If hTmpFile = 0 Then !Y0Vid  
   ArrayToBMP = False M#4p E_G  
   Exit Function (l~AV9!m:  
End If i(%W_d!  
!*d I|k  
SetFilePointer hTmpFile, 0&, 0&, FILE_BEGIN _?m(V=z>  
WriteFile hTmpFile, BMPHeader, 2&, BytesWrite, ByVal 0& TOB-aAO  
SetFilePointer hTmpFile, 2&, 0&, FILE_BEGIN XH4  
WriteFile hTmpFile, BMPHeader.FileLength, Len(BMPHeader) - 2, BytesWrite, ByVal 0& SumF  2  
rxvx  
SetFilePointer hTmpFile, Len(BMPHeader), 0&, FILE_BEGIN eCU :Q  
WriteFile hTmpFile, pFRAME(1, 1), pFrameSize, BytesWrite, ByVal 0& {tuYs:  
ifMRryN4  
If BytesWrite < pFrameSize Then .PIL +x*]N  
  ArrayToBMP = False S"bg9o  
End If np"\19^  
o4F2%0gJ  
CloseHandle hTmpFile ~F|+o}a `  
a od-3"7[  
End Function A@!qv#'  
3</_c1~  
Function ArrayToBMP1(ByVal File As String) zII|9y  
-8ywO "6  
Dim BytesWrite As Long ) <[XtK  
u^ +7hkk  
hTmpFile = CreateFile(File, GENERIC_READ Or GENERIC_WRITE, FILE_SHARE_READ Or FILE_SHARE_WRITE, 0&, _ HSE!x_$  
  CREATE_ALWAYS, 0&, 0&) X"|['t  
N]Y d9tn{  
If hTmpFile = 0 Then B dj!ia;H  
   ArrayToBMP1 = False P6 '1. R  
   Exit Function dC3o9  
End If T= y}y  
h,u, ^ r  
SetFilePointer hTmpFile, 0&, 0&, FILE_BEGIN 8yR.uMI$/  
WriteFile hTmpFile, BMP1, 2&, BytesWrite, ByVal 0& UJAv`yjG  
B[Ku\A6&  
SetFilePointer hTmpFile, 2&, 0&, FILE_BEGIN Db}j?ik/  
WriteFile hTmpFile, BMP1.FileLength, Len(BMP1) - 2, BytesWrite, ByVal 0& / |;RV"  
Xv5wJ lc!d  
SetFilePointer hTmpFile, Len(BMP1), 0&, FILE_BEGIN Fx_z6a  
WriteFile hTmpFile, pBuffer(1), pBufferSize, BytesWrite, ByVal 0& 17%,7P9pg  
_/s$ZCd  
If BytesWrite < pBufferSize Then |PCm01NU!  
  ArrayToBMP1 = False ~zJbK. _  
End If p?%y82E  
:1. L}4"gg  
CloseHandle hTmpFile Olt?~}  
 ul6]!Iy  
End Function mA}TJz  
,*TmIPNK  
'使用该过程建立的文件要求在用后关闭 ?4#Li~q  
Public Function ArrayToBMP2(File As String) As Boolean p SH=%u>  
B:yGS*.tu  
Dim BytesWrite As Long K*vt;L  
^+>laOzC`8  
ArrayToBMP2 = True J@HtoTDO3  
@s u^0 9n  
hTmpFile = CreateFile(File, GENERIC_READ Or GENERIC_WRITE, FILE_SHARE_READ Or FILE_SHARE_WRITE, 0&, _ hc(#{]].  
  CREATE_ALWAYS, FILE_ATTRIBUTE_TEMPORARY, 0&) O'p9u@kc  
b5dD/-Vj  
If hTmpFile = 0 Then ios&n)W&  
   ArrayToBMP2 = False hP%M?MKC  
   Exit Function KI iO  
End If r4b 6 c  
a8e6H30Sm  
SetFilePointer hTmpFile, 0&, 0&, FILE_BEGIN O-0x8O^B  
WriteFile hTmpFile, BMPHeader, 2, BytesWrite, ByVal 0& ed{ -/l~j  
Tj` ,Z5vy  
SetFilePointer hTmpFile, 2&, 0&, FILE_BEGIN f M :]&  
WriteFile hTmpFile, BMPHeader.FileLength, Len(BMPHeader) - 2, BytesWrite, ByVal 0& .]Y$o^mf  
>-RQ]?^  
SetFilePointer hTmpFile, Len(BMPHeader), 0&, FILE_BEGIN B?gOHG*vd>  
WriteFile hTmpFile, pFRAME(1, 1), pFrameSize, BytesWrite, ByVal 0& 4<w.8rR:A  
x*\Y) 9Vgy  
If BytesWrite < pFrameSize Then Af~$TyX  
  ArrayToBMP2 = False +;(c:@>@,  
End If zOAd~E  
`t>l:<@ %  
CloseHandle hTmpFile ,hm\   
A7Cm5>Y_S  
End Function 9IdA%RM~mH  
lV3x*4O=  
Private Function TESTSignal() As Boolean Ytp(aE:  
Dim extsign As Long, videotype As Long, scanlines As Long, fieldfrq As Long #K_ii)n  
Wq D4YGN  
extsign = okGetSignalParam(hBoard, SIGNAL_VIDEOEXIST) !OhC/f(GBZ  
HT v2#  
If extsign = 1 Then d=$Mim  
   TESTSignal = True }z'8Bu  
Else }^ ~F|  
    If extsign = 0 Then PfAgM1   
        MsgBox "无视频输入信号,检查摄像机电源!", vbOKOnly 1APe=tJ  
        TESTSignal = False p}z<Fdu 0  
        Exit Function $D~0~gn~  
    End If b4%??"&<Y  
End If >W=,j)MA  
W s3)gvpPA  
'测试视频输入类型 DZ 3wCLQtK  
'video type  L^/5ux  
okWaitSignalEvent hBoard, EVENT_ODDFIELD, 40 13$%,q)  
videotype = okGetSignalParam(hBoard, SIGNAL_VIDEOTYPE) }1L4 "}L.  
If videotype = 1 Then hE'-is@7  
        '"隔行信号(Interlaced)" R3)~?X1n  
Else 38Mv 25N  
   If videotype = 0 Then ) yi E@ X  
       '"逐行信号(Non-interlaced)" >;aWz%-  
   Else a_^\=&?'  
     If videotype = -1 Then P-9)38`5  
       ' "不支持" n:I,PS0H<  
     End If HYD'.uj  
   End If z>1Pz(   
End If ^KnU4sD  
]`!>6/[  
'测试垂直扫描线数 X&.ArXn*  
'video scanlines pGP7nw_g  
scanlines = -1 <[a=ceL]|  
scanlines = okGetSignalParam(hBoard, SIGNAL_SCANLINES) 8rAg \H3E  
    If scanlines = -1 Then D# 9m\o_  
        ' "不支持" _P#|IAq*  
    Else > ym,{EHK  
        'Trim(Str(ScanLines)) + " 行数/幅" wy<S;   
    End If z}77Eh<  
A_"w^E{P  
'测试帧频 0I-9nuw,^;  
'video field frequency q<x/Hat)  
    fieldfrq = okGetSignalParam(hBoard, SIGNAL_FIELDFREQ) b"<liGh"n-  
    If fieldfrq = -1 Then Hs;4lSyUO  
        'lblSignal(8) = "不支持" + B,}Qr  
    Else W @M:a  
        'lblSignal(8) = Trim(Str(FieldFRQ)) + " 场数/秒" %vn"{3y>rF  
    End If Pf")e,u$  
End Function 6fE7W>la  
j1Y~_  
e-})6)XgA  
Sub PicIdentify() P8OaoPj  
'本程序完成从文件中按顺序读出一幅图像并完成图像识别 R"/GQ`^AqA  
'根据固定位置判断透过车皮连接处接收的对面的立柱影像。出现立柱后该帧前1-2帧与后1-2帧分别为车号信息与车皮信息 U#7#aeI  
'判定标准:如果在立柱位置上有明显的模式反差,则视为车皮之间的间隔 K C*e/J  
'方法:对立柱标志区进行平均值二值化,面积为32*40,亮区(255)与暗区(0)的亮度平均值理论差大于200倍,实际差值应不小于100倍 {Y(zd[  
x xHY+(m  
  Dim fPTR As Long, cFrame As Long "=HA Y  
  Dim i As Long, j As Integer, pTotal As Long, pAV As Integer Z\bmW%av  
     XAD- 'i  
Si4!R+4w  
cFrame = 0 G{As,`{  
r(>@qGN  
4@+`q *  
Do While cFrame < tFrames gMi0FO'  
   VD;01"#'  
  fStatus = SetFilePointer(hFile, cFrame * pFrameSize, 0&, FILE_BEGIN) $8)+XmsCr  
  fStatus = ReadFile(hFile, ByVal hMEM, ByVal pFrameSize, bytesRW, ByVal 0&) ch*8 B(:  
  MoveMemory pFRAME(1, 1), ByVal hMEM, pFrameSize *nT<m \C6  
   ^2:p|:Bz!l  
  frmRecord.RText.Text = Str(cFrame) { T/[cu<  
  frmRecord.RText.Refresh ;>%r9pz ~  
       OR P\b  
  If CheckMark = True Then \i>?q   
   ArrayToBMP TmpBMP XW 2b|%T  
   frmRecord.Picture1.Picture = LoadPicture(TmpBMP) CImWd.W9~  
   frmRecord.RText.Text = "第" & Str(cFrame) & "帧" o"s)eh  
   ].avItg  
   DrawSlice Y,qI@n<  
   k&M;,e3v6  
   'i = MsgBox("检测到立柱:第" & Str(cFrame) & "帧", vbYesNo) np|S y;:  
   'If i = vbNo Then v4a8}G  
   '  Exit Do ]? c B:}  
   'End If YH}'s>xZz  
   'cFrame = cFrame + 1 r5S[-`s;  
   ydEoC$?0  
  End If ^)/0yB  
  DoEvents ^ox=H NV  
  cFrame = cFrame + 1 ?.m bK  
Loop v4!VrI  
End Sub + )AG*  
x;O[c3I  
d(ZO6Nr Q  
Function CheckMark(Optional iBlk As Integer = 30, Optional iWhite As Integer = 230) As Boolean L8@f-Kk  
~gJwW+  
'如标志区模式反差存在则为TRUE,否则返回FALSE z#9aP&8Q  
R+ hU8 pu  
Dim i As Integer, j As Integer, mTotal As Long, mAV As Single, mTop As Long, mBot As Long  C#.->\  
CheckMark = True  Po+.&7F  
   ~p6 V,Q  
'复制标志区 i'<[DjMDlm  
For i = 1 To mkH %_H<:uGO%  
   MoveMemory MKpilar((i - 1) * PilarW + 1), pFRAME(PilarX, PilarY + i), PilarW &C5_g$Ma.Z  
Next i F@D`N0Pte  
wA ,6bj  
For j = 1 To PilarW * PilarH / 2 +zqn<<9  
   mTop = mTop + MKpilar(j) RT4x\&q  
Next j ~f2z]JLr:  
B&M%I:i  
For j = PilarW * PilarH / 2 + 1 To PilarW * PilarH V5@:#BIs  
   mBot = mBot + MKpilar(j) 1 &jc/*Z"  
Next j ZuzEg*lb  
+uF>2b6'  
mTop = mTop / PilarW / PilarH * 2 RXMISt3+{y  
mBot = mBot / PilarW / PilarH * 2 ,C\i^>=  
tH@Erh|%  
mAV = (mTop + mBot) / 2 + (mBot - mTop) / 4 '标志区平均亮度 8L=HW G!1  
DaQ?\uq  
'平均值极值化 j<m(PHSe  
  For j = 1 To PilarH * PilarW l K{hVqpt  
    MKpilar(j) = IIf(MKpilar(j) > mAV, 255, 0) c1(R uP:S  
  Next j etDk35!h~,  
   o+iiST JEe  
mTop = 0: mBot = 0 BiLY(1,  
For j = 1 To PilarH * PilarW / 2 soB,j3#p'*  
  mTop = mTop + MKpilar(j) +yG~T  
Next j (Bb5?fw  
>a<.mU|#  
For j = PilarH * PilarW / 2 + 1 To PilarH * PilarW /obfw^  
  mBot = mBot + MKpilar(j) AG nxYV"p  
Next j wq`s-qZu  
fC d&D  
P7bMIe  
  mTop = mTop / PilarH / PilarW * 3 RF$eQzW  
  mBot = mBot / PilarH / PilarW * 3 ;J( 8 L  
   5:[0z5Hww  
.<0ye_S'y  
If mBot > iWhite And mTop < iBlk Then 3lL-)< 0A(  
  CheckMark = True 88O8wJN  
Else =`oCLsz=  
  CheckMark = False ](]i 'fE>  
End If dw>C@c#"  
End Function 0@0w+&*"@  
BGZ#wru  
Sub Capture1Frame() KJUH(]>F  
   okCaptureTo hBoard, BUFFER, 0, 1 'single =osk+uzzG  
   okGetCaptureStatus hBoard, True dA}-]  
   MoveMemory pFRAME(1, 1), ByVal mBufferAddr, pFrameSize C\3rJy(VJ  
End Sub & GO}|W  
Ys9[5@7  
] Jg&VXrH  
Sub CopyMark(iBlk As Integer, iWhite As Integer) >{n,L6_ t  
'复制标志区并返回标志区暗区与亮区的亮度平均值 _IHV7*u{;  
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 FBX'.\@`  
   IxN9&xa  
'复制标志区 aH( J,XY  
For i = 1 To mkH kOrZv,qFG[  
   MoveMemory MKpilar((i - 1) * PilarW + 1), pFRAME(PilarX, PilarY + i), PilarW f1RWP@iar  
Next i wYXQlxdy  
Ux!p8  
For j = 1 To mkW * mkH / 2 5J.bD) yrP  
   mTotal = mTotal + MKpilar(j) Vi$~-6n&  
Next j IVnHf_PzF  
4}baSV  
iBlk = mTotal / (mkW * mkH / 2)  '标志区上部白区平均亮度 UBU=9a5  
m#Jmdb_  
mTotal = 0 w>&aEv/f  
For j = mkW * mkH / 2 + 1 To mkW * mkH h|9L5  
   mTotal = mTotal + MKpilar(j) HXC ;Np  
Next j dh\'<|\K  
\[i1JG  
iWhite = mTotal / (mkW * mkH / 2) '标志区下部黑区平均亮度 8P\G }  
7vKK%H_P  
'背景亮度 m]0;"jeL  
  MoveMemory BsLine(1), pFRAME(1, 1), 4 * FrameW 8}x:`vDK  
  For i = 1 To 4 * FrameW 1p3z1_wrs  
    bsTotal = bsTotal + BsLine(i) e`_ LEv  
  Next i y3Q sv  
  bsAV = bsTotal / FrameW / 4 |-67 \p]  
ij`w} V  
End Sub 1Faf$J~7|  
dm0R[[7  
z]y.W`i   
Sub AdjIMGbright(Optional bInit As Boolean = True) u(.e8~s8  
wo{gG?B  
  '自动调节亮度与对比度,此时处于无车辆状态(白天特别高,而夜间特别暗) =!A_^;NQf  
  '图像平均亮度白天不高于200(当车辆通过时可能会下降到100左右),不低于100 &{n.]]%O.  
  '            夜间不高于80(过高时通常是由于雪花噪声引起),但立柱不低于30 A1$TXr  
     +4~_Ei[i  
  Dim bsTotal As Long, i As Integer, iBlack As Integer, iBright As Integer vkV0On  
   \~mT] '5  
  '按标准亮度与对比度采集一帧,确定背景亮度 Lnl(2xD  
  currentContr = 128   '初始对比度 2DDtu[}  
  currentBr = 128   '初始亮度 \;,+   
  okSetVideoParam hBoard, VIDEO_BRIGHTNESS, currentBr '亮度 @l5"nBs<_:  
  okSetVideoParam hBoard, VIDEO_CONTRAST, currentContr '对比度 H [\o RId  
  DoEvents oG?Xk%7&\  
  Capture1Frame CI0C1/:@  
  '获得图像上缘4行象素 /)>3Nq4Zx  
  MoveMemory BsLine(1), pFRAME(1, 1), 4 * FrameW 9wUkh}s  
  CopyMark iBlack, iBright   '图像标志区亮度 |$Sedzj'  
  For i = 1 To 4 * FrameW r.&Vw|*>  
    bsTotal = bsTotal + BsLine(i) !;v|'I  
  Next i ?pmHFlx  
  bsAV = bsTotal / FrameW / 4    '图像上缘基线亮度 #$07:UJ  
   (_]~wi-,  
  Select Case bsAV 3,3N^nSD  
     Case 0 To 60    '夜间通过灯光照明,完全没有背景 R$<&ie6UQ  
       currentBr = 150 .p3,O6y2(F  
       currentContr = 60 9d659i C  
     Case 61 To 80   '有可见背景 `:KY\  
       currentBr = 140 Xza(k  
       currentContr = 70 Tn e4  
     Case 81 To 100  '有清晰背景 7hcYD!DS  
       currentBr = 128 &-6Gc;f8  
       currentContr = 80 :6 R\OeH+  
     Case 100 To 150  '有明亮背景 ;?i W%:_,  
       currentBr = 140                '5:30-6:00钟实测数据 9ULQrq$?  
       currentContr = 50 20h, ^  
     Case 151 To 180 ,AFu C <  
       currentBr = 130 WIxy}3_to  
       currentContr = 60 g}{aZ$sta  
     Case 181 To 220  '背景全为白色 %JBz5G  
       currentBr = 110 (NU NHxi5B  
       currentContr = 130 ;7V%#-  
     Case 221 To 255  '背景全为白色 R4cM%l_#W  
       currentBr = 100 `5.'_3  
       currentContr = 100 c ( C%Hld  
  End Select `i*E~'  
   ql{ OETn#  
  Select Case (iBlack + iBright) / 2   '图像反射光强度修正 '@KEi%-^>  
        Case 100 To 150 n0 {i&[I~+  
          currentBr = currentBr - 10 %)W2H^  
        Case 151 To 255 3z?> j]  
          currentBr = currentBr - 20 OX!tsARC@  
  End Select Do7Tj  
   D2 eckLT  
  okSetVideoParam hBoard, VIDEO_BRIGHTNESS, currentBr '亮度 I;|B.j  
  okSetVideoParam hBoard, VIDEO_CONTRAST, currentContr '对比度 xGg )Y#  
End Sub }@+0/ W?\.  
_S1>j7RQo  
Sub CopyCorner(rowID As Integer, diffL As Integer, diffR As Integer) :U%W%  
    Dim i As Integer, j As Integer, L1 As Long, L2 As Long, R1 As Long, R2 As Long 5coyr`7mP  
     x~~|.C ,  
    For i = 1 To 8 Y eo]]i{  
      MoveMemory LeftBK((i - 1) * 128 + 1, rowID), pFRAME(1, i), 128& }!r|1$,kL  
      MoveMemory RightBK((i - 1) * 128 + 1, rowID), pFRAME(640, i), 128& dn+KH+v  
    Next i ^"2 J]&x`G  
     \'D0'\:vz  
    For j = 1 To 1024 ?Ep [M:,q  
      L1 = L1 + LeftBK(j, 0) 5L%'@`mX  
      L2 = L2 + LeftBK(j, 1) Qd$nH8EDY  
      R1 = R1 + RightBK(j, 0) n M*%o-  
      R2 = R2 + RightBK(j, 1) mxC;?s;~  
    Next j =s2*H8]  
    diffL = Abs(L1 - L2) / 1024 /nNN,hz  
    diffR = Abs(R1 - R2) / 1024 ,!y$qVg'\f  
End Sub f}f9@>.  
Y"aJur=`  
Function CheckSlice() As Boolean #OD/$f_  
  CopySlice avSL, avSLR, avSLL S`0(*A[W*  
  If Abs(avSL - avSLL) > (Abs(avSLL - avSLR) + 5) * 4 Then ?P`K7  
    CheckSlice = True & l&:`nsJ  
  Else %T%sGDCV  
    CheckSlice = False oW*16>IN9l  
  End If i%]EEVmN  
End Function 9}<ile7^  
6SkaH<-&K  
Sub CopySlice(avSL As Integer, avSLR As Integer, avSLL As Integer) +gtbcF@rx  
  Dim i As Long, j As Long, total As Long, totalL As Long, totalR As Long xF'EiX~  
  For i = 1 To FrameH vJ[^  K  
    MoveMemory Slice(1, i), pFRAME(sPos, i), sSize ,/F~ Y&1I  
    MoveMemory SliceL(1, i), pFRAME(sPosL, i), sSize Yujiqi]J;  
    MoveMemory SliceR(1, i), pFRAME(sPosR, i), sSize .j0$J \:i  
  Next i ]Ie 0S~  
  For i = 1 To FrameH )23H1  
    For j = 1 To sSize vMH  
       total = total + Slice(j, i) )~JHgl  
       totalL = totalL + SliceL(j, i) "(~^w=d:$  
       totalR = totalR + SliceR(j, i) )'#A$ Fj  
    Next j 6j]0R*B7`Q  
  Next i 7' V@+5  
  avSL = total / FrameH / sSize f+,qNvBY/  
  avSLR = totalR / FrameH / sSize kfY}S  
  avSLL = totalL / FrameH / sSize EgCAsSx(  
End Sub '8H4shYg  
<)c)%'v  
Sub DrawSlice() m@v\(rT.  
   frmRecord.Picture1.Line (sPosL, 0)-(sPosL + sSize, FrameH), RGB(255, 0, 0), B Fj3a.'  
   frmRecord.Picture1.Line (sPos, 0)-(sPos + sSize, FrameH), RGB(0, 255, 0), B ;))+>%SGCt  
   frmRecord.Picture1.Line (sPosR, 0)-(sPosR + sSize, FrameH), RGB(0, 0, 255), B )U:m:cr<  
   frmRecord.RText.Text = Str(avSLL) & "/" & Str(avSL) & "/" & Str(avSLR) h2]P]@nW;W  
End Sub K!Y71_#  
Sub DrawMark(pic As Control) u?(d gJ  
   Dim i As Long, j As Long !ons]^km   
   pic.Line (PilarX, FrameH - PilarY)-(PilarX + PilarW, FrameH - PilarY - PilarH / 2), RGB(255, 0, 0), B Vaw+.sG`AP  
   pic.Line (PilarX, FrameH - PilarY - PilarH / 2 - 1)-(PilarX + PilarW, FrameH - PilarY - PilarH), RGB(0, 0, 255), B k2tF}  
   For i = 1 To PilarH :>f )g  
     For j = 1 To PilarW :KP @RZm  
       pic.PSet (PilarX + PilarW + 10 + j, FrameH - PilarY - i), RGB(MKpilar((i - 1) * PilarW + j), 0, 0) )lqAD+9Q  
     Next j FbFPJ !fb  
   Next i hRCJv#]HC  
End Sub bJ {'<J  
K;H&n1  
Function avIMG() As Integer "_NN3lD)X  
  Dim i As Long, j As Long, totalIMG As Long '$(^W@M#6  
  MoveMemory pBuffer(1), pFRAME(1, 1), pFrameSize 8^+%I/S$  
  For i = 1 To pFrameSize :bq8N@P/  
    totalIMG = totalIMG + pBuffer(i) ~-Qw.EdC  
  Next i rcG"o\ g@+  
  avIMG = totalIMG / pFrameSize A[{yCn`tM  
End Function C XMLt  
'yEHI  
Function avRegion(barCol As Integer, barWidth As Integer) As Integer ^%{7}g&$u  
  Dim i As Long, j As Long, totalIMG As Long g@!V3V  
  For i = 1 To FrameH }!.(n=idZ  
     MoveMemory pBuffer((i - 1) * barWidth + 1), pFRAME(barCol, i), barWidth D.u{~  
  Next i 08\, <9  
  For i = 1 To FrameH * barWidth 0-Ku7<a  
    totalIMG = totalIMG + pBuffer(i) vw/J8'  
  Next i aSQ#k;T[  
  avRegion = totalIMG / pFrameSize O- hAFKx  
End Function G}raA%  
杺栫杣杊椌柮栬,䒴蓉艿芖。
伍胥之 离线
级别: 军区司令员

显示用户信息 
91楼  发表于: 2015-09-06   
'VB 6.0 版 KRRdXx\~  
'这不是我写的,它更强悍了。因为可以直接读写物理扇区(CHS),而不是逻辑扇区。 qqY"*uJ'  
~HsJUro  
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 !?h;wR  
Private Declare Function CloseHandle Lib "kernel32" (ByVal hObject As Long) As Long 2uW; xfeY  
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 Z=o2H Bm7  
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 :OT0yA=U  
Private Declare Function SetFilePointer Lib "kernel32" (ByVal hFile As Long, ByVal lDistanceToMove As Long, lpDistanceToMoveHigh As Long, ByVal dwMoveMethod As Long) As Long z$. 88 ^  
'如果用绝对扇区写,那么文件的建立打开都不能用VB的 open 语句了。 }9OC,Y8?D  
qfm|@v|De5  
O m2d .7S  
Private Const GENERIC_READ = &H80000000 &@OT*pNna  
Private Const GENERIC_WRITE = &H40000000 /7F:T[  
=X:Y,?  
Private Const FILE_SHARE_READ = &H1 vXZOy%$o  
Private Const FILE_SHARE_WRITE = &H2 xY(*.T 9K  
Private Const OPEN_EXISTING = 3 )F]]m#`  
0GCEqQy8  
Private Const INVALID_HANDLE_VALUE = -1 @K !T,U  
xfe+n$~ c  
'//file seek =-n}[Y}A  
Private Const FILE_BEGIN = 0 &B1WtW  
Private Const FILE_CURRENT = 1 `1fY)d^ZS  
Private Const FILE_END = 2 9qzHS~l  
GGs}i1m  
Private Const ERROR_SUCCESS = 0& y_-0tI\J  
p}~JgEE  
'//device io control {hrX'2:ClT  
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 5Yq@;e  
I1M%J@Cz  
Private Const IOCTL_DISK_GET_DRIVE_GEOMETRY As Long = &H70000   '458752 {cVEmvE8  
Private Const IOCTL_STORAGE_GET_MEDIA_TYPES_EX  As Long = &H2D0C04 B W*rIn<?G  
Private Const IOCTL_DISK_FORMAT_TRACKS As Long = &H7C018 `b7t4d*  
Private Const FSCTL_LOCK_VOLUME As Long = &H90018 ~=l;=7 T  
Private Const FSCTL_UNLOCK_VOLUME As Long = &H9001C 2pa5U;u:+  
Private Const FSCTL_DISMOUNT_VOLUME As Long = &H90020 meO:@Z0  
Private Const FSCTL_GET_VOLUME_BITMAP = &H9006F A$0fKko  
7~.9=I'A  
'//type +',S]Edx  
Private Type LARGE_INTEGER ;iL#7NG-R  
    lowpart As Long u\;C;I-? '  
    highpart As Long W.KDVE$}f  
End Type +a{1)nCXe  
8'io$ 6d=  
Private Enum MEDIA_TYPE /@TF5]Ri  
    Unknown RMu~l@  
    F5_1Pt2_512 BUXpC xQ  
    F3_1Pt44_512 yYA$I'Bm\  
    F3_2Pt88_512 'zuIBOH`j3  
    F3_20Pt8_512 M%P:n/j  
    F3_720_512 s9DYi~/,  
    F5_360_512 >U27];}y  
    F5_320_512 j'"J%e]  
    F5_320_1024 y _k l:Ssa  
    F5_180_512 fuf"Ae  
    F5_160_512 $DaNbLV  
    RemovableMedia vV-`jsq20H  
    FixedMedia J}K$(;:  
End Enum 6mxfLlZ  
A#iV=76_  
Private Type DISK_GEOMETRY \\;jw[P0  
    Cylinders           As LARGE_INTEGER ~V1E0qdAE  
    MediaType           As MEDIA_TYPE 1K50Z.o&@  
    TracksPerCylinder   As Long sS'm !7*(3  
    SectorsPerTrack     As Long ` 7V]y -  
    BytesPerSector      As Long GH$pKB  
End Type .Vvx,>>D  
kJT )r6  
'//private vars Ean5b>\  
Private hDisk           As Long             'disk handle RQ" ,3.R==  
Private lpGeometry      As DISK_GEOMETRY    'disk info ,(^*+G.i  
Private lBufferSize     As Long             'the buffer size of read/write 5K8^WK  
^o&. fQ*  
Public Function OpenDisk(ByVal FileName As String) As Boolean ~dTrf>R8M  
'// 打开磁盘 q#9RW(o  
    hDisk = CreateFile(FileName, _ e1Hg w[l`  
                        GENERIC_READ Or GENERIC_WRITE, _ e8?jmN`2  
                        FILE_SHARE_READ Or FILE_SHARE_WRITE, _ k=T\\]KxC  
                        ByVal 0&, _ 1?+St`+{B-  
                        OPEN_EXISTING, _ M&9+6e'-F  
                        0, _ )=_,O=z$K  
                        0) $}<e|3_  
    OpenDisk = Not (hDisk = INVALID_HANDLE_VALUE) T!)(Dv8@F  
End Function '!~)?C<  
mGg+.PFsM  
Public Function CloseDisk() As Boolean q(W3i^778  
'//关闭磁盘 F0Yd@Lk$_  
    CloseDisk = CloseHandle(hDisk) 5MJS ~(  
End Function 5D//*}b,  
 z[qDkL  
Public Function GetDiskGeometry() As Boolean `1IgzKL9  
'//获取磁盘参数 lZKi'vg7  
    Dim dwOutBytes      As Long $Ri; ^pZw[  
    Dim bResult         As Boolean $c(nF01  
     a~y'RyA  
    bResult = DeviceIoControl(hDisk, _ wgGl[_)  
                                IOCTL_DISK_GET_DRIVE_GEOMETRY, _ B>P{A7Q  
                                ByVal 0&, 0, _ ":QZy8f9%  
                                lpGeometry, Len(lpGeometry), _ pG;U2wE  
                                dwOutBytes, _ tJ$_lk ~6q  
                                ByVal 0&) CryBwm  
     07{)?1cod4  
    If bResult Then lBufferSize = lpGeometry.BytesPerSector * lpGeometry.SectorsPerTrack U26}gT)  
    GetDiskGeometry = bResult bdE[;+58  
End Function }a( dyr`S  
4zFW-yy  
Public Sub GetDiskInfo(MediaType As Long, _ ?)d~cJ  
                        Cylinders As Long, _ m G YoM  
                        TracksPerCylinder As Long, _ A;?|& `f  
                        SectorsPerTrack As Long, _ 5">Z'+8  
                        BytesPerSector As Long) ,/|T-Ka  
'//返回磁盘的参数 8$Y9ORs4  
    MediaType = lpGeometry.MediaType suDQ~\ n  
    Cylinders = lpGeometry.Cylinders.lowpart bq0zxg%  
    TracksPerCylinder = lpGeometry.TracksPerCylinder di )L[<$DY  
    SectorsPerTrack = lpGeometry.SectorsPerTrack V+9 MoT?8  
    BytesPerSector = lpGeometry.BytesPerSector 'YSHi\z ](  
-r]W  
End Sub SSMHoJGm  
q9s=~d7  
Public Property Get BufferSize() As Long G2: agqL/  
'//返回每次读/写的缓冲大小 ;vjOUn[E  
    BufferSize = lBufferSize NyNXP_8  
End Property _u QOHwn  
p9{mS7R9T  
:& ."ttf=  
Public Function LockVolume() As Boolean C,|,-CY  
'// 将卷锁定 89(Q1R ?:  
    Dim dwOutBytes  As Long =fFP5e ['  
    Dim bResult     As Boolean ^SrJu:Q_  
     d5:c^`  
    bResult = DeviceIoControl(hDisk, _ =]0&i]z[.  
                                FSCTL_LOCK_VOLUME, _ FXkM#}RgNm  
                                ByVal 0&, 0, _ m^;f(IK5  
                                ByVal 0&, 0, _ ,.FxIl ]  
                                dwOutBytes, _ )bscBj@  
                                ByVal 0&) xdkZdx>N  
    LockVolume = bResult /aZ`[m2  
End Function R~ q]JSIC@  
M[,@{u/  
smo~7;  
Public Function UnlockVolume() As Boolean -m~#Bq  
'// 将卷解锁 Yr[\|$H5  
    Dim dwOutBytes As Long onxLyx|A  
    Dim bResult As Boolean 4~Q/"hMSkO  
     ge8ZsaiU  
    bResult = DeviceIoControl(hDisk, _ L) T (<  
                                FSCTL_UNLOCK_VOLUME, _ draN0v f  
                                ByVal 0&, 0, _ {&1/ V  
                                ByVal 0&, 0, _ a<bwzX|.  
                                dwOutBytes, _ ~oY^;/ j  
                                ByVal 0&) u.xnOcOH!  
    UnlockVolume = bResult "@2-Zdrr1<  
End Function ?^\|-Gr  
*u;Iw{.{  
&&>ekG 9@  
Public Function DismountVolume() As Boolean .U]-j\  
'// 将卷卸下,使系统重新辨识磁盘,等效于重新插盘 YS"=yye 3e  
    Dim dwOutBytes As Long ^s"R$?;h  
    Dim bResult As Boolean pIqeXY  
     ji0@P'^;  
    bResult = DeviceIoControl(hDisk, _ Y`a3t O=Pd  
                                FSCTL_DISMOUNT_VOLUME, _ C1 *v,i  
                                ByVal 0&, 0, _ z!9-:  
                                ByVal 0&, 0, _ nZYBE030  
                                dwOutBytes, _ 1/J=uH  
                                ByVal 0&) </*6wpN  
    DismountVolume = bResult ak!G8'w  
End Function kMN~Y  
}:)&u|d_  
P( 8OQL:  
Public Function ReadDisk(ByVal Cylinders As Long, _ &0JI!bR(  
                    ByVal Tracks As Long, _ gc$l^`+M  
                    db() As Byte) As Boolean f(MO_Sj]  
'//按柱面和磁道来读取磁盘数据 U&p${IcEm  
    Dim iPos    As Long h M@>q&q_  
    Dim lRead   As Long JT_ `.(  
     @b2aNS<T  
    iPos = Cylinders * Tracks * lBufferSize -6B4sZpzD  
     A6(/;+n  
    If SeekAbsolute(0, iPos) Then r\^b(rNe  
        ReadDisk = ReadBytes(lBufferSize, db(), lRead) 7J<5f)  
    End If 9q~s}='"  
End Function RPRBmb940  
c9h6C  
Public Function WriteDisk(ByVal Cylinders As Long, _ P+/e2Y  
                     ByVal Tracks As Long, _ 6(ol1 (U  
                     db() As Byte) As Boolean c\AfaK^KF  
'//按柱面和磁道来写磁盘数据 Ta\tYZj$  
    Dim iPos    As Long C]A.i2o8  
    Dim lRead   As Long [ v*ju!  
     A2Gevj?F$  
    iPos = Cylinders * Tracks * lBufferSize l!u_"I8j5  
     [`7ThHX  
    If SeekAbsolute(0, iPos) Then #S"nF@   
        WriteDisk = WriteBytes(lBufferSize, db()) P-"y3 ZE=  
    End If B^^#D0<  
End Function _xhax+,! ~  
1p=]hC  
Uz]|N6`  
'///////////////////////////////////////////////////////////////////////////////////// c5GuM|*7  
'//file system H9e<v4 c  
v y I!]p  
Private Function SeekAbsolute(ByVal HighPos As Long, ByVal LowPos As Long) As Boolean ;NITc  
'//seek file _.8S&  
    '//Notice: when you set LowPos=5, the read/write will begin with the 6th(LowPos+1) byte U-M>=3|N  
    LowPos = SetFilePointer(hDisk, LowPos, HighPos, FILE_BEGIN) R8'RA%O9J  
    If LowPos = -1 Then 8bld3p"^  
        SeekAbsolute = (Err.LastDllError = ERROR_SUCCESS) -nV9:opD  
    Else rFL;'C j@  
        SeekAbsolute = True ?$4 PVI}  
    End If * 0=j?~&  
     YUk\Q%  
End Function E r?&Y,o  
ZPYS$Ydy  
?&1!vz  
Private Function ReadBytes(ByVal ByteCount As Long, ByRef DataBytes() As Byte, ByRef ActuallyReadByte As Long) As Boolean (SAs-  
'//read data to array 6T`i/".  
    Dim RetVal    As Long KPUV@eQ,  
    RetVal = ReadFile(hDisk, DataBytes(0), ByteCount, ActuallyReadByte, 0) c{w2Gt!  
    'ActuallyReadByte =>> if the bytesRead=0 mean EOF d7bS wL  
    ReadBytes = Not (RetVal = 0) h@ry y\9  
     <wD-qTW  
End Function P5 ywhw-  
$ (x]  
Private Function WriteBytes(ByVal ByteCount As Long, ByRef DataBytes() As Byte) As Boolean '^UI,"T i  
'//write data from array f4|rVP|x  
    Dim RetVal As Long |&i<bqLw:  
    Dim BytesToWrite As Long IjnU?Bf  
    Dim BytesWritten As Long t"oeQ*d%  
     `<d }V2rdz  
    RetVal = WriteFile(hDisk, DataBytes(0), ByteCount, BytesWritten, 0) _X x/(.O  
     &{t,'[ u  
    WriteBytes = Not (RetVal = 0) &Au@S$ij  
End Function 13x p_j  
杺栫杣杊椌柮栬,䒴蓉艿芖。
伍胥之 离线
级别: 军区司令员

显示用户信息 
90楼  发表于: 2015-09-05   
//从指定扇区号dwSector开始,写dwLength长度的数据 4BpZJ~(p  
BOOL WriteDisk( HANDLE hpartition, DWORD dwSector, DWORD dwLength, char* lpBuffer){ "VMz]ybi^  
DWORD dwCB; AFwdJte9e  
LARGE_INTEGER  offset; .(k|wX[Fu~  
offset.QuadPart  =  UInt32x32To64(dwSector ,  512); KVa  
SetFilePointer(hpartition,  offset.LowPart,  &offset.HighPart,  FILE_BEGIN); 63IM]J  
if(!WriteFile(hpartition, lpBuffer, dwLength * 512, &dwCB, NULL)){ >i?oC^QM  
DWORD error = GetLastError(); Wmv#:U  
MessageBox(NULL,"写入文件失败!",NULL,IDOK); SOA,kwHRe  
return FALSE; Ml-6 OvQ7g  
} pOoEI+t  
return TRUE; c@L< Z`u  
} $/Uq0U  
杺栫杣杊椌柮栬,䒴蓉艿芖。
伍胥之 离线
级别: 军区司令员

显示用户信息 
89楼  发表于: 2015-09-05   
引用
引用第46楼清水于03-03-2011 14:50发表的  : -X6PRE5a2  
5~DJWi,  
介个真的看不懂。 B/Ws_Kv  
你说你老啦,喜欢怀旧了,才想起来填坑。 b4Ekqas  
提醒我也想想,是不是也老啦,是不是也有坑没填呢。 "qy,*{~  
%JTpI`  
/Z}}(6T  
你肯定有许多坑没有填,但是我挖的坑更多,但同是我也在你的某个坑里等你填埋呢!
杺栫杣杊椌柮栬,䒴蓉艿芖。
伍胥之 离线
级别: 军区司令员

显示用户信息 
88楼  发表于: 2015-09-05   
Re:回 38楼(伍胥之) 的帖子
引用
引用第39楼suehan234于01-22-2011 08:00发表的 回 38楼(伍胥之) 的帖子 : {?7Uj  
佩服,玩也玩得这么专业! w_VP J  
,|/f`Pl  
Qn2&nD%zi  
只是票友而已,算不上专业的。
杺栫杣杊椌柮栬,䒴蓉艿芖。
伍胥之 离线
级别: 军区司令员

显示用户信息 
87楼  发表于: 2015-09-05   
引用
引用第25楼猪小秘于01-20-2011 20:51发表的  : fI|$K )K  
伍SIR,再次抱拳佩服 p5*jzQ  
 /G`]=@~  
ML p9y#  
小秘倒是好久不见了呢!宝贝几岁了?很健康活泼吧?
杺栫杣杊椌柮栬,䒴蓉艿芖。
伍胥之 离线
级别: 军区司令员

显示用户信息 
86楼  发表于: 2015-09-05   
引用
引用第21楼阿散于06-14-2010 22:33发表的  : EiaW1Cs  
引用第19楼伍胥之于06-14-2010 12:33发表的  : wdoR%b{M  
,/U6[P_C5  
bhs _9ivw  
我平生唯一参加的计算机考试就是职称考试,任选4个模块。 @E8+C8'  
c[s4EUG  
我连一级也没有考过。 *=xr-!MEk  
.
u]G\H!Wk Q  
$Y gue5{c  
引用
{\\T gs  
矬子里拔将军... DW3G  
你们那里的俗语是吧? JsS-n'gF'  
 f)<6  
我们这里说"矮子里拔长脚"..应该是同一个意思... R^e'}+Z  
!TcJ)0   
有趣....各地有表达意思一样却方式不同的俗语.... BL4-7  
Kf-JcBsrT  
IvNT6]6 P  
你的文章写的有脸皮,没屁眼的, $Z>'Jp  
让看客大为不满... (QiAisE  
Y|/ 8up  
你等着,,估计你以后接到的午夜凶铃就多了... ,tRj4mx  
8l">cVo]T  
%SUQ9\SEs  
我到现在也没有接到你的午夜凶铃呢! J,6yYIq  
杺栫杣杊椌柮栬,䒴蓉艿芖。
伍胥之 离线
级别: 军区司令员

显示用户信息 
85楼  发表于: 2015-09-05   
引用
引用第17楼阿散于06-13-2010 22:29发表的  : S`]k>' l  
每个人的故事对其他人都是故事, YA5g';$H*  
自己的故事也是其中之一. Q=dy<kg']  
跳出来看, N4HqLh 23H  
不过是众人中的一个人的故事. -D~%| ).'  
ijU*|8n{>  
所以,接着听故事. ]J]h#ZHx  
h@wgd~X9  
女人们有兴趣的就等老伍开个新帖或者跟贴, v(%*b,^  
听他痛说恋爱革命历史.... -35;j' a  
QSf|nNT  
杂家接着听他自学程序员历史, 7cMv/g^ h@  
高级程序员考了吗? 0Y5_PTWb+Y  
PTV:IzoW  
j_ 7mNIr  
这个恋爱革命史还是等你痛改前非换个新ID来讲吧! >c}u>]D  
~7Ux@Sx;  
我什么程度员也没有考过,连大学生的计算机应用等级证明都没有。 )BfAw  
H" 7u7l  
我唯一考过的计算机科目是职称评审时要求有证书,所以我用了半小时考了word, powerpoint,和internet基础。都是小儿科的东东。如果没有用VBA写个Word的宏,我都觉得对不起微软了。 J4U1t2@)9  
杺栫杣杊椌柮栬,䒴蓉艿芖。
伍胥之 离线
级别: 军区司令员

显示用户信息 
84楼  发表于: 2015-09-05   
引用
引用第16楼阿平于06-13-2010 22:25发表的  : x-3\Ls[I  
哦, 打倒忽悠大家的家伙.      lnR{jtWP  
o{[YA} xc  
6)Lk-D  
阿平姐,这可不是忽悠,我可是认真交待经历呢!
杺栫杣杊椌柮栬,䒴蓉艿芖。
伍胥之 离线
级别: 军区司令员

显示用户信息 
83楼  发表于: 2015-09-05   
引用
引用第10楼卡拉于06-13-2010 21:49发表的  : 'b{]:Y  
老伍,对不住,我把你原来的英文标题改了,太不吸引人眼球了,有些人还当是英文的都不会去点击。我通篇读了一下,改成了现在的标题。如果你不喜欢,可以改回来。 `W*U4?M  
~Jz6O U*z  
tZG:Pr1U@  
其实标题没有什么,卡总既然改了就不必再改回了。 3$ 9W%3  
'Qe;vZ31K  
主要是当初写的时候真是顶着锅盖写的。 sLAQE64\"  
kW&TJP+5*  
阿散说得对。我就是把一堆鸡毛蒜皮的小事,用了一个big title.
杺栫杣杊椌柮栬,䒴蓉艿芖。
描述
快速回复

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