亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        如何運(yùn)用vba繪制游標(biāo)卡尺

        2011-05-18 11:42:06張小建
        物理教師 2011年2期

        張小建

        (江蘇省木并茶高級(jí)中學(xué),江蘇 如東 226406)

        游標(biāo)卡尺作為基本測(cè)量工具之一,自然是考查的熱點(diǎn).物理教師在編制試卷時(shí),最困難的就是繪制游標(biāo)卡尺.很多教師就采用其他軟件繪制然后以圖片的形式復(fù)制到word里,再經(jīng)過縮放等操作后往往會(huì)出現(xiàn)模糊、變形、鋸齒等現(xiàn)象.實(shí)際上用word里嵌套的vba編程工具就可很準(zhǔn)確的畫出游標(biāo)卡尺.下面就把筆者在實(shí)際工作中積累的一點(diǎn)經(jīng)驗(yàn)介紹給大家,以供參考.

        1 Word的對(duì)象及坐標(biāo)系

        運(yùn)用vba畫游標(biāo)卡尺主要用到一個(gè)集合對(duì)象:Shapes.其方法又與Word坐標(biāo)系有關(guān)系.

        1.1 Shapes集合對(duì)象

        Shapes集合對(duì)象是隸屬于 Document對(duì)象.Shapes集合對(duì)象代表文檔中或者文檔頁(yè)眉和頁(yè)腳中的所有圖形.本文運(yùn)用Shapes集合對(duì)象的兩個(gè)方法添加形狀.Addline方法添加直線,AddTextbox方法添加文本框.

        1.2 word的坐標(biāo)系

        Word坐標(biāo)系的坐標(biāo)原點(diǎn)在Document對(duì)象的左上角,橫向向右為x軸正方向,縱向向下為y軸正方向.量度值為磅,允許兩位小數(shù),可以滿足一般用戶的精度要求.

        2 Addline方法和AddTextbox方法

        運(yùn)用vba繪制游標(biāo)卡尺主要就是用Shapes集合對(duì)象的這兩種方法.

        2.1 Addline方法

        在文檔中添加一條直線.返回一個(gè)代表該直線的Shape對(duì)象,并將其添加到Shapes集合.

        語(yǔ)法:expression.AddLine(BeginX,BeginY,EndX,EndY)

        各參數(shù)解釋:

        expression 必需.該表達(dá)式返回一個(gè)Shapes對(duì)象.

        BeginX Single 類型,必需.直線起點(diǎn)相對(duì)于鎖定標(biāo)記的水平位置,以磅為單位.

        BeginY Single 類型,必需.直線起點(diǎn)相對(duì)于鎖定標(biāo)記的垂直位置,以磅為單位.

        EndX Single 類型,必需.直線終點(diǎn)相對(duì)于鎖定標(biāo)記的水平位置,以磅為單位.

        EndY Single 類型,必需.直線終點(diǎn)相對(duì)于鎖定標(biāo)記的垂直位置,以磅為單位.

        2.2 AddTextbox方法

        在文檔中添加一個(gè)文本框.返回一個(gè)代表該文本框Shape對(duì)象,并將其添加到Shapes集合.

        語(yǔ)法:expression.AddTextbox(Orientation,Left,Top,Width,Height)

        各參數(shù)解釋:

        expression 必需.該表達(dá)式返回“應(yīng)用于”列表中的一個(gè)對(duì)象.

        Orientation MsoTextOrientation 必需.指定文本的方向.

        Left Single 類型,必需.文本框左側(cè)邊緣的位置,以磅為單位.

        Top Single 類型,必需.文本框上部邊緣的位置,以磅為單位.

        Width Single 類型,必需.文本框的寬度,以磅為單位.

        Height Single 類型,必需.文本框的高度,以磅為單位.

        提示:在編寫vba代碼時(shí),要充分利用好vba的幫助.

        3 算法及主程序

        以10格游標(biāo)卡尺為例進(jìn)行算法說明,20格、50格游標(biāo)卡尺算法類似.

        ybcgs=10′游標(biāo)尺格數(shù).

        l=TextBox1.Text′ 通過文本框獲取需要繪制游標(biāo)卡尺的讀數(shù)值,以mm單位.

        zcl=Int(l)′ 需要繪制游標(biāo)卡尺的讀數(shù)值的整數(shù)部分,主尺上的第一條刻度是zcl-3.

        zczxfd=10′ 主尺最小分度的屏幕長(zhǎng)度,以磅為單位.相當(dāng)于游標(biāo)卡尺主尺的最小分度1 mm.

        zkds=7+ybcgs′ 主尺總刻度數(shù).

        zccd=80+ybcgs*zczxfd′ 主尺總長(zhǎng)度(磅).

        If zcl<6 Then′ 通過以下算法返回主尺整厘米刻度值的第1個(gè)刻度值.

        bzckd=Round((zcl/10),0)

        Else

        bzckd=Round((zcl/10)+0.1,0)

        End If

        ybzxfd=zczxfd*(1-(1/ybcgs))′ 游標(biāo)卡尺最小分度的屏幕長(zhǎng)度(磅).

        Set docActive=ActiveDocument

        docActive.Shapes.AddLine(80,180,80+zccd,180).Select′ 畫主尺橫線.

        再利用line的屬性設(shè)置直線的格式(代碼略).

        For i=1 To zkds′ 畫主尺刻度線.

        If(zcl-4+i)/10=bzckd Then

        docActive.Shapes.AddLine(80+zczxfd*i,172,80+zczxfd*i,180).Select′畫整數(shù)厘米刻度線.

        docActive.Shapes.AddTextbox

        (msoTextOrientationHorizontal,80+zczxfd*i-2,162,8,10).Select′在整數(shù)厘米刻度線位置添加一個(gè)文本框.再利用TextFrame屬性設(shè)置文本框的格式(代碼略).

        Selection.TypeText Text:=bzckd′ 寫整數(shù)厘米刻度值.

        bzckd=bzckd+1

        ElseIf l<6 And i=1 Then′ 讀數(shù)值小于6mm,主尺的第一個(gè)刻度線為零值.

        docActive.Shapes.AddLine(80+zczxfd*i,172,80+zczxfd*i,180).Select′ 畫整數(shù)厘米刻度線

        docActive.Shapes.AddTextbox

        (msoTextOrientationHorizontal,80+zczxfd*i-2,162,8,10).Select′在整數(shù)厘米刻度線位置添加一個(gè)文本框.再利用TextFrame屬性設(shè)置文本框的格式(代碼略).Selection.TypeText Text:=bzckd′ 寫整數(shù)厘米刻度值

        bzckd=bzckd+1′ 刻度值加 1,返回下一個(gè)整厘米刻度值.

        zcl=3′因?yàn)橐话阒鞒叩牡谝粭l刻度線是zcl-3,而讀數(shù)值小于6mm的第一條刻度線是零,故要給zcl重新賦值,根據(jù)算法推算為zcl=3.

        Else

        docActive.Shapes.AddLine(80+zczxfd*i,175,80+zczxfd*i,180).Select′ 畫主尺刻度線.

        End If Next

        ′畫游標(biāo)尺刻度線

        n=0

        If l<6 Then′ 通過以下算法返回游標(biāo)尺零刻度線的位置.

        ybl=zczxfd*(l+1)

        Else

        ybl=zczxfd*(l-Int(l)+4)

        End If

        For II=0 To ybcgs ′畫游標(biāo)尺的刻度線.

        If II=5*n Then ′每 5格標(biāo)一個(gè)格數(shù)值

        n=n+1

        docActive.Shapes.AddLine(80+ybl+ybzxfd*II,180,80+ybl+ybzxfd*II,187).Select

        docActive.Shapes.AddTextbox (msoTextOrientationHorizontal,80+ybl+ybzxfd*II-2,188,15,10).Select

        再利用TextFrame屬性設(shè)置文本框的格式(代碼略).

        Selection.TypeText Text:=II

        Else

        docActive.Shapes.AddLine

        (80+ybl+ybzxfd*II,180,80+ybl+ybzxfd*II,185).Select

        End If

        Next

        With docActive.Shapes′ 畫游標(biāo)尺的邊框.

        AddLine(75+ybl,180,75+ybl,200).Select

        AddLine(88+ybl+ybzxfd*ybcgs,180,88+ybl+ybzxfd*ybcgs,200).Select

        AddLine(75+ybl,200,88+ybl+ybzxfd*ybcgs,200).Select

        End With

        繪制游標(biāo)卡尺的效果如圖1所示:

        圖1

        4 結(jié)束語(yǔ)

        利用vba編程能拓展office辦公軟件的功能和提升工作效率,提高教學(xué)質(zhì)量.此代碼也可移植到PPT中制作交互性很強(qiáng)的課件,也可仿照著繪制其他基本測(cè)量工具的讀數(shù)練習(xí),如螺旋測(cè)微器、電表讀數(shù)等.

        啊v在线视频| 国产成人亚洲精品无码av大片| 一边吃奶一边摸做爽视频| 国产精品成人va| 国产亚洲AV片a区二区| 国产美女高潮流白浆视频| 午夜爽爽爽男女免费观看影院| 国产真实夫妇视频| 国产夫妻av| 国产在线精彩自拍视频| 国产在线一区二区三区乱码| 欧洲vat一区二区三区| 欧美日韩国产成人高清视| 国产精品一区区三区六区t区| 男女搞事在线观看视频| 精品亚洲成a人无码成a在线观看| 亚洲丁香五月激情综合| 亚欧视频无码在线观看| 男女上床免费视频网站| 99久久免费只有精品国产| 天堂√最新版中文在线天堂| 丝袜人妻无码中文字幕综合网| 亚洲天堂av在线免费观看| 久久久久无码国产精品一区| 永久免费观看的毛片手机视频| 亚洲成a人片在线观看高清| 一区二区高清免费日本| 日韩av无码中文无码电影| 亚洲va欧美va国产综合| av无码特黄一级| 中文字幕av人妻少妇一区二区| 久久精品国产精油按摩| 在线欧美不卡| 丰满人妻一区二区三区精品高清| 97人妻人人揉人人躁九色| 99久久久精品免费观看国产| 欧美精品aaa久久久影院| 精品精品国产一区二区性色av| 国产欧美一区二区精品久久久| 亚洲中文字幕无码爆乳av| 亚洲国产日韩av一区二区|