首頁 > 科技

VBA類模組程式設計應用,設計一個計算長方形周長、面積功能

2021-08-23 03:04:02

類模組是VBA的靈魂,這是個不可捉摸的幻影,但是真真切切地又存在。

如果掌握了類模組的使用,那麼在處理各種應用的過程當中就遊刃有餘了。

本節通過一個示例,學習一下類模組中都可以做些什麼?

如下圖所示,設計一個計算長方形或長方體的周長,面積和體積的簡單應用。

輸入長方形的長、寬和高,計算出結果來。同時可以繪製一個圖形顯示一個大概的效果。

窗體制作這裡就略過,可以用各種辦法完成,之前的文章也有介紹。

重點在滑鼠單擊按鈕上面的程式碼,為什麼說類模組是靈魂,因為滑鼠事件之下,可以完成一些我們無法察覺的變化。

首先新建一個類模組,模組名為rectangle,然後編輯如下程式碼:

Option Explicit

Public WithEvents cst As MSForms.Image '定義一個圖形物件

Public w As Double '定義變數 寬

Public h As Double '定義變數 高

Public l As Double '定義變數 長

Public Function S() As Variant '計算面積函數

S = VBA.Format(w * l, "0.00")

End Function

Public Function C() As Variant '計算周長函數

C = VBA.Format(2 * (w + l), "0.00")

End Function

Public Function V() As Variant '計算體積函數

V = VBA.Format(w * h * l, "0.00")

End Function

Public Sub DrowR(cobj As Object) '繪製圖形過程

With cobj

.Visible = True

.Width = w

.Height = l

.BackColor = RGB(211, 2, 2)

End With

End Sub

程式碼中很清楚地看到,可以定義變數,可以定義函數,可以定義過程。

那麼如何來使用這些定義的變數和函數過程呢?

用了下面的程式碼,在按鈕單擊事件中編寫如下程式碼:

Option Explicit

Dim g As New rectangle'定義新建的類

Private Sub CommandButton1_Click()

Dim l As Variant, w As Variant, h As Variant

l = VBA.Trim(Me.TextBox1.Value)

w = VBA.Trim(Me.TextBox2.Value)

h = VBA.Trim(Me.TextBox3.Value)

g.l = l'長

g.w = w'寬

g.h = h'高

Me.TextBox4.Value = g.C'計算周長

Me.TextBox5.Value = g.S'計算面積

Me.TextBox6.Value = g.V'計算體積

g.DrowR Me.Image1'繪製一個長方形

End Sub

這樣就給這個按鈕同時賦予了幾個計算功能,如果願意,可以繼續在類模組中編寫其它功能,只要在事件中呼叫就可以了。

是不是很方便。

歡迎關注、收藏

---END---


IT145.com E-mail:sddin#qq.com