用VBA做选择题
- 格式:ppt
- 大小:119.00 KB
- 文档页数:6
利⽤excelvba制作多选题考试系统利⽤excel vba制作多选题考试系统⾯对⼤量的选择题考试,如果印刷纸质试卷,考完后由教师⼈⼯阅卷,不但效率低下,⽽且浪费⼈⼒、物⼒,还很容易出错。
即使学校有条件使⽤机读卡考试,也会提⾼成本,浪费财⼒。
我们利⽤excel vba制作了选择题考试系统,使⽤⽅便,节约⼈⼒、物⼒,深受⼴⼤教师的欢迎。
下⾯我以多选题为例介绍⼀下具体做法,供读者参考。
⼀、界⾯设计启动exce12003,把sheetl更名为“多选题”,sheet2更名为“多选题库”,在“多选题”中输⼊相应的内容,把窗⼝右上⾓的“垂直拆分块”拖动到第五⾏的下边缘,再点击“窗⼝⼀冻结窗格”。
两个按钮以后再添加,如图1所⽰。
把题⽬录⼊到“多选题库”中,其中第⼀⾏为字段名,在al -hl中分别输⼊:章、题号、答案、题⼲、a. b. c.d。
第⼆⾏以下为题⽬,如图2所⽰。
录⼊完毕后统计⼀下题⽬总数(我这⾥共录⼊了30 3道题,考试抽取20道题,考试时间共3 0分钟),在“多选题”的下列单元格中分别输⼊内容(ol:总题数、pl:303. 02:抽题数、p2:20. 01:考试时间(分钟)、q2:3 0)。
选择“⼯具⼀保护⼀允许⽤户编辑区域”,把b2. d2. h5放⼊其中。
⾄此,准各⼯作基本完毕。
⼆、代码编辑限于篇幅,以下只介绍代码编辑中的技术性问题,详细请参阅http:///doc/7ebdda291ed9ad51f01df2de.html /413660998?ptlang=2052。
按alt+fll键,进⼊vba编辑界⾯,按ctrl+r显⽰“⼯程资源管理器”窗⼝,按f4显⽰“属性”窗⼝。
1.启动代码简介双击“microsoft excel中对象”中的“thisworkbook”,在右侧窗⼝中输⼊代码。
这部分代码触发workbook_open()事件,主要有三项任务。
其⼀是利⽤“worksheets(”多选题库”).visible:xlsheethidden”隐藏题库;其⼆是清除上⼀名考⽣保存的信息;其三是利⽤msgbox语句给出“考试说明和答题注意事项”。
1. 模块与VBA编程基础选择题详解能被“对象所识别的动作”和“对象可执行的活动”分别称为对象的()(A)方法和事件(B)事件和方法(C)事件和属性(D)过程和方法答案(B)事件大部分是鼠标或键盘的动作,如单击、双击等等。
2. 在下列关于宏和模块的叙述中,正确的是()(A)模块是能够被程序调用的函数(B)通过定义宏可以选择或更新数据(C)宏或模块都不能是窗体或报表上的事件代码(D)宏可以是独立的数据库对象,可以提供独立的操作动作答案(D)A不对,函数是模块中代码的一种形式,B不对,宏不能直接选择更新数据C 不对3. 在Access数据库中,如果要处理具有复杂条件或循环结构的操作,则应该使用的对象()(A)窗体(B)模块(C)宏(D)报表答案(B)只有模块能实现复杂的功能。
4. 下列不属于类模块对象基本特征的是()(A)事件(B)属性(C)方法(D)函数答案(D)查看对应的定义5. 下列关于VBA事件的叙述中,正确的是()(A)触发相同的事件可以执行不同的事件过程(B)每个对象的事件都是不相同的(C)事件都是由用户操作触发的(D)事件可以由程序员定义答案(A)显然相同的事件中可以执行不同的代码,打开模块编辑代码的一种方式就是在事件中添加代码,这里的代码是由编程者自己编写的,可以修改。
6. 发生在控件接收焦点之前的事件是()(A)Enter (B)Exit (C)GotFocus (D)LostFocus答案(A)以文本框为例,当光标“I”在一个文本框中(假设名字为text1)闪烁时,说明焦点在此控件中,鼠标点击到另一个文本框(假设名字为text2)中时,首先触发text1的Exit事件,然后触发text2的Enter事件。
7. 在VBA中,如果没有显示声明或用符号来定义变量的数据类型,变量的默认数据类型为()(A)Boolean (B)Int (C)String (D)Variant答案(D)。
查看课本208页最上方。
PPT用VBA制作简单的选择题的方法及源码PPT用VBA制作简单的选择题的方法及源码 powerpoint中的vba可以实现很多复杂的交互,但很多老师面对vba编程,都会觉得无从下手。
所以本期我们为大家安排了一个关于powerpoint中vba的小专题,以后在课件中实现交互就不会那么费劲了。
vba基础说到vba编程,就不得不提到控件工具箱,我们需要利用其中的控件搭建需要的环境。
1( 显示控件工具箱在powerpoint中选择菜单“视图/工具栏/控件工具箱”。
2( 控件工具箱(如图1)中常用按钮的介绍(1)复选框(checkbox):可以选择多个选项,常用来设计多选题;(2)文本框(textbox):可以输入文本,常用来设计填空题;(3)命令按钮(commandbutton):用来确定选择或输入,也可设计超级链接;(4)单选框(optionbutton):只能选中一个选项,常用来设计单选题或判断题;(5)标签(label):用来显示文字信息。
( 插入控件的方法 3单击控件工具箱上的工具按钮,然后在幻灯片中拖动到适当大小即可。
4( 进入vba的方法双击幻灯片中的控件或用菜单命令“工具/宏/visual basic编辑器”即可进入vba编程状态。
5( 控件的主要属性及设置方法进入vba后,需要在“属性”窗口中对控件的属性进行设置。
如果没有出现“属性”窗口,按f4键即可调出该窗口。
下面我们就不同的控件,来说明常用属性的设置方法。
(1)复选框autosize:有两个值,true表示根据字的多少调整复选框的大小,false表示复选框为固定大小;backcolor:设置复选框的背景颜色,单击该属性框出现下拉按钮,选择“调色板”选项卡后选择颜色;caption:控件的名称,把默认值删除再重新输入新名称;font:设置字体、字号及字形,单击该属性框出现按钮,单击该按钮出现字体对话框,再在对话框中设置;forecolor:设置字的颜色,设置方法同backcolor;height:复选框的高度,直接输入数字即可;width:复选框的宽度,直接输入数字即可;value:复选框的值,true为选中,false则相反。
第一套模拟题一、选择题(33)OpenForm的功能是用来打开A)表B)窗体C)报表D)查询(34)运行下面的程序段:For k=5 to 10 Step 2k=k*2Next k则循环次数为:A)1B)2C)3D)4(35)在"窗体视图"显示窗体时,要求在单击命令按钮后标签上显示的文字颜色变为红色,以下能实现该操作的语句是A)Label1.ForeColor=255B)bChange.ForeColor=255C)Label1.BackColor="255"D)bChange.BackColor="255"二、填空题(10)有一个VBA计算程序,该程序用户界面由4个文本框和3个按钮组成。
4个文本框的名称分别为Text1、Text2、Text3和Text4。
3个按钮分别为清除(名为Command1)、计算(名为Command2)和退出(名为Command3)。
窗体打开运行后,单击清除按钮,则清除所有文本框中显示的内容;单击计算按钮,则计算在Text1、Text2和Text33个文本框中输入的3科成绩的平均成绩,并将结果存放在Text4文本框中,单击退出按钮则退出。
请将下列程序填空补充完整。
PrivateSubCommand1_Click()Me!Text1=""Me!Text2=""Me!Text3=""Me!Text4=""EndSubPrivateSubCommand2_Click()If Me!Text1="" Or Me!Text2="" Or Me!Text3="" ThenMsgBox"成绩输入不全"ElseMe!Text4=(__【12】__+Val(Me!Text2)+Val(Me!Text3))/3【13】__EndSubPrivate Sub Command3_Click()Docmd.__【14】__EndSub(11)下面程序的输出结果是__【15】__。
计算机vba试题及答案一、选择题(每题2分,共20分)1. 在VBA中,以下哪个关键字用于声明变量?A. DimB. SubC. FunctionD. End答案:A2. VBA中,用于结束一个循环结构的关键字是?A. NextB. LoopC. ExitD. Continue答案:A3. 在VBA中,以下哪个函数用于将字符串转换为大写?A. UCaseB. LCaseC. StrConvD. Trim答案:A4. VBA中,以下哪个对象代表当前工作表?A. ThisWorkbookB. ActiveSheetC. WorksheetsD. ActiveDocument答案:B5. 在VBA中,以下哪个属性用于获取或设置单元格的值?A. ValueB. NameC. FormulaD. Address答案:A6. VBA中,以下哪个函数用于计算数组中元素的数量?A. CountB. SumC. UBoundD. LBound答案:C7. 在VBA中,以下哪个事件用于在工作表被激活时触发?A. Worksheet_SelectionChangeB. Worksheet_ActivateC. Worksheet_BeforeDoubleClickD. Workbook_Open答案:B8. VBA中,以下哪个关键字用于定义一个过程?A. FunctionB. SubC. PropertyD. Const答案:B9. 在VBA中,以下哪个方法用于将一个工作簿保存为Excel 97-2003工作簿格式?A. SaveAsB. SaveC. ExportD. Close答案:A10. VBA中,以下哪个属性用于获取或设置单元格的宽度?A. WidthB. HeightC. ColumnWidthD. RowHeight答案:C二、填空题(每题2分,共20分)1. 在VBA中,使用________关键字可以定义一个变量。
VBA练习4(函数、表达式)含答案VBA练习四答案⼀、选择题1、下列逻辑表达式中,能正确表⽰条件“X和Y⾄少有⼀个是偶数”的是( A )。
A.X Mod 2=0 OR Y Mod 2=0B.X Mod 2=1 OR Y Mod 2=1C.X Mod 2=0 And Y Mod 2=0D.X Mod 2=1 And Y Mod 2=12、定义了⼆维数组A(3 to 5,6),则该数组的元素个数为( C )。
A.18B.27C.21D.303、有如下程序段:Dim str As String*10Dim iStr1="abcdefg"i=12len1=Len(i )str2=Right(str1,4)执⾏后,len1和str2的返回值分别是( C )。
A.12,abcdB.10,bcdeC.2,defgD.0,cdef4、以下可以得到“2+6=8”的结果的VBA表达式是( A )。
A.“2+6”&”=”& 2+6B.”2+6”+”=”+2+6C.2+6& “=”& 2+6D.2+6 +”=”+ 2+65、窗体上添加3个命令按钮,分别命名为command1、command2和command3,编写command1的单击事件过程,完成的功能为:当单击按钮command1时,按钮comand2可⽤,按钮command3不可见,以下正确的是( C )。
6、⽤于获得字符串str从第⼆个字符开始的3个字符的函数是( A )。
A .mid(str,2,3)B .middle(str,2,2)7、VBA代码调试过程中,能够显⽰出所有在当前过程中变量声明及变量值信息的是( C )。
A.本地窗⼝B.⽴即窗⼝C.监视窗⼝D.快速监视窗⼝8、在VBA中有返回值的处理过程是( C )A.声明过程B.Sub过程C.Function 过程D.控制过程9、InputBox函数返回值的类型为( B )。
国家二级ACCESS机试选择题(VBA编程)模拟试卷6(题后含答案及解析)题型有:1. 选择题选择题1.打开一个窗体,要通过选择窗体的数据输入与窗体方式,限制窗体所显示的记录,应使用的宏操作命令是A.Open ReportB.Open TableC.Open FormD.Open Query正确答案:C解析:OpenReport为打开报表,OpenTable为打开表,OpenForm为打开窗体,OpenQuery为打开查询,所以选项C正确。
知识模块:VBA编程2.在窗体中有一个命令按钮Command1,两个文本框Text0和Text1,按钮Command1对应的代码过程如下:Private Sub Command1_Click( )Dim m,k As IntegerDim flag As Booleanm=Val(Me!Text0)’输入一个整数Do While1k=2flag=TrueDo、While k<=m/2And flagIfm Mod k=0Thenflag=FalseElsek=k+1End IfLoopIf flag ThenMe!Textl=m’输出计算结果Exit DoElsem=m+1End IfLoopEnd Sub运行程序,输入12,单击按钮,程序的输出结果是A.13B.12C.11D.其他整数正确答案:A解析:根据题目要求,输入一个整数赋值给m;外层D0wMe循环条件设置为“1”,表示循环条件永远为“真”,第一次执行循环语句时:k=2;flag=true;内层Do While k<=m/2And flag循环条件为true,进入内层循环的循环体语句,if m mod k=0条件为真,执行flag=false语句,内层循环体语句执行结束,然后判断第二次执行的循环条件Do While k<=m/2And flag循环条件为false,内层循环结束,进入外层循环语句if flag判断条件为fafse,执行语句m=m+1,m的值为13;继续进行外层循环,第二次执行循环语句时:k=2;flag=false;内层Do While k<=m/2And flag循环条件为false,内层循环不执行,进入外层循环语句if flag判断条件为true,执行语句Me!Text1=m,文本框Text1中显示的内容为13,然后执行exit do语句,结束整个循环,所以最终程序输出的结果为13,选项A正确。
国家二级ACCESS机试选择题(VBA编程)模拟试卷9(题后含答案及解析)题型有:1. 选择题选择题1.VBA中一般采用Hungarian符号法命名变量,代表报表的字首码是A.ChkB.QryC.RptD.Cbo正确答案:C解析:Hungarian符号使用一组代表数据类型的码。
用小写字母作为变量名的前缀,“Chk”代表复选框,“Qry”代表查询,“Rpt”代表报表,“Cbo”代表组合框,所以选项C正确。
知识模块:VBA编程2.在标准模块“模块1”声明区中定义了变量x和变量y,如下所示,则变量x和变量y的作用范围分别是Dim x As IntegerPublic y As IntegerSub demoVar( )x=3y=5Debug.Print x&”“&yEnd SubA.模块级变量和过程级变量B.过程级变量和公共变量C.模块级变量和公共变量D.过程级变量和模块范围正确答案:C解析:VBA的变量声明会指明变量的作用域和声明周期,Dim为局部变量,Public为全局变量,Static代表静态变量。
在模块区定义的区域,通关Dim定义的变量时模块级变量,通过Public定义的变量是公共变量,所以应选择选项C。
知识模块:VBA编程3.下列Access内置函数中,用于去掉字符串前后空格的函数是A.LtrimB.RtrimC.SpaceD.Trim正确答案:D解析:LTrim(<字符串表达式>):删除字符串的开始空格:RTrim(<字符串表达式>):删除字符串的尾部空格;Trim(<字符串表达式>):删除字符串的开始和尾部空格;Space(<数值表达式>):返回数值表达式的值指定的空格字符数。
本题选项D正确。
知识模块:VBA编程4.下列程序的输出结果是Dim x As IntegerPrivate Sub Command4_Click( )Dim y As Integerx=1y=10Call fun(y,x)MsgBox”y=“&yEnd SubSub fun(ByRef y As Integer,ByVal z As Integer)y=y+zz=y-zEnd Sub A.y=1B.y=10C.y=11D.y=9正确答案:C解析:在函数参数传递中,包括按地址传递ByRef和按值传递ByVal两种方法。
第一部分(模块与VBA编程基础)一、选择题(1~17):1.VBA中定义符号常量可以用关键字A)Const B)Dim C)Public D)Static2.Sub过程和Function过程最根本的区别是A)Sub过程的过程名不能返回值,而Function过程能通过过程名返回值B)Sub过程可以使用Call语句或直接使用过程名,而Function过程不能C)两种过程参数的传递方式不同D)Function过程可以有参数,Sub过程不能有参数3.定义了二维数组A(2 to 5,5),则该数组的元素个数为A)25 B)36 C)20 D)244.已知程序段:s=0For i=1 To 10 step 2s=s+1i=i*2Next i当循环结束后,变量i的值为a,变量s的值为b。
a. A)10 B)11 C)22 D)16b.A)3 B)4 C)5 D)65.以下内容中不属VBA提供的数据验证函数是A)IsText B)IsDate C)IsNumeric D)IsNull6.已定义好有参函数f(m),其中形参m是整型量。
下面调用该函数,传递实参为5将返回的函数值赋给变量t.以下正确的是A)t=f(m) B)t=Call(m) C)t=f(5) D)t=Callf(5)7.在有参函数设计时,要想实现某个参数的“双向”传递,就应当说明该形参为“传址”调用形式。
其设置选项是A)ByVal B)ByRef C)Optional D)ParamArray8.在VBA代码调试过程中,能够显示出所有在当前过程中变量声明及变量值信息的是A)快速监视窗口 B)监视窗口C)立即窗口 D)本地窗口9.VBA的逻辑值进行算术运算时,True值被当作A)0 B)-1 C)1 D)任意值10.VBA中不能进行错误处理的语句结构是A)On Error Then标号 B)On Error Goto 标号C)On Error Resume Next D)On Error Go 10011.VBA中用实际参数a和b调用有参过程Area(m,n)的正确形式是A)Aream,n B)Area a,b C)Call Area(m,n) D)Call Area a,b 12.给定日期DD,可以计算该日期当月最大天数的正确表达式是A)Day(DD)B)Day(DateSerial(Year(DD),Month(DD),Day(DD)))C)Day(DateSerial(Year(DD),Month(DD),0))D)Day(DateSerial(Year(DD),Month(DD)+1,0)13.下列关于宏和模块的叙述中,正确的是A)模块是能够被程序调用的函数B)通过定义宏可以选择或更新数据C)宏或模块都不能是窗体或报表上的事件代码D)宏可以是独立的数据库对象,可以提供独立的操作动作14.有如下VBA代码,运行结束后,变量n的值是n=0For i=1 TO 3Forj=-4 To -1n=n+1NextjNext iA)0 B)3 C)4 D)1215.假设有如下Sub过程:Sub sfun(x As Single,Y As Single)t=xx=t/yy=t mod y ‘mod求余计算例7 mod 4 =3 End Sub在窗体中添加一个命令按钮(名为Comnndl),编写如下事件过程Private Sub Commandl_Click()Dim a As SinSleDim b As SinSlea=5:b=4sfun(a,b) ‘原书有错,改为:sfun a,b或call sfun(a,b) MsgBox a & chr(10) + chr(13) & b ‘chr(数值)的功能返回数值对应的字母End Sub ‘chr(10)=’返回1个换行符?????‘chr(13)=’返回一个空格符号注意:a → x ; b → y 是按地址传递的,因此不能写成sfun 5,4chr与Asc互逆例asc(a)=97 ; chr(97)=a asc(chr(97))=97打开窗体运行后,单击命令按钮,消息框中有两行输出,内容分别为A)1和1 B)1.25和l C)1.25和4 D)5和416.有如下VBA程序段:sum=0n=0For i=1 TO 5x=n/in=n+1slim=sumNext i以上For循环计算sum,完成的表达式是A)1+1/1+2/3+3/4+4/5 B)1+1/2+1/3+1/4+1/5C)1/2+2/3+3/4+4/5 D)1/2+1/3+1/4+1/517.在窗体中有一个命令按钮runl6,对应的事件代码如下:Private Sub runl6_Enter()Dim num As IntegerDim a As IntegerDim b As Integer .Dim i As IntegerFor i=1 To 10num=InputBox("请输入数据:","输入",1)if Int(num/2)=num/2 Then ‘Int取整函数例int(3.5)=3a=a+1Elseb=b+1End lfNext IMsgBox("运行结果:a="& Str(a) & ",b=" & Str(b))End Sub ‘str(123)=”123”将123转换成字符串与val互逆。
VBA编程基础考试(答案见尾页)一、选择题1. VBA中,用于执行宏的操作是哪个命令?A. RunMacroB. ExecuteMacroC. RunCodeD. RunScript2. 在VBA中,若要引用一个窗体上的控件,应该使用哪种方式?A. 通过控件的名称B. 通过控件的索引号C. 通过控件的标题D. 通过控件的父级控件3. VBA中,能够用来声明变量的关键字是哪个?A. DimB. PrivateC. PublicD. Static4. 在VBA中,如何跳出当前循环?A. 使用break语句B. 使用continue语句C. 使用return语句D. 使用exit语句5. VBA中,数组的维数是由什么决定的?A. 定义时指定的长度B. 定义时指定的下标范围C. 定义时指定的上下界D. 定义时指定的大小6. VBA中,函数参数的传递方式是按值传递还是按引用传递?A. 按值传递B. 按引用传递C. 可以在函数定义时指定D. 以上都不对7. VBA中,用来表示字符串的长度的函数是什么?A. LenB. StrC. FixD. Round8. 在VBA中,如何实现文件的读写操作?A. 使用Write函数B. 使用Read函数C. 使用Open函数D. 使用Close函数9. VBA中,判断一个对象是否为数字的方法是什么?A. IsNumericB. IsIntegerC. IsDateD. IsObject10. 在VBA中,如何获取窗体的当前位置?A. 使用GetPosition方法B. 使用GetTop方法和GetLeft方法C. 使用GetWindow函数D. 使用GetParent方法11. VBA中,用于声明变量的关键字是?B. SetC. PrivateD. Public12. 在VBA中,能够引用窗体或报表对象的属性是?A. NameB. CaptionC. EnabledD. Style13. VBA中,用于打开窗体的方法是什么?A. ShowB. OpenC. CloseD. Refresh14. 在VBA中,如何使用Mid函数从字符串中提取子字符串?A. Mid(string, start[, length])B. Left(string, length)C. Right(string, length)D. Replace(string, find, replaceWith)15. VBA中,判断一个对象是否为空对象的方法是什么?A. IsNullB. IsEmptyC. IsObjectD. IsTrue16. 在VBA中,如何将一个数组的所有元素初始化为?A. ReDim arrayName(1 To 10) = 0B. Erase arrayNameC. Dim arrayName(1 To 10) = 0D. Store 0 in arrayName17. VBA中,用于计算字符串长度的方法是什么?B. ConcatenateC. RightD. Replace18. 在VBA中,如何声明一个局部变量?A. Dim 变量名 As 类型B. Private 变量名 As 类型C. Public 变量名 As 类型D. Static 变量名 As 类型19. VBA中,如何使用Choose函数根据条件返回不同的值?A. Choose(index, [value1], [value2], ..., [valueN])B. If(index = 1, value1, If(index = 2, value2, ...))C. Select caseD. While20. 在VBA中,如何将一个数组的元素按照一定的顺序排序?A. SortB. SortArrayC. OrderByD. GroupBy21. VBA中,用于声明变量的关键字是:A. DimB. PrivateC. PublicD. Static22. 在VBA中,以下哪个函数可以用来计算字符串的长度?A. LenB. StrC. LeftD. Right23. VBA中,用于打开一个文件并执行读操作的语句是:A. Open "文件名" For Input As #1B. Open "文件名" For Output As #1C. Create "文件名"D. Assign24. VBA中,用于插入新的记录的SQL语句是:A. INSERT INTOB. DELETE FROMC. UpdateD. Create25. 在VBA中,如果一个窗体的Caption属性被设置为"这是窗体",那么在代码中通过这个属性获取到的值是:A. "这是窗体"B. ThisFormC.窗体D. Forms(0)26. VBA中,用于将一个数组的所有元素初始化为的语句是:A. ReDimB. EraseC. ClearD. Fill27. 在VBA中,如果一个控件的名称改为"MyButton",那么在代码中通过这个控件获取到的对象引用是:A. ThisForm.MyButtonB. Me.MyButtonC. Forms(0).MyButtonD.控件集合28. VBA中,用于将字符串中的所有字符转换为大写字母的语句是:A. UCaseB. LCaseC. MidD. Left29. 如果一个VBA程序无法成功运行,为了进行调试,你应使用哪种方法来查看程序代码?A. 使用菜单命令“视图”中的“代码窗口”B. 使用调试器C. 查看源代码D. 阅读错误信息30. 在VBA中,以下哪个函数用于返回字符串的长度?A. LenB. StrC. LeftD. Right31. VBA是什么编程语言?A. C++B. JavaC. Visual Basic for ApplicationsD. Python32. 在VBA中,可以使用哪些数据类型?A. IntegerB. DoubleC. StringD. Boolean33. VBA中的变量声明方式是:A. varB. dimC. publicD. private34. 在VBA中,如何定义数组?A. Dim arr() As IntegerB. Dim arr(10) As IntegerC. ReDim arr(10)D. Dim arr() As Object35. VBA中循环结构包括哪种?A. For...NextB. While...WendC. Do...LoopD. For Each...Next36. VBA中条件判断语句有哪几种?A. If...ThenB. If...Then...ElseC. If...Then...ElseIfD. Select...Case37. VBA中函数有哪些基本功能?A. 计算B. 逻辑运算C. 字符串处理D. 数据转换38. 在VBA中,如何进行错误处理?A. On Error Resume NextB. On Error GoTo 0C. Catch...FinallyD. None of the above39. VBA中数据库访问常用对象有哪些?A. ConnectionB. CommandC. RecordsetD. Parameter40. 在VBA中,如何实现模块间的参数传递?A. 通过全局变量B. 通过形参和实参C. 通过事件D. 通过库函数二、问答题1. 什么是VBA?它在编程中的作用是什么?2. VBA有哪些基本数据类型?3. 请解释VBA的变量声明和赋值。