用VBA代碼編輯器繪制用戶窗體由七個(gè)部分組成學(xué)習(xí)如何借助用戶窗體在VBA中創(chuàng)建自己的自定義對(duì)話框。這是該系列的第一部分(其他部分是寫代碼的用戶窗體和創(chuàng)建高級(jí)控制)。 這個(gè)博客是我們的一部分,Excel的VBA系列教程。我們還運(yùn)行在Excel培訓(xùn)課程和在VBA課程。 *該教材由谷歌翻譯,原帖作者為安迪·布朗,本人只是略作校訂。原帖網(wǎng)址:(http://www./blog/s229/vba-userform.htm)
1、VBA用戶窗體簡介
什么是用戶窗體一個(gè)用戶窗體(或只是形式)就是您自己創(chuàng)建一個(gè)對(duì)話框。就像這樣: 當(dāng)然,我們可以通過添加一些控件和格式使之更為個(gè)性,就像這樣: 這是我們要做的辦公室飲料預(yù)定窗體。 用戶窗體不限于Excel中:Word,PowerPoint和SharePoint Designer都可以使用相同的程序創(chuàng)建(而Access和Outlook,通常情況下,也可以通過自帶的程序做到)。 用戶窗體的優(yōu)點(diǎn)和缺點(diǎn)你應(yīng)該學(xué)習(xí)如何創(chuàng)建和使用用戶窗體?在學(xué)習(xí)之前我們先了解一下用戶窗體的優(yōu)缺點(diǎn),這是優(yōu)點(diǎn):
這些都是強(qiáng)大的優(yōu)勢; 硬幣的另一面怎么樣?
現(xiàn)在你知道什么是窗體了,讓我們來看看如何創(chuàng)建一個(gè),如何并用宏來運(yùn)行它。 2、在VBA中創(chuàng)建和使用用戶窗體創(chuàng)建一個(gè)窗體在VBA中創(chuàng)建一個(gè)用戶窗體很容易 右鍵單擊一個(gè)項(xiàng)目/工作簿,然后選擇顯示插入一個(gè)用戶窗體的選項(xiàng)。 你將被示以一個(gè)長方形的窗體,您可以拖拉右下角來調(diào)整大小: 單擊并拖動(dòng)右下角來調(diào)整用戶窗體 - 它將始終出現(xiàn)在代碼編輯器窗口的左上角。 就像宏,一個(gè)用戶窗體存儲(chǔ)為一個(gè)工作簿的一部分,而不是一個(gè)單獨(dú)的文件。 控件您添加到用戶窗體的東西被稱為控件。下面簡單的窗體有3個(gè)控件: 1個(gè)標(biāo)簽,1個(gè)文本框和1個(gè)命令按鈕。 下面飲品訂購窗體已超過10控件: 這種相對(duì)簡單的窗體包括:
在這個(gè)系列后來的博客展示了如何添加一些更深?yuàn)W的控制 - 現(xiàn)在,我們介紹一般原則。 2、在窗體上繪制控件您可以使用工具箱繪制繪制窗體上的任何控件: 表格工具箱 你可以讓你的鼠標(biāo)徘徊在每個(gè)控件上,看看它是什么:這是標(biāo)簽控件被選中。 當(dāng)你打開一個(gè)表格,如果您看不到工具箱窗口,請(qǐng)嘗試在這里單擊工具箱: 如果它擅離職守不見了,單擊顯示的工具以顯示 一旦你選擇了你的控制工具,您可以單擊并拖動(dòng)到窗體上的任何位置: 在這里,鼠標(biāo)指針顯示你正在繪制一個(gè) 在選定的位置上只需點(diǎn)擊Excel(和任何其他應(yīng)用程序一樣)就會(huì)繪制具有標(biāo)準(zhǔn)尺寸和形狀的控件。 經(jīng)學(xué)會(huì)了如何繪制控件,讓我們繼續(xù)前進(jìn),以如何展示自己 3、屬性窗口如果你在設(shè)計(jì)表格需要花很多的時(shí)間,你需要屬性窗口永久可見: 在 顯示屬性窗口您可以使用菜單顯示屬性: 選擇菜單選項(xiàng)的屬性窗口來顯示。 或者,您也可以按F4鍵或單擊該工具: 單擊該工具 按字母排序或按分類排序?qū)傩?/font>您可以從顯示的列表中從A到Z或者分類選擇您需要的屬性,通過單擊屬性窗口的頂部:
我不知道我有什么建議,但這個(gè)博客的其余部分將始終使用分類(或者應(yīng)該被分類的?)視圖。 已經(jīng)學(xué)會(huì)了如何顯示屬性,您接下來需要學(xué)習(xí)如何選擇控件。 4、選擇窗體和控件要格式化一個(gè)窗體上的任何控件,您首先需要知道如何選擇它/它們。我們首先看一下選擇一個(gè)控制,然后看看如何來同時(shí)選擇多個(gè)的控件(本博客的下一部分將會(huì)學(xué)習(xí)如何格式化控件和窗體)。 選擇一個(gè)單一的控件要改變單一控件,請(qǐng)單擊以選中它,然后使用屬性窗口: 任何控制,以顯示其屬性右鍵單擊,如下圖所示,如果他們不是已經(jīng)可見(前面已經(jīng)提到過,您也可以按F4鍵 或者,您也可以在屬性窗口本身選擇控件: 點(diǎn)擊下拉箭頭,選擇要更改屬性的控件。 選擇多個(gè)控件有幾種方法可以同時(shí)選擇多個(gè)控件。最簡單的方法可能是用鼠標(biāo)左鍵: 單擊并拖動(dòng)窗體上繪制一個(gè)矩形,并確保你開始位置在空白區(qū)。這個(gè)矩形接觸或包圍的控件將被選中。這個(gè)例子會(huì)選取了3個(gè)控件。 或者,您可以使用SHIFT鍵或CTRL 在這個(gè)例子中,如果你點(diǎn)擊[確定]
或者,您可以按CTRL 主導(dǎo)控件如果選擇多個(gè)控件,有一個(gè)(也是唯一一個(gè))控件周圍會(huì)出現(xiàn)白色的方框; 而其他的是黑色。這個(gè)白色的方框的選擇被稱為主導(dǎo)控件: 這里的標(biāo)簽Name: 這句話的意思是,如果你調(diào)整多個(gè)選定控件的大小或?qū)R時(shí)(本博客后面會(huì)提到),將以主導(dǎo)控件作為參照: 上圖所示為左對(duì)齊的結(jié)果。向紅線對(duì)齊,因?yàn)檫@是主導(dǎo)控件的左邊緣。 選擇整個(gè)窗體
如果你想為一個(gè)窗口(如它的名稱)更改屬性,你需要選擇它: 單擊窗體上其他控件以外的的任意位置,選擇窗體,如下圖所示。 現(xiàn)在,你知道如何選擇一個(gè)窗體或其控件,是時(shí)候來看看如何格式化它/它們。 格式化窗體和控件您可以通過選擇它/它們(如本博客的前面部分所示),然后按如下所示更改屬性格式化形式或任何其控制。 窗體標(biāo)題要改變窗體的標(biāo)題: 要改變窗體的標(biāo)題:
改變背景和前景顏色您可以選擇控件(S)或窗體本身來改變其顏色: 更改:
如下圖所示。 當(dāng)改變顏色屬性,一定要使用的調(diào)色板的顏色或系統(tǒng)的顏色: 選擇 設(shè)置控件的背景色為透明的方式略有不同: 更改背景樣式控件的(BackStyle)屬性為透明,這樣控件就會(huì)和整個(gè)窗體的顏色一致。 字體更改控件的不理想的初始字體: 單擊 字體對(duì)話框的出現(xiàn)使一切變得簡單: ?。?/font>這個(gè)現(xiàn)在看起來很熟悉。 控件文本的水平對(duì)齊在下面的窗體中,選定標(biāo)簽右對(duì)齊水平: 默認(rèn)的對(duì)齊方式為左對(duì)齊,已經(jīng)有人已經(jīng)改變了這些控件。 要更改水平對(duì)齊方式,你可能會(huì)期待有這樣的工具: 應(yīng)該有這樣的工具。他們在哪里? 沒找不到,對(duì)齊屬性也沒有呀?這是文本對(duì)齊TextAlign(當(dāng)然?。褪撬?/font> 該 控件文本的垂直對(duì)齊一個(gè)控件文本的垂直對(duì)齊文本也很簡單 - 這一點(diǎn)在用戶窗體里可能用不到! 如果你想要的標(biāo)題出現(xiàn)在文本框的垂直中心,你只能在文本的前面按Enter鍵 窗體內(nèi)居中對(duì)齊在下面的命令按鈕在窗體內(nèi)水平居中對(duì)齊: Order按鈕水平居中。 要做到這一點(diǎn),選擇相關(guān)的控件,然后選擇下列選項(xiàng)之一: 窗體內(nèi)居中。 設(shè)置的控件的邊框您可以設(shè)置控件的邊框的顏色和厚度: 這種控制有一個(gè)黑色的邊框。 要做到這一點(diǎn),設(shè)置如下所示的兩個(gè)屬性: 如果沒有設(shè)置邊框的樣式,也就不用設(shè)置邊框的顏色了。 這四個(gè)屬性你可能不必更改有一些屬性我認(rèn)為你不應(yīng)該改變! 該圖片屬性允許您在窗體上設(shè)置背景圖片,但他們總是掩蓋的內(nèi)容。你可以平鋪,拉伸和縮放照片,但最好刪除它們! 您可以設(shè)置滾動(dòng)條屬性為水平, 窗體的初創(chuàng)位置屬性start-up position property,但最明智的位置似乎是在其所屬程序(即Excel表格)的中間,這是默認(rèn)的,如下圖所示。 窗體的模塊屬性:如果你設(shè)置為假,用戶可以忽略窗體并單擊操作Excel表格,這可能不是一個(gè)好主意。 現(xiàn)在,我們已經(jīng)學(xué)習(xí)了格式化的窗體和單獨(dú)的控件,讓我們繼續(xù)學(xué)習(xí)格式化多個(gè)控件:即多個(gè)控件的對(duì)齊,大小,間距和分組控制。 6、分組,對(duì)齊,調(diào)整大小,間距和排列在前面我們學(xué)習(xí)同時(shí)選中多個(gè)控件時(shí)提到,帶有白色小方塊的主導(dǎo)控件(以及這意味著什么)。在這里我們學(xué)習(xí)多個(gè)控件的對(duì)齊,大小,間距和分組控制。控件間的對(duì)齊要對(duì)齊控件,請(qǐng)選擇它們,然后選擇下圖所示,鼠標(biāo)右鍵選項(xiàng): 在這里的Name:標(biāo)簽是占主導(dǎo)控件,這樣選擇左對(duì)齊(如圖所示)時(shí),選定的控件會(huì)向它的左邊緣對(duì)齊。 均分控件的水平或垂直間距在下面的表格中,各控件需要平均分部: 在這種情況下,控件間隔等距會(huì)更好看。 要做到這一點(diǎn),選擇控件如圖所示,然后選擇此處顯示的菜單選項(xiàng)之一: 在這個(gè)實(shí)例中所示的選項(xiàng)就是我們想要的。 請(qǐng)注意,在這種情況下,你將不得不對(duì)文本框/組合框做同樣的事情,讓他們以同樣的方式排列。 使控件大小一致以下是如何獲得2個(gè)或多個(gè)控件具有相同的大小或?qū)挾龋?/font> 選擇控件,然后在其中一個(gè)右鍵單擊并選擇此處顯示的菜單選項(xiàng)。Drink組合框是主導(dǎo)控制,所以另外兩個(gè)選定的控件將被調(diào)整為和該控件相同的寬度。 分組控件在你設(shè)計(jì)的窗體中有些部分,作為一組是非常有用的,使它們就像一個(gè)單一的控件: 在這里,我們希望將所有框架中的控件組合到一起,這樣我們就可以作為一個(gè)整體來移動(dòng)操作。 做到這一點(diǎn)的方法是選擇所有控件并將它們組合在一起的:
即使控件組合在一起,你仍然可以在組內(nèi)分別格式化單個(gè)控件,讓您兩全其美。 可以以同樣的方式取消組合: 在分組組控件單擊鼠標(biāo)右鍵并選擇取消組合如下所示。 使用框架組合控件另一種組合方式是通過創(chuàng)建一個(gè)框架。首先剪切你希望出現(xiàn)在框架上的控件: 選擇要組合在一起的控件,并剪切他們到剪貼板。 點(diǎn)擊框架Frame工具,并用它來 ??繪制一個(gè)矩形: 點(diǎn)擊該工具,并繪制你的框架的矩形。 現(xiàn)在,您可以刪除該框架的標(biāo)題,并粘貼控件: 刪除 Frame1的標(biāo)題(在其Caption屬性中 結(jié)果:無論該框架去哪里,其中的控件也會(huì)跟隨: 當(dāng)您移動(dòng)框架時(shí),其中的控件也隨之移動(dòng)。 你可以設(shè)置框架邊框屬性為 7、怎樣用快捷鍵控制窗體我們已經(jīng)知道了如何格式化表格,我們現(xiàn)在學(xué)習(xí)在窗體內(nèi)使用快捷鍵,以及輸入,Tab鍵 控制Tab鍵順序當(dāng)你按下Tab鍵 當(dāng)你按下Tab鍵 可以在窗體、框架或者 選擇窗體、框架或者
如果你選擇了框架或者多頁,你只會(huì)看到一些窗體的控件: 因?yàn)槟氵x擇了一個(gè)框架,你只能在框架內(nèi)的控件的Tab鍵順序。 很奇怪的是Tab鍵順序包括標(biāo)簽控件,實(shí)際上由于這些控件不能接收焦點(diǎn)(你不能點(diǎn)擊它們),故而與Tab鍵順序無關(guān)。接下來我們來看看怎樣讓標(biāo)簽的快捷鍵出現(xiàn)在 快捷鍵在下面的窗體,你可以按ALT 帶下劃線的字母 您只能將快捷鍵連接到標(biāo)簽,而不能連接文本框或組合框。當(dāng)你按下會(huì)發(fā)生ALT Drink:組合框是lblDrink標(biāo)簽后的第一個(gè)控件且可以接收焦點(diǎn)(比如,您可以單擊進(jìn)入)。 至于你如何安裝快捷鍵 - 這是很容易的: 在Accelerator屬性中輸入一個(gè)字母。 默認(rèn)按鈕(回車鍵)當(dāng)窗體出現(xiàn)在窗口時(shí)通常會(huì)有一個(gè)邊框加粗的命令按鈕。按下Enter鍵,命令開始執(zhí)行: 在這里, 要想使該按鈕為默認(rèn),就需要設(shè)置其Default屬性為真: 選擇Order按鈕設(shè)置Default屬性為真。 請(qǐng)注意,您只能在窗體上有一個(gè)默認(rèn)按鈕 - 所以,如果你讓另一個(gè)按鈕的默認(rèn),這個(gè)將取消。 取消按鈕(Escape鍵按鈕)類似于以上的默認(rèn)按鈕,當(dāng)您按下ESC鍵取消按鈕會(huì)被選擇。 選擇 這就是這個(gè)馬拉松式格式化用戶窗體學(xué)習(xí)的結(jié)尾。接下來,我們將學(xué)習(xí):
然而,這些都是獨(dú)立博客的主題。 *該教材由谷歌翻譯,原帖作者為安迪·布朗,本人只是略作校訂。原帖網(wǎng)址:(http://www./blog/s229/vba-userform.htm) |
|