CH5 表 單 與 控 制 項 課 程 目 標 : 暸 解 VBA 語 言 中 的 控 制 項 及 常 用 屬 性
表 單 在 視 窗 環 境 中, 使 用 者 所 使 用 的 對 話 窗, 精 靈 等 都 是 以 表 單 為 基 本 單 位, 再 加 上 其 它 控 制 項 所 構 成 的 操 作 環 境 利 用 插 入 表 單 為 指 定 的 專 案 插 入 一 個 自 訂 表 單
表 單 常 用 屬 性 BackColor, 可 以 指 定 表 單 背 景 色 Picture 屬 性, 可 以 為 表 單 加 上 圖 片 Name 屬 性 可 以 指 定 物 件 名 稱 Caption 屬 性 可 以 用 來 表 示 表 單 標 題
5.2 Label 控 制 項 標 籤 (Label) 控 制 項 是 用 來 顯 示 標 題 及 簡 易 指 示 等 描 述 性 文 字 內 容
Label 物 件 Caption 屬 性 用 來 設 定 Label 中 要 顯 示 的 文 字 Label1(Objcet Name). Caption (Caption 屬 性 ) = String ( 文 字 內 容 )
example Private Sub UserForm_Click() UserForm5.Caption = " 顯 示 現 在 時 間 " Label1.Caption = Now End Sub
Text Control 文 字 方 塊 可 以 讓 自 使 用 者 自 行 輸 入 所 要 的 文 字 內 容, 以 利 於 程 式 進 一 步 利 用
Text Control 常 用 屬 性 屬 性 項 目 意 義 Text 設 定 或 傳 回 文 字 方 塊 中 的 內 容 MultiLine 指 定 控 制 項 是 否 接 受 並 顯 示 多 行 文 字 若 MultiLine 屬 性 設 定 為 True 時, 表 示 文 字 可 跨 行 顯 示 MaxLength 設 定 文 字 方 塊 中 所 能 接 受 的 字 元 數, 必 須 以 整 數 表 示 LinkedCell 將 Text 屬 性 值 的 內 容 顯 示 在 所 指 定 的 儲 存 格 位 置 Enable 設 定 按 鈕 回 應 事 件 的 狀 態 當 Enable 屬 性 值 為 False 時, 則 控 制 項 無 法 回 應 任 何 事 件
Example Private Sub UserForm_Click() Dim a, b As Integer Dim c As Double a = TextBox1.Text b = TextBox2.Text Label7.Caption=a+b Label8.Caption = a - b Label9.Caption = a * b Label10.Caption = a / b End Sub
影 像 (Image) 控 制 項 為 表 單 或 工 作 表 加 入 圖 片, 以 達 到 美 觀 效 果 當 想 要 在 表 單 中 加 入 影 像 控 制 項 時, 可 以 利 用 控 制 工 具 箱 中 的 影 像 按 鈕 圖 示, 將 影 像 物 件 加 入 目 的 地 中
Image Control 常 用 屬 性 利 用 Picture 屬 性, 才 可 以 指 定 圖 片 內 容 及 其 所 在 路 徑, 當 您 要 為 影 像 控 制 項 加 入 圖 片 時, 可 以 利 用 下 列 語 法, 來 加 入 指 定 的 圖 片 : Image1( 影 像 物 件 名 稱 ). pictue ( 屬 性 )=LoadPicture( 路 徑 \ 檔 案 名 稱. 檔 案 格 式 ) 並 非 每 一 種 圖 案 檔 案 格 式 都 可 以 被 載 入 影 像 物 件 中
Image Control-PictureSizeMode 屬 性 可 利 用 PictureSizeMode 屬 性 指 定 在 控 制 項 表 單 或 活 頁 簿 中 如 何 顯 示 圖 片 PictureSizeMode 屬 性 設 為 fmpicturesizemodeclip 時, 表 示 以 裁 掉 圖 片 多 餘 部 分, 顯 示 圖 片 ˋ 指 定 為 PictureSizeModeStretch, 表 示 調 整 圖 片 大 小 已 填 滿 表 單 或 活 頁 簿 ( 但 是 圖 形 可 能 被 扭 曲 ) 指 定 為 fmpicturesizemodezoom 時, 表 示 放 大 圖 示, 但 卻 不 會 扭 曲 圖 片 水 平 與 垂 直 方 向 比 例
Command Button( 命 令 按 鈕 ) 命 令 按 鈕 是 物 件 導 向 程 式 設 計 中 最 常 用 到 的 控 制 項 工 具, 通 常 可 以 利 用 按 下 命 令 按 鈕 的 方 式, 執 行 一 連 串 的 命 令 及 程 序
命 令 按 鈕 常 用 屬 性 屬 性 項 目 意 義 Caption 指 定 按 鈕 上 標 題 文 字 的 顯 示 內 容 Name 指 定 按 鈕 的 物 件 名 稱 AutoSize 用 於 自 動 調 整 按 鈕 大 小, 當 屬 性 值 為 True 時, 即 表 示 按 鈕 處 於 自 動 調 整 大 小 的 狀 態 中 BackColor 設 定 按 鈕 的 背 景 色 彩 Enable 設 定 按 鈕 回 應 事 件 的 狀 態 當 Enable 屬 性 內 容 為 False 時, 該 指 令 按 鈕 無 法 回 應 任 何 事 件 Visible 設 定 按 鈕 的 顯 示 狀 態 為 隱 藏 (False) 或 顯 示 (True) Font 設 定 按 鈕 內 標 題 文 字 的 字 型 及 大 小 Picture 為 按 鈕 加 上 背 景 圖 案
Example 置 入 兩 個 命 令 鈕, 按 下 現 在 時 刻 時, 目 前 時 間 就 會 顯 示 在 表 單 的 標 籤 控 制 項 中 Private Sub CommandButton1_Click() label1.caption = Now End Sub Private Sub CommandButton2_Click() End End Sub
選 項 按 鈕 (OptionButton) 選 項 按 鈕 (OptionButton) 的 功 能 在 於 提 供 使 用 者 自 多 選 項 狀 況 中, 選 取 一 個 最 理 想 的 狀 態, 並 進 行 應 用 當 要 在 表 單 或 工 作 表 中 加 入 一 個 選 項 按 鈕 控 制 項 時, 可 以 利 用 滑 鼠 選 取 控 制 工 具 箱 中 選 項 按 鈕 圖 示, 並 以 拖 曳 方 式 將 選 項 按 鈕 加 入 目 的 地 位 置 當 中 在 使 用 選 項 按 鈕 時, 最 重 要 觀 念 是 每 個 框 架 中 的 選 項 按 鈕 都 是 互 斥 的, 也 就 是 當 中 只 能 有 一 個 命 令 按 鈕 是 呈 現 被 選 取 的 狀 態
選 項 按 鈕 常 用 屬 性 屬 性 意 義 Alignment 用 來 指 定 選 項 按 鈕 題 的 文 字 對 齊 方 向, 當 Alignment 設 定 值 為 0-fmAlignmentLeft, 標 題 的 文 字 將 對 齊 於 控 制 項 的 左 邊 ; 若 標 題 文 字 的 設 定 值 為 1-fmAlignmentRight 時, 標 題 文 字 將 會 放 置 於 控 制 項 的 右 邊 LinkCell 將 Value 屬 性 傳 給 指 定 儲 存 格 Value 設 定 或 傳 回 選 項 按 鈕 的 選 取 狀 態 若 Value 選 項 值 為 True 時, 代 表 該 項 目 是 處 於 被 選 取 的 狀 態 若 Value 選 項 值 為 False 時, 代 表 項 目 未 被 選 取
Example 在 表 單 中 置 入 兩 個 選 項 按 鈕, 一 個 標 籤 一 個 命 令 按 鈕
核 取 方 塊 用 來 做 選 項 的 選 取 但 核 取 方 塊 與 選 項 按 鈕 的 最 大 不 同 處 在 於 選 項 按 鈕 的 選 項 之 間 是 互 斥 對 立 的, 一 次 只 能 選 取 一 個 選 項 按 鈕 項 目 而 核 取 方 塊 的 各 選 項 項 目 之 間, 功 能 則 是 完 全 獨 立 的, 使 用 者 可 以 同 時 選 取 不 同 的 核 取 方 塊 中 的 選 項 功 能, 而 不 必 考 慮 核 取 方 塊 是 否 具 有 互 斥 關 係
框 架 (Frame) 控 制 項 應 用 在 為 同 一 性 質 的 控 制 項 做 分 類 的 工 具 當 使 用 者 將 控 制 項 放 置 在 框 架 之 中 時, 若 移 動 框 架 時, 框 架 內 物 件, 也 會 同 時 移 動 框 架
RefEdit 控 制 項 RefEdit 控 制 項 的 用 途 在 於 幫 助 使 用 者 選 取 儲 存 格 範 圍, 並 將 所 選 取 的 儲 存 格 做 進 一 步 的 處 理 及 應 用
Example 按 下 命 令 鈕 後, 將 選 取 的 儲 存 格 範 圍 設 定 成 粗 體 20 號 字 型 Private Sub CommandButton1_Click() Range(RefEdit1.Text).Select Selection.Font.Bold = True Selection.Font.Size = 20 Selection.Font.Underline = True End End Sub Private Sub CommandButton2_Click() End End Sub
清 單 方 塊 與 組 合 方 塊 用 做 多 選 項 選 擇 時 使 用 組 合 方 塊 控 制 項 (Combo Box) 在 功 能 上 與 清 單 方 塊 具 有 相 同 特 性, 但 組 合 方 塊 的 介 面 則 是 採 用 下 拉 式 選 單 的 樣 式 將 選 項 列 示 在 控 制 項 中 在 使 用 組 合 方 塊 控 制 項 時, 使 用 者 一 次 只 可 以 選 取 一 個 選 項 項 目 ; 而 在 清 單 方 塊 中, 使 用 者 則 可 以 一 次 選 取 多 個 選 項 項 目
常 用 控 制 項 為 清 單 方 塊 與 組 合 方 塊 新 增 項 目 內 容 時, 可 以 採 用 AddItem 方 法, 為 控 制 項 新 增 項 目 物 件 名 稱.AddItem( 項 目 名 稱, 編 號 ) RemoveItem 可 移 除 清 單 方 塊 與 組 合 方 塊 中 指 定 的 項 目 物 件 名 稱.RemoveItem(Index, Count) Clear 方 法, 可 清 除 清 單 方 塊 與 組 合 方 塊 中 所 有 的 項 目 物 件.clear
Example 按 加 入 選 項 命 令 按 鈕, 即 可 在 清 單 方 塊 中 加 入 項 目 內 容 按 移 除 則 清 除 新 增 項 目 Private Sub CommandButton1_Click() ListBox1.AddItem " 項 目 1", 0 ListBox1.AddItem " 項 目 2", 1 ListBox1.AddItem " 項 目 3", 2 ListBox1.AddItem " 項 目 4", 3 ListBox1.AddItem " 項 目 5", 4 ListBox1.AddItem " 項 目 6", 5 End Sub Private Sub CommandButton2_Click() ListBox1.Clear End Sub
清 單 方 塊 / 組 合 方 塊 常 用 屬 性 List ListCount 屬 性 項 目 ListFillRange BoundColumn 意 義 傳 回 或 設 定 Listbox 或 ComboBox 之 清 單 輸 入 項 列 示 在 清 單 中 選 項 的 數 目 與 工 作 表 中 儲 存 格 相 連 結 的 儲 存 格 範 圍 指 定 一 個 多 欄 組 合 方 塊 (ComboBox) 與 清 單 方 塊 (ListBox) 之 資 料 來 源 當 設 定 值 為 0 時, 表 示 指 定 控 制 項 之 ListIndex 屬 性 值, 若 是 指 定 為 1 或 以 上 的 數 值 時, 表 示 從 某 欄 位 指 定 值 給 控 制 項 ColumnCount 指 定 下 拉 式 清 單 方 塊 或 清 單 方 塊 的 顯 示 行 數 LinkedCell 將 Value 屬 性 值 傳 至 LinkedCell 所 指 定 之 儲 存 格 ListStyle 用 來 指 定 ListBox 或 ComboBox 外 觀 Liststyle 之 設 定 值 有 : fmliststyleplain 0 正 常 清 單 方 塊, 選 取 項 目 以 反 白 顯 示 fmliststyleoption 1 對 多 重 選 取 清 單 ( 預 設 ), 以 選 項 按 鈕 或 河 取 方 塊 顯 示 若 控 制 相 紙 接 受 單 一 選 取 (MultiSelect 屬 性 為 fmmultiselectsingle), 使 用 者 就 僅 能 按 下 一 個 按 鈕 ; 若 控 制 向 接 受 多 重 選 取, 使 用 者 就 能 按 下 多 個 按 鈕 ListIndex 紀 錄 清 單 方 塊 或 組 合 方 塊 中 目 前 指 定 項 目 之 索 引 號
Scroll Bar( 捲 軸 ) 與 Spin Button( 微 調 按 鈕 ) 採 用 圖 形 介 面 的 方 式 來 調 整 出 使 用 者 所 要 選 取 的 數 值 項 目 Scroll Bar( 捲 軸 ) Spin Button( 微 調 按 鈕 )
常 用 屬 性 屬 性 項 目 意 義 Max 設 定 捲 軸 按 鈕 與 微 調 按 鈕 中 可 使 用 最 大 值 Min 設 定 捲 軸 按 鈕 與 微 調 按 鈕 中 可 使 用 最 小 值 LargeChange SmallChange Value 設 定 每 按 一 次 捲 軸 按 鈕 時 所 變 動 的 數 值, 微 調 按 鈕 不 具 有 此 項 屬 性 設 定 每 按 一 次 捲 軸 按 鈕 或 微 調 按 鈕 時 的 變 動 值, 可 為 正 數 或 負 數 指 示 目 前 捲 軸 按 鈕 與 微 調 按 鈕 所 在 的 數 值 LinkedCell 將 Value 屬 性 值 傳 回 至 LinkedCell 所 指 定 的 儲 存 格 中
Example RGB 色 彩 值 介 於 0~255 間, 利 用 捲 軸 產 生 RGB 數 值 並 變 換 顏 色 Private Sub CommandButton1_Click() X = ScrollBar1.Value Y = ScrollBar2.Value Z = ScrollBar3.Value Label1.BackColor = RGB(X, Y, Z) End Sub
Example-2 利 用 微 調 按 鈕 顯 示 折 舊 期 數, 再 套 用 公 式 計 算 每 期 應 折 舊 金 額