spNet Mvc選擇題-50題,答案在末尾
第3階段
2021級.NET大三階段清考 測試試題
1、關(guān)于Asp.NET MVC 目錄結(jié)構(gòu)下列說法正確的是?【多選題】(2分)
A、App_Data存儲本地化的數(shù)據(jù)庫文件或數(shù)據(jù)文件。
B、App_Start 包含多個靜態(tài)配置類,執(zhí)行初始化任務(wù)。
C、Models放置模型文件。
D、Global.asax:應(yīng)用程序配置文件。
2、在ASP.NET MVC中,以下關(guān)于控制器的說法錯誤的是?(2分)
A、控制器類名必須由Controller結(jié)尾
B、控制器類名可以自定義結(jié)尾
C、控制器的父類是Controller類
D、控制器至少有一個返回值為ActionResult的public方法
3、關(guān)于Asp.NET MVC 模板頁面下列說法正確的是?【多選題】(2分)
A、Asp.NET MVC 模板頁名稱為Site.Master
B、@RenderBody起到占位符作用,而且只能有一個。
C、@RenderSection 是塊占位符,可以有多個。
D、母版頁所在位置為/Views/Shared目錄下,名稱為_Layout.cshtml
4、在ASP.NET MVC中,下列關(guān)于ViewData對象說法錯誤的是?(2分)
A、ViewData對象實際上是ControllerBase類中的一個屬性。
B、ViewData對象本身是一個字典結(jié)構(gòu)類型。
C、ViewData屬性中的值在多次請求過程中,會保存所有數(shù)據(jù)。
D、ViewData只在一次Http請求中有效,下一次請求會清空內(nèi)容。
5、在ASP.NET MVC中,關(guān)于以下代碼,說法錯誤的是?
[HttpPost]
public ActionResult Index(string uname,int? uage){
return View();
}(2分)
A、通過點擊超鏈接會訪問該Action方法。
B、該方法必須是Post請求才可以處理。
C、頁面中表單元素的name值需要和參數(shù)名稱對應(yīng)。
D、int?參數(shù)表示可以為int類型,也可以為空類型。
6、在Asp.NET MVC中如何獲取上傳文件保存路徑?(2分)
A、通過File類獲取磁盤路徑。
B、通過Server.MapPath()獲取服務(wù)器路徑。
C、通過Directory獲取磁盤目錄。
D、直接使用絕對路徑。
7、在ASP.NET MVC中,默認(rèn)的模型綁定器獲取綁定數(shù)據(jù)的途徑有哪些?【多選題】(2分)
A、Request.Form獲取表單提交的值
B、RouteData.Values獲取路由的值。
C、Request.QueryString獲取URL的值。
D、Request.Directory獲取上傳文件
8、在ASP.NET MVC中,下列關(guān)于Html輔助方法說法正確的是?【多選題】(2分)
A、Html輔助方法用于輔助產(chǎn)生Html的系統(tǒng)方法。
B、HTML輔助方法能夠幫助產(chǎn)生HTML標(biāo)簽和內(nèi)容,提高開發(fā)速度避免語法錯誤。
C、框架定義的大多數(shù)輔助方法都是擴(kuò)展方法。
D、輔助方法開發(fā)難度較大,不利于代碼開發(fā)和維護(hù)。
9、在ASP.NET MVC中,對以下代碼生成的HTML代碼,分析正確的是?
@Html.ActionLink("鏈接文字","Upload",new {id=123,page=5})(2分)
A、<a href="/Upload">鏈接文字</a>
B、<a href="/Home/Upload">鏈接文字</a>
C、<a href="/Home/Upload/123?page=5">鏈接文字</a>
D、<a href="/Home/Upload?id=123&page=5">鏈接文字</a>
10、在ASP.NET MVC中,以下對于強(qiáng)類型理解錯誤的是?(2分)
A、強(qiáng)類型即在變量定義時已明確指定其類型,最典型的應(yīng)用是結(jié)合視圖。
B、強(qiáng)類型的使用可以提高開發(fā)視圖的效率和準(zhǔn)確性。
C、@model關(guān)鍵字指定屬性Property的值。
D、Razor視圖可以智能感知,可直接訪問強(qiáng)類型對象的屬性。
11、在ASP.NET MVC中,關(guān)于 Ajax.ActionLink方法用法理解錯誤的是?(2分)
A、可以創(chuàng)建一個具有異步行為的超鏈接。
B、ActionLink方法的第一個參數(shù)是超鏈接的文本,第二個參數(shù)是操作方法的名稱。
C、AjaxOptions對象能夠配置對服務(wù)器的異步請求,但無法處理返回的數(shù)據(jù)。
D、ActionLink方法可以通過設(shè)置AjaxOptions對象的屬性值來調(diào)整Ajax請求的行為。
12、在ASP.NET MVC中,下列關(guān)于 AjaxOptions對象說法正確的是?【多選題】(2分)
A、HttpMethod 獲取或設(shè)置HTTP請求方法(“GET”或“POST”)
B、OnComplete 獲取或設(shè)置數(shù)據(jù)響應(yīng)之后、更新頁面之前,調(diào)用的JavaScript函數(shù)。
C、OnBegin 獲取或設(shè)置更新頁面之前調(diào)用的JavaScript函數(shù)的名稱。
D、InsertionMode 獲取或設(shè)置指定如何將響應(yīng)結(jié)果插入到目標(biāo)DOM元素的模式。
13、Web API的使用場景有哪些?【多選題】(2分)
A、需要Web Service但是不需要SOAP。
B、只想發(fā)布一些簡單的Http服務(wù),不想使用相對復(fù)雜的WCF配置。
C、發(fā)布的服務(wù)可能會被帶寬受限的設(shè)備訪問。
D、需要在已有的WCF服務(wù)基礎(chǔ)上建立non-soap-based http服務(wù)。
14、Asp.NET MVC中Session默認(rèn)有效期是多長時間?(2分)
A、5分鐘 B、10分鐘
C、20分鐘 D、30分鐘
15、MVC與webform相比有什么優(yōu)勢?【多選題】(2分)
A、強(qiáng)類型view實現(xiàn),更安全,更高效。
B、使Web程序?qū)卧獪y試的支持更加出色
C、沒有服務(wù)器表單控件,可以更方便的控制應(yīng)用程序的行為
D、通過把項目分成Model、View和Controller,使得復(fù)雜項目更加容易維護(hù),減少項目之間的耦合。
16、下列哪些屬于MVC過濾器的是?【多選題】(2分)
A、ActionFilter B、ResultFilter
C、AuthorizationFilter D、ExceptionFilter
17、在ASP.NET MVC中,如果想讓視圖顯示為指定中文,要改變哪個屬性的值?(2分)
A、[Display] B、[Required]
C、[StringLength] D、[Range]
18、在ASP.NET MVC中,強(qiáng)類型輔助方法Html.ListBoxFor()
輸出的標(biāo)簽是?
(2分)
A、輸出<textarea/>標(biāo)簽
B、輸出<select>標(biāo)簽
C、輸出<input type="checkbox">標(biāo)簽
D、輸出<select multiple />標(biāo)簽
19、在ASP.NET MVC中,Html.DisplayTextFor()的作用是?(2分)
A、根據(jù)提供的數(shù)據(jù)類型生成相應(yīng)<input>標(biāo)簽(模板型方法)
B、根據(jù)提供的數(shù)據(jù)類型輸出相應(yīng)顯示內(nèi)容(模板型方法)
C、顯示數(shù)據(jù)模型的文字資料
D、顯示數(shù)據(jù)模型輸入驗證失敗時的錯誤信息
20、在ASP.NET MVC中,AjaxOptions對象中的InsertionMode
方法作用是?(2分)
A、獲取或設(shè)置提交請求之前,顯示在確認(rèn)窗口中的消息
B、獲取或設(shè)置HTTP請求方法(“GET”或“POST”)
C、獲取或設(shè)置指定如何將響應(yīng)結(jié)果插入到目標(biāo)DOM元素的模式
D、獲取或設(shè)置加載時要顯示的HTML元素的id屬性值
21、關(guān)于HTTP動詞Get下面說法不正確的是?(2分)
A、很安全,因為其只查詢而不修改數(shù)據(jù)
B、按HTTP/1.1規(guī)定,有標(biāo)頭,也有文本
C、一般用于獲取查詢資源,對應(yīng)數(shù)據(jù)庫中的Select操作
D、使用Get動詞獲取URI資源的具像
22、在ASP.NET MVC中,判斷模型綁定的驗證結(jié)果,可以通過以下哪個對象進(jìn)行判斷?:(2分)
A、Model B、State
C、ModelState D、Session
23、在ASP.NET MVC中,以下哪個是jQuery驗證插件?(2分)
A、.validate B、.val
C、.date D、.ajax
24、在ASP.NET MVC中,什么是強(qiáng)類型HTML輔助方法?(2分)
A、通過類表達(dá)式來引用傳遞到視圖中的模型對象
B、通過Lambda表達(dá)式來引用傳遞到視圖中的模型對象
C、通過數(shù)學(xué)表達(dá)式來引用傳遞到視圖中的模型對象
D、通過文字表達(dá)式表達(dá)式來引用傳遞到視圖中的模型對象
25、在ASP.NET MVC中,下列模型數(shù)據(jù)注解中用于驗證屬性值必須匹配正則表達(dá)式的API是(???? )。(2分)
A、A. Required
B、B. Range
C、C. RegularExpression
D、D. Compare
26、MVC優(yōu)點有哪些?【多選題】(2分)
A、A.通過把項目分成model view和controller,使得復(fù)雜項目更加容易維護(hù)。
B、B.沒有使用view state和服務(wù)器表單控件,可以更方便的控制應(yīng)用程序的行為
C、C.在團(tuán)隊開發(fā)模式下表現(xiàn)更出眾
D、D.應(yīng)用程序通過controller來控制程序請求,可以提供豐富的url重寫
27、ASP.NET MVC提供過濾器來處理這些需求,支持的過濾器類型有4種,其中()用于限制執(zhí)行控制器或控制器的某個操作方法(2分)
A、A.Authorization B、B.Exception
C、C.Action D、D.Result
28、關(guān)于ASP.NET和ASP.NET MVC的關(guān)系,描述錯誤的是()?(2分)
A、A.ASP.NET MVC依賴于HttpHandler,關(guān)于請求是怎么進(jìn)入控制器的,其實就是用到了HttpHandler
B、B.Session、Cookie、Cache和Application這些ASP.NET的對象保存機(jī)制在MVC中依然是需要用到的
C、C.HttpContext、Request、Response、Server對象在MVC中仍然可以使用,在Controller中通過智能感知的形式很容易得到這些對象
D、D.ASP.NET 是在核心ASP.NET MVC基礎(chǔ)之上構(gòu)建的
29、在ASP.NET MVC中,一個視圖是否能在多個controller中分享?(2分)
A、A.不確定。
B、B.不可以
C、C.可以, 把這個視圖放在一個shared的文件夾里面。當(dāng)我們在創(chuàng)建一個新的mvc工程的時候,這個layout page就會被添加在分享的文件夾里面因為他會被多個子頁面調(diào)用。
D、D.有時可以,有時不可以
30、在數(shù)據(jù)上下文中DbContext中有一個Database屬性,Database屬性中有兩組方法,即( )和( )【多選題】(2分)
A、ExecuteCommand B、ExecuteSqlCommand
C、 SqlQuery D、ExecuteQuery
31、HttpModule中哪個方法在請求處理之前附加信息(2分)
A、Init()
B、Dispose()
C、context_BeginRequest(object sender,EventArgs e)
D、context_EndRequest(object sender,EventArgs e)
32、XMLHttpRequest是()內(nèi)置對象,開發(fā)AJAX前必須創(chuàng)建該對象。(2分)
A、C# B、ASP
C、JavaScript D、Xml
33、下列安裝Vue的方式正確的是(2分)
A、<script href=“js/vue.min.js"></script>
B、<link src=“js/vue.min.js"></ link >
C、< link src="https://cdn.bootcss.com/vue/2.6.10/vue.min.js"></ link>
D、<script src="https://cdn.bootcss.com/vue/2.6.10/vue.min.js"></script>
34、在Vue中,使用語法糖簡化了組件注冊,但是會導(dǎo)致(2分)
A、只能全局注冊組件 B、只能局部注冊組件
C、HTML和JavaScript的解耦 D、HTML和JavaScript的高耦合
35、在Vue中,以下有關(guān)子組件正確的是(2分)
A、子組件以子標(biāo)簽的形式在父組件中使用 B、子組件只能在父組件中使用
C、子組件可以再父組件標(biāo)簽外使用 D、子組件可以在父組件的每個選項中使用
36、根據(jù)選擇的測試策略的不同,可以將軟件測試分為黑盒測試和白盒測試兩種,其中()不屬于黑盒測試方法(2分)
A、條件覆蓋 B、等價類劃分
C、邊界值分析 D、因果圖
37、在Vue中,使用v-bind指令綁定類屬性有兩種語法是【多選題】(2分)
A、對象語法 B、實例語法
C、集合語法 D、數(shù)組語法
38、已知:打招呼的委托名為TranslationDelegate,已知打招呼的委托方法void ChineseSayHello(),以下關(guān)于實列化委托說法錯誤的是:(2分)
A、TranslationDelegate td = new TranslationDelegate (ChineseSayHello)
B、TranslationDelegate td=ChineseSayHello
C、TranslationDelegate td = TranslationDelegate (ChineseSayHello)
D、以上答案都錯誤
39、在新建的MVC項目的“App_Start\RoutConfig.cs”文件中,( )方法注冊了默認(rèn)的路由配置。(2分)
A、A.RegisterRoutes B、B.Application_Start
C、C.EnrollRoutes D、D.WriteRoutes
40、在ASP.NET MVC中,模型注解驗證中,驗證數(shù)值范圍為10-20,以下正確的是?(2分)
A、A. StringLength(10,20)
B、B. Range(10.20)
C、C. RegularExpression
D、D. Compare("10")
41、MVC優(yōu)點有哪些?【多選題】(2分)
A、使得復(fù)雜項目更加容易維護(hù) B、可以更方便的控制應(yīng)用程序的行為
C、可以提供豐富的url重寫。 D、在團(tuán)隊開發(fā)模式下表現(xiàn)更出眾
42、在ASP.NET MVC中,定義一個新的路由規(guī)則,要修改哪個方法?(2分)
A、RegisterRoutes() B、NewRoutes()
C、CreateRoutes() D、DeafultRoutes()
43、在ASP.NET MVC中,若使用支架模板完成用戶信息管理,以下為編輯用戶視圖的是? (2分)
A、Index.cshtml B、Edit.cshtml
C、Delete.cshtml D、Details.cshtml
44、在ASP.NET MVC中,模型數(shù)據(jù)注解的命名空間是?(2分)
A、System.ComponentModel.DataAnnotations
B、System.Data.DataAnnotations
C、System.IO.DataAnnotations
D、System.Sql.DataAnnotations
45、關(guān)于MVC下列說法錯誤的是____(2分)
A、ASP.NET MVC中View默認(rèn)放在Views目錄下面,也可以是其他目錄
B、ASP.NET MVC中Model必須放在Models目錄下面
C、ASP.NET MVC中腳本文件必須放在Scripts目錄下面
D、ASP.NET MVC中Controller默認(rèn)必須放在Controllers目錄下面
46、在ASP.NET MVC中,下列關(guān)于Ajax.BeginForm 理解錯誤的是?(2分)
A、Html.BeginForm用于創(chuàng)建普通的表單標(biāo)簽。
B、Ajax.BeginForm方法創(chuàng)建的是異步表單。
C、提交到當(dāng)前頁面,提交方式為Post,異步更新模塊ID為UserLogOnContainer 的定義如下:
Ajax.BeginForm( new AjaxOptions{
UpdateTargetId = "UserLogOnContainer",
HttpMethod = "Post",
OnSuccess = " "})
D、提交到指定控制器下的操作方法,提交方式為Post,異步更新模塊ID為UserLogOnContainer,定義如下:
Ajax.BeginForm("controller", "action", null, new AjaxOptions{
UpdateTargetId = "UserLogOnContainer",
HttpMethod = "Post",
OnSuccess = " "})
47、在ASP.NET MVC中,選項中哪個輔助方法可以生成如下代碼?
<select></select>(2分)
A、Html.Select() B、Html.CheckBox()
C、Html.TextBox() D、Html.DropDownList()
48、在ASP.NET MVC中,模型綁定可以獲取哪些基本類型的數(shù)據(jù)?【多選題】(2分)
A、int B、string
C、double D、float
49、在ASP.NET MVC的控制器中,存在以下代碼:
public ActionResult Index(){
ViewBag.Name = "zhangsan";
TempData["Age"] = 20;
return View();
}
則以下說法正確的是?(2分)
A、Index.cshtml頁面無法獲取到姓名Name信息。
B、Abount.cshtml頁面可以獲取到姓名Name信息。
C、Index.cshtml頁面無法獲取到年齡Age信息。
D、Abount.cshtml頁面可以獲取到年齡Age信息。
50、在ASP.NET MVC中,以下代碼說法錯誤的是?
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);(2分)
A、訪問首頁時,完整路徑為"http://域名/Default/Index"
B、該配置所在文件路徑為:/App_Start/RouteConfig.cs
C、訪問:http://域名/Home/Add時,調(diào)用的是Add方法
D、id在url請求過程中可以省略。
答案如下:
分享成果,隨喜正能量】如果世間真有這么一種狀態(tài):心靈十分充實和寧靜,既不懷戀過去也不奢望將來,放任光陰的流逝而僅僅掌握現(xiàn)在,無匱乏之感也無享受之感,不快樂也不憂愁,既無所求也無所懼,而只感受到自己的存在,處于這種狀態(tài)的人就可以說自己得到了幸福。
《VBA之Excel應(yīng)用》是非常經(jīng)典的,是我推出的第七套教程,定位于初級。這套教程從簡單的錄制宏開始講解,一直到窗體的搭建,內(nèi)容豐富,實例眾多。大家可以非常容易的掌握相關(guān)的知識,這套教程共三冊,十七章,都是我們在利用EXCEL工作過程中需要掌握的知識點,希望大家能掌握利用。今日講解的內(nèi)容是“VBA之EXCEL應(yīng)用”的第十五章“ActiveX控件(ActiveX Controls)”的第5節(jié):列表框(List Box)控件常用的方法及事件。
大家好,我們繼續(xù)列表框的講解。在上一講中我們講解了列表框控件如何添加到工作表及列表框各個屬性,這一講我們講解列表框控件的常用方法。
1) Clear 方法:從Listbox控件中刪去所有的項。
2) RemoveItem方法:從列表框或組合框的列表中刪去一行。語法為:Listbox1.RemoveItem index,index指定要刪除的行,第一行的行號為 0,第二行的行號為 1,依此類推。
3)AddItem 方法:對于單列的列表框,在列表中添加一項。對于多列的列表框或組合框,在列表中添加一整行。用法為:Listbox1.AddItem [ item [, varIndex]]
其中Item(可選)指定要添加的項或行的內(nèi)容。第一個項或行的編號為 0;第二個項或行的編號為 1,依此類推。varIndex(可選)指定新的項或行在對象中的位置。如果提供一個有效的 varIndex 的值,AddItem 方法就把項或行放在列表中的那個位置。如果忽略 varIndex,此方法就把項或行添加在列表的末尾。varIndex 的值不能大于 ListCount 屬性的值。
對于多列列表框,AddItem 方法插入一個完整的行,為了給第一列后面的項賦值,可用 List 或 Column 屬性來完成。
1)KeyDown 和 KeyUp 事件
按下和釋放某鍵時這兩個事件依次發(fā)生。按下鍵時發(fā)生 KeyDown 事件,而釋放鍵時發(fā)生 KeyUp 事件。
語法:
Private Sub ListBox1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
Private Sub ListBox1_KeyUp(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
2)KeyPress 事件 當(dāng)用戶按下一個 ANSI 鍵時該事件發(fā)生。
語法:
Private Sub ListBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
其中KeyANSI 必需。整數(shù)值,代表標(biāo)準(zhǔn)的數(shù)字 ANSI 鍵代碼。
3)Click 事件:用鼠標(biāo)單擊控件發(fā)生此事件
語法:Private Sub ListBox1_Click()
4)DblClick 事件當(dāng)用戶指向一個對象并雙擊鼠標(biāo)時,發(fā)生 DblClick 事件。
語法:Private Sub ListBox1_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
以上各個事件可以在VBE窗口中查找到,如下截圖:
我們打開一個工作表的私有模塊,錄入下面的代碼:
Private Sub Worksheet_Activate()
With Sheet4.ListBox1
.AddItem "第一套"
.AddItem "第二套"
.AddItem "第三套"
End With
End Sub
代碼截圖:
同時我們把工作表中ListBox1屬性做如下設(shè)置:
將linkedcell屬性關(guān)聯(lián)上”D3“單元格,表明此時的列表框關(guān)聯(lián)的是D4單元格。
現(xiàn)將焦點轉(zhuǎn)移到其他工作表,再次回到sheet4工作表,我們看一看效果(注意屬性的設(shè)置修改一定要在“設(shè)計模式”下進(jìn)行,測試及實際運行代碼的時候要退出“設(shè)計模式”):
今日內(nèi)容回向:
1) 列表框有哪些方法和事件?
2) 如何將列表框控件關(guān)聯(lián)到單元格?
本講內(nèi)容參考程序文件:工作簿15.xlsm
分享成果,隨喜正能量
VBA是利用Office實現(xiàn)個人小型辦公自動化的有效手段(工具)。這是我對VBA的應(yīng)用界定。在取代OFFICE新的辦公軟件沒有到來之前,誰能在數(shù)據(jù)處理方面做到極致,誰就是王者。其中登峰至極的技能非VBA莫屬!我記得20年前自己初學(xué)VBA時,那時的資料甚少,只能看源碼自己琢磨,真的很難。20年過去了,為了不讓學(xué)習(xí)VBA的朋友重復(fù)我之前的經(jīng)歷,我根據(jù)自己多年VBA實際利用經(jīng)驗,推出了八部VBA專門教程,學(xué)習(xí)順序七、一(或者四)、三、二、六、五;或者七、八。其中七,一(或者四)是初級;三,二,八是中級;六,五是高級:
第一套:VBA代碼解決方案 是VBA中各個知識點的講解,教程共147講,覆蓋絕大多數(shù)的VBA知識點,提供的程序文件更是一座不可多得的代碼寶庫,是初學(xué)及中級人員必備教程;目前這套教程提供的版本是修訂第二版,程序文件通過32位和64位兩種OFFICE系統(tǒng)測試。
第二套:VBA數(shù)據(jù)庫解決方案 數(shù)據(jù)庫是數(shù)據(jù)處理的專業(yè)利器,教程中詳細(xì)介紹了利用ADO連接ACCDB和EXCEL的方法和實例操作,適合中級人員的學(xué)習(xí)。目前這套教程提供的是修訂第一版教程,程序文件通過32位和64位兩種OFFICE系統(tǒng)測試。
第三套:VBA數(shù)組與字典解決方案 數(shù)組和字典是VBA的精華,字典是VBA代碼水平提高的有效手段,值得深入的學(xué)習(xí),是初級及中級人員代碼精進(jìn)的手段。目前這套教程提供的版本是修訂第一版,程序文件通過32位和64位兩種OFFICE系統(tǒng)測試。
第四套:VBA代碼解決方案之視頻 是專門面向初學(xué)者的視頻講解,可以快速入門,更快的掌握這門技能。這套教程是第一套教程(修訂一版)的視頻講解,視頻更易接受。
第五套:VBA中類的解讀和利用 這是一部高級教程,講解類的虛無與肉身的度化,類的利用雖然較少,但仔細(xì)的學(xué)習(xí)可以促進(jìn)自己VBA理論的提高。這套教程的領(lǐng)會主要是讀者的領(lǐng)悟了,領(lǐng)悟一種佛學(xué)的哲理。目前這套教程提供的版本是修訂第一版,程序文件通過32位和64位兩種OFFICE系統(tǒng)測試。
第六套教程:VBA信息獲取與處理,這是一部高級教程,涉及范圍更廣,實用性更強(qiáng),面向中高級人員。教程共二十個專題,包括:跨應(yīng)用程序信息獲得、隨機(jī)信息的利用、電子郵件的發(fā)送、VBA互聯(lián)網(wǎng)數(shù)據(jù)抓取、VBA延時操作,剪切板應(yīng)用、Split函數(shù)擴(kuò)展、工作表信息與其他應(yīng)用交互,F(xiàn)SO對象的利用、工作表及文件夾信息的獲取、圖形信息的獲取以及定制工作表信息函數(shù)等等內(nèi)容。程序文件通過32位和64位兩種OFFICE系統(tǒng)測試。
第七套教程:VBA之EXCEL應(yīng)用 這是一部初級教程這部教程共三冊,從從創(chuàng)建宏、對話框、工作簿和工作表對象、單元格對象等基礎(chǔ)內(nèi)容講起,到循環(huán)結(jié)構(gòu)、錯誤處理、字符串操作、日期和時間、事件、數(shù)組應(yīng)用,函數(shù)過程等方面,一直講解到控件和窗體對象的應(yīng)用都是我們提高自己EXCEL水平的必須。
第八套教程:VBA之WORD應(yīng)用 是圍繞“面向?qū)ο缶幊獭闭归_的講解,讓大家充分認(rèn)識Word中VBA的對象,以及對象的屬性、方法及利用。教程共分三冊,十六章,其中前十五章是各種對象屬性、方法的講解,每節(jié)都有專門的實例說明這些屬性方法的具體應(yīng)用,最后一章是結(jié)和具體應(yīng)用場景的講解,詳細(xì)講解了二十八個實際工作中有代表性的實例,緊扣word數(shù)據(jù)的批量處理,發(fā)揮VBA的長處。本套教程實例眾多,大家可以拿來即用,或者修正后加以利用。由于這套教程是圍繞“面向?qū)ο缶幊獭眮碚归_,建議大家先學(xué)《VBA之Excel應(yīng)用》,對VBA中的對象、屬性、方法、事件有一定認(rèn)識后再來學(xué)習(xí)這套教程。
細(xì)講解Listbox控件在窗體中的運用
概述:在我們工作中會遇到會將數(shù)據(jù)導(dǎo)入到列表框(listbox)的形式來方便數(shù)據(jù)的查看與查詢。再通過VBA代碼可在Excel中輕松實現(xiàn)數(shù)據(jù)的查詢和導(dǎo)入。本文以最新發(fā)布的“物料管理系統(tǒng)2.0”為例進(jìn)行講解。
1.1 在窗體中創(chuàng)建列表框
在Excel按Alt+F11進(jìn)入VBA界面,鼠標(biāo)右擊空白處插入窗體。
1.2 在工具箱選擇列表框控件,并在剛剛新建的窗體中拖動大小到合適位置。
1.3 在工具箱選擇命令按鈕,并在窗體中拖動成查詢按鈕。
1.4 添加數(shù)據(jù)源(sheet2)的數(shù)據(jù)到列表框。
1.4.1雙擊“查詢”按鈕,并在按鈕下輸入如下代碼:(下方紅色字體為代碼注釋)
Private Sub CommandButton2_Click()
a = Sheet2.Cells(Rows.Count, 1).End(xlUp).Row
(獲取數(shù)據(jù)源工作表數(shù)據(jù)的行數(shù))
If TextBox1 = "" Then Sheet2.Range("b1") = ""
ListBox1.Clear (清空列表框的內(nèi)容)
ListBox1.ColumnWidths = "120;90;150;50;50;90;50;70;80" (列表框每列的寬度)
ListBox1.ColumnCount = 9 (列表框的列數(shù))
ListBox1.AddItem Sheet2.Cells(2, 1).Value
ListBox1.List(ListBox1.ListCount - 1, 1) = Sheet2.Cells(2, 2).Value
ListBox1.List(ListBox1.ListCount - 1, 2) = Sheet2.Cells(2, 3).Value
ListBox1.List(ListBox1.ListCount - 1, 3) = Sheet2.Cells(2, 4).Value
ListBox1.List(ListBox1.ListCount - 1, 4) = Sheet2.Cells(2, 5).Text
ListBox1.List(ListBox1.ListCount - 1, 5) = Sheet2.Cells(2, 6).Value
ListBox1.List(ListBox1.ListCount - 1, 6) = Sheet2.Cells(2, 7).Value
ListBox1.List(ListBox1.ListCount - 1, 7) = Sheet2.Cells(2, 8).Value
ListBox1.List(ListBox1.ListCount - 1, 8) = Sheet2.Cells(2, 9).Value
(以上代碼為將數(shù)據(jù)源第二行的數(shù)據(jù)分別添加到列表框)
For i = 3 To a
If Sheet2.Cells(i, 10) = 1 Then
ListBox1.AddItem Sheet2.Cells(i, 1).Value
ListBox1.List(ListBox1.ListCount - 1, 1) = Sheet2.Cells(i, 2).Value
ListBox1.List(ListBox1.ListCount - 1, 2) = Sheet2.Cells(i, 3).Value
ListBox1.List(ListBox1.ListCount - 1, 3) = Sheet2.Cells(i, 4).Value
ListBox1.List(ListBox1.ListCount - 1, 4) = Sheet2.Cells(i, 5).Text
ListBox1.List(ListBox1.ListCount - 1, 5) = Sheet2.Cells(i, 6).Value
ListBox1.List(ListBox1.ListCount - 1, 6) = Sheet2.Cells(i, 7).Value
ListBox1.List(ListBox1.ListCount - 1, 7) = Sheet2.Cells(i, 8).Value
ListBox1.List(ListBox1.ListCount - 1, 8) = Sheet2.Cells(i, 9).Value
End If
Next
(以上代碼為將數(shù)據(jù)源第三行到最后有數(shù)據(jù)一行的數(shù)據(jù)分別添加到列表框。)
End Sub
1.5 模糊查詢:模糊查詢這里主要是通過search函數(shù)判斷物料編碼是否含有輸入的字符。如下如所示,在查詢的輔助列輸入函數(shù)“=IFERROR(IF(SEARCH($B,[@物料編碼])>0,1,0),0)”函數(shù)的大概意思就是在查詢框輸入內(nèi)容后,判斷輸入內(nèi)容在物料編碼列返回的位置。
1.6 代碼中Sheet2.Cells(i, 10) = 1為判斷輸入字符是否在物料編碼中存在
1.7 實現(xiàn)效果見下圖,自動顯示物料編碼中含有“33”的物料。
結(jié)語:本期教程就分享到這里,有疑問可在評論區(qū)留言,小編看到后會及時回復(fù)。如果對你有幫助可點贊留言支持。
*請認(rèn)真填寫需求信息,我們會在24小時內(nèi)與您取得聯(lián)系。