上一節 -
嚐試以 Excel VBA 及 Win32 的功能讀寫 LPT PORT (3)
上兩節裡面, EXCEL 檔案, 按鈕, 操作介面都設計好了. 緊接下來, 就是看看成果的關鍵時刻. 不過先別急, 還有幾行 VBA 的代碼要加入.
TEST_LPT_FORM 內, 建立兩個按鈕, 用作控制 LED 的開關, 就像普通燈泡的開關動作
建立兩個按鈕後, 當然改個易記名稱, 用作控制 LED 的開關
同樣地, 賦予這兩個按鈕一定的功能, 代碼如下
-----------
Private Sub CommandButton1_Click() <<- 當第一個按鈕被按下, 執行以下動作
'Call PortOut(888, 1) <<- 功能等同下一行
Call PortOut(&H378, 1) <<- LPT PORT, 十六進制的號碼378, 第一條線輸出電壓, 點亮 LED
End Sub
Private Sub CommandButton2_Click() <<- 當第二個按鈕被按下, 執行以下動作
'Call PortOut(888, 0) <<- 功能等同下一行
Call PortOut(&H378, 0) <<- LPT PORT, 十六進制的號碼378, 切斷第一條線的輸出電壓, 關閉 LED
End Sub
-----------
好像都準備好了, 看看自己的成果如何?
看到了嗎?
到此為止, EXCEL 檔案, 按鈕, 操作介面都準備好了. 但是個 EXCEL 如何真正讓電腦執行實際的輸出? 最後加這兩行代碼, 就是為了要讓電腦開關 LED
加這兩行代碼如下,
-----------
Public Declare Sub PortOut Lib "lpt.dll" (ByVal Port As Integer, ByVal Value As Byte)
Public Declare Function PortIn Lib "lpt.dll" (ByVal Port As Integer) As Byte
-----------
其實, 開關 LED, 只會用到第一行, 還有更多的功能存在 lpt.dll 裡面, 暫且不提. lpt.dll 可以看成是低層存取 I/O 的驅動程序, 這個 EXCEL VBA 裡面所做的, 只是點菜的動作, 等菜做好了, 自然會端上桌. 這兩行, 就是點菜用的菜單.
下一節 -
嚐試以 Excel VBA 及 Win32 的功能讀寫 LPT PORT (5)
待續................
