利用VBA宏代碼繪制直線,可以設(shè)置線性,設(shè)置直線顏色,對直線進(jìn)行操作。
繪制直線主要用到addline函數(shù),該函數(shù)接受兩個(gè)參數(shù),第一個(gè)參數(shù)指點(diǎn)直線起點(diǎn)startpoint,第二個(gè)參數(shù)指定直線終點(diǎn)endpoint,新的直線實(shí)例被添加到繪圖空間。
定義繪制直線的函數(shù)creatline,代碼如下。
Sub creatline()
Dim startpoint(0 To 2) As Double
Dim endpoint(0 To 2) As Double
startpoint(0) = txtstartpointx
startpoint(1) = txtstartpointy
startpoint(2) = txtstartpointz
endpoint(0) = txtendpointx
endpoint(1) = txtendpointy
endpoint(2) = txtendpointz
With ThisDrawing.ModelSpace
.AddLine startpoint, endpoint
.Item(.Count – 1).Update
End With
End Sub
代碼完。
函數(shù)第一行聲明函數(shù)定義,函數(shù)體中首先定義兩個(gè)雙精度實(shí)數(shù)型數(shù)組,用來存放直線的起點(diǎn)和重點(diǎn),創(chuàng)建的用戶窗體上包含六個(gè)text控件,分別用于用戶輸入直線的起點(diǎn)重點(diǎn)坐標(biāo),最后用addline函數(shù)將直線添加到圖紙空間。
用一個(gè)button按鈕控件來調(diào)用上面定義的creatline函數(shù),按鈕名稱命名為cmdcreatline,代碼如下。
Private Sub cmddrawline_Click()
creatline
End Sub
代碼完。
同時(shí)在用戶窗體添加的button按鈕控件,按鈕名稱命名為cmdexit,用來退出程序,代碼如下。
Private Sub cmdexit_Click()
End
End Sub
代碼完。
每一個(gè)VBA工程中至少包含一個(gè)宏代碼,選擇插入-模塊,添加如下宏代碼。
Sub drawline()
frmlineinput.Show
End Sub
調(diào)試程序,選擇工具-宏,運(yùn)行剛剛創(chuàng)建的drawline宏,彈出用戶窗體,輸入起點(diǎn)和終點(diǎn)坐標(biāo),單擊cmdcreatline按鈕,即可在圖紙空間看到繪制的直線,單擊cmdexit按鈕,窗口關(guān)閉,程序結(jié)束。