版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、VBA入门基本语法1运算符 2编写VBA代码,运行VBA 3方法 4数据类型 5常量 6启动Visual Basic Editor 7变量 8写VBA代码 对话框1输入对话框 2提示消息换行 3提示对话框的图标 4提示信息对话框 5按钮的种类 对象1对象的方法 2对象的属性 3VBA对象 循环语句1循环语句Do While 2循环语句Do Until 3循环语句 ForNext 控制语句1WithEnd With 2On Error 3Goto 4Exit 数组1数组的定义 2数组的index变化 3数组 4多元数组 条件语句1Select Case 2IfElseIfElseIfEndIf
2、3IfElseIf 4IF的嵌套 调试1watch window 2Local window 3Immediate Window 首页 > VBA入门> 基本语法 > 运算符 常量 变量 运算符发表评论 阅读评论 VBA中,当然也能做4则运算。VBA中,有算术运算符,比较运算符,逻辑运算符等。 算术运算符运算符例结果+8 + 513-10月4日6*3 * 515/8月5日1.6¥8 ¥ 51Mod8 Mod 5336 236 比较运算符运算符例结果<8 < 5FALSE<=3 <= 8TRUE>8 >
3、 5TRUE>=3 >= 8FALSE=3 = 8FALSE<>3 <> 8TRUE 逻辑运算符运算符例结果And8 > 4 And 2 <= 3FALSEOr8 > 4 Or 4 <= 1TRUENotNot 8 > 4FALSE VBA运算符的例子012345678910111213141516171819202122Sub Test() Dim x As Integer x = 10 * 5 Range("A1").Value = x Rang
4、e("A2").Value = 30 / 8 Dim str As String str = "test" If str = "test" Then Range("A3").Value = "变量的值=test" Else Range("A3").Value = "变量的值!=test" End If Dim
5、y As Integer y = 18 If y > 10 And y < 20 Then Range("A4").Value = "变量的值 在 10 20 之间" End IfEnd Sub编写VBA代码,运行VBA发表评论 阅读评论 以一个sub test()为实例,简单演示VBA代码,并且运行VBA程序1。在visual basic editor内,敲入 sub test()后,摁下【Enter】键2。End Sub自动的补全了3。Sub test()End Sub之间,敲入
6、msgbox("hello excel vba world")后,摁下【Enter】键4。msgbox MsgBox。自动的变化了。5。工具栏中的按钮按下,就可以运行刚才记录下的代码。或者摁下F5,也可以运行刚才的代码。6。Excel VBA宏的运行结果。方法发表评论 阅读评论 方法(procedure),是VBA的处理单位。VBA中,方法分为2中,sub和function。sub procedure写法例012Sub sub1() End Subsub,以关键词sub开头,End Sub结束,中间编写程序处理,sub后就是方法名。下面是个方法例子.一个Modu
7、le中,可以定义任意个方法,2个方法自己,VBA自动的用横线分割。 编写后的每一个sub,都是一个个excel宏,上图中代码中,按F5,就会出现下图,3个sub就是3(宏) sub和function的区别sub和function2种方法,最大明显的区别就是,返回值。sub没有返回值,而function可以有返回值。看下面的例子。012345678910111213141516Sub Test()'Sub和Function方法的比较 intData = 1 Call Sub1(intData) intData = Function1(intData) Ms
8、gBox "Function1的返回值:" + CStr(intData)End Sub Sub Sub1(ByVal intData As Integer) MsgBox "Sub1结果:" + CStr(intData)End Sub Function Function1(ByVal intData As Integer) As Integer intData = intData + 1 Function1 = intDataEnd Function</code> 方法的势力范
9、围某个方法,在哪里可以使用,在哪里变成不能使用。这就是方法的势力范围。总结如下图如上图,module1和module2.module1的MainPro可以使用Module2中Pro2,Func2,因为它们是Public的,而不能使用定义为Private的Pro1和Func1.在Module内,不管是Public,还是Private,Pro1,Pro2,Func1,Func2都是可以相互使用的。也就是做在全Module内都可以使用。总结起来,Private,Public只是在跨Module时,才起作用。数据类型发表评论 阅读评论 VBA的数据类型,可以分为,数值类,字符类,日期类,还有万能的Va
10、riant。总结起来如下图数据类型字节(单位byte)范围String2字符串Boolean2True 或者 FalseByte10 255 整数Integer2-32,768 32,767 整数Long4-2,147,483,648 2,147,483,647 整数Single4-3.402823E38 -1.401298E-451.401298E-45 3.402823E38Double8-1.79769313486231E308 -4.94065645841247E-3244.94065645841247E-324 1.79769313486232E308Currency8-
11、922,337,203,685,477.5808 922,337,203,685,477.5807Date80100/01/01 9999/12/31Object4对象所引用的类型决定Varient2可变,具体类型决定自定义类型2自定义 类型的使用指定一个变量的类型,可以这样做01234567'变量的类型指定格式Dim 变量名 as 数据类型 '变量定义例子Dim var12 as StringDim var as IntegerDim old as Integer, name as Object想要保存喜欢过的文章吗?立即关联或创建无觅帐号?不再提示! 0
12、 您可能也喜欢:· 过滤重复的数据 · 过滤后数据复制到别的sheet · 指定图表的数据源 · Cxxx 数据类型变换函数列表 · isXXX 数据类型检查函数列表 · 单元格注释的设定 · 带密码保护sheet · 子文件夹的大小 图形化-FileSystemObject实例 · 激活sheet · 复制窗口 · 单元格位置和方向 · 选择多个sheet 无觅 分类: VBA入门, 基本语法 常量发表评论 阅读评论 固定不变的值,在代码内多次使用时,可以用常量来定义。用法
13、Const 常量名 AS 数据类型 = 値例码0123456Sub rei702() Dim I As Integer Const Zei As Single = 0.05 For I = 2 To 5 Cells(I, 2).Value = Int(Cells(I, 1).Value * Zei) Next IEnd Sub运行结果启动Visual Basic Editor发表评论 阅读评论 这里演示图片都是日文的,对不起,大家将就的看,不懂的可以在评论中讨论。1。打开Excel,点击进入 (T)(工具)(M)(宏)Visual Basic Editor(V)。打开VBA代码编辑器。
14、0;2。点击菜单,进入挿入(I)(插入)標準(M)(标准模块) 3。Module1就这样作成了。这里可以开始VBA,带来方便,快捷的VBA就可以开始咯变量发表评论 阅读评论 VBA中,这样定义变量,变量赋值,和使用变量的。VBA中,变量不需要事先定义,但作为规范的程序员,事先定义,合适的时机定义变量,这是必须要做的。0123456Sub () Dim x '定义变量x x = 100 '为变量x赋值100 Range("A1").Value = x '使用变量x Range("A2").V
15、alue = x '使用变量xEnd Sub运行结果如下图 变量的势力范围方法内定义的变量,它的势力范围,只能指方法内有效。但,变量想在别的方法内也能使用,该怎么做呢?如果想在全Module可用,那就定义全域全局变量。如果想在本Moduel内使用,就定义Module全局变量。例子如下01234567891011121314151617181920212223242526272829303132333435'Module1Public i As Integer '全域全局变量Dim j As Integer 'Module全局变量Private Sub
16、ProcedureL() Dim k As Integer '方法内变量 i=0 j =0 k = 0 i = i+1 j = j+1 k = k+1 Call PrivateML Call PublicML MsgBox "全域全局变量:" + CStr(i) + Chr(10) + _ "Module全局变量:" + CStr(j) + Chr(10) + _ "方法内变量:" + CStr(k)End Sub Private Sub PrivateML
17、() i = i + 1 j = j + 1 k = k + 1End Sub 'Module2Public Sub PublicML() i = i + 1 j = j + 1 k = k + 1End Sub 用下图来总结一下写VBA代码发表评论 阅读评论 在subEnd Sub之间,是我们的天堂,想写就写什么,只要符合VBA语法。如下例01234Sub sub1() Range("A:1").Value = 10 Range("A:2").Value = 20 Range(&a
18、mp;quot;A:3").Value = 30End Sub方法体内,有3行,从上到下,顺序执行。VBA中,同一个处理只能写在一行,换行就算别的处理了。下例这样写就是错的了。0123Sub sub1() Range("A:1").Value = 10End Sub如果真的很想在一行做多个处理,VBA也提供这样的写法,2个处理之间用【:】分割,如下例 0123Sub sub1() Range("A:1").Value = 10 :Range("A:2").Value =
19、 20 Range("A:3").Value = 30End Sub如果一行内处理太多,很太长,不好读,可以使用【】来换行。如下例0123Sub 名() Range("A:1").Value _ = 10End Sub对话框输入对话框发表评论 阅读评论 VBA提供一个简单的带输入的对话框。格式如下01Dim ans As Stringans = InputBox(提示文字, 标题文字, 缺省值)输入框,只有OK,Cancal按钮,所以这里不需要按钮种类。输入框中OK按钮按下时,输入的结果返回到ans,cancel按钮按下时
20、候,”返回给ans。 例子01234567Sub test() Dim ans As String ans = InputBox("你是人类的年龄是?", "年龄确认", "") If ans <> "" Then Range("A1").Value = ans End IfEnd Sub提示消息换行发表评论 阅读评论 提示对话框中,提示的消息是可以任意换行。VBA中
21、表示换行的,常量如下表常量值説明vbCrChr(13)Carriage ReturnvbLfChr(10)Line feedvbCrLfChr(13) + Chr(10)Carriage Return + Line feedvbNewLineChr(13) + Chr(10) OR Chr(13) (Macintosh)不同操作系统通用推荐使用【vbNewLine】例子012345Sub test() Dim msg As String msg = "你好 " & vbNewLine & "太阳出
22、来了吗" MsgBox msg, vbOKOnly + vbInformation, "对话框测试"End Sub提示对话框的图标发表评论 阅读评论 VBA中定义了4种对话框图标。常量値说明图标vbCritical16警告 vbQuestion32询问vbExclamation48注意vbInfomation64信息例子012345678910Sub test() Dim ans As Integer ans = MsgBox("真的执行吗?", vbOKCancel +
23、 vbQuestion, "测试对话框") If ans = vbOK Then Range("A1").Value = "OK按钮按下了。" Else Range("A1").Value = "Cancel按钮按下了。" End IfEnd Sub提示信息对话框发表评论 阅读评论 VBA中,提供一个提示信息对话框格式0MsgBox 对话框上显示的文字, 对话框中按钮的类型, 对话框的标题例子01Sub
24、test()     MsgBox "Dialog Test", vbOKOnly, "Dialog Title" End Sub运行结果如下图按钮的种类发表评论 阅读评论 如果只是一个提示信息,一个OK按钮已经够了。但如果,文件删除的时用的提示框,需要有OK和Cancel2个按钮。介绍指定按钮的种类和个数。VBA已经预定了一些按钮。如下图常量值对话框上出现的按钮vbOKOnly0OK按钮vbOKCancel1OK按钮、Cancel按钮vbAbortR
25、etryIgnore2Abort按钮、Retry按钮、Ignore按钮vbYesNoCancel3yes按钮、no按钮、cancel按钮vbYesNo4yes按钮、no按钮vbRetryCancel5Retry按钮、cancel按钮对话框的按钮按下后的返回值如下表常量値对话框按下的按钮vbOK1OK按钮vbCancel2cancel按钮vbAbort3Abort按钮vbRetry4Retry按钮vbIgnore5Ignore按钮vbYes6yes按钮vbNo7no按钮例子012345678910Sub test() Dim ans As Integer ans = MsgBox(&
26、amp;quot;真的运行吗?", vbOKCancel, "测试") If ans = vbOK Then Range("A1").Value = "OK按钮按下了。" Else Range("A1").Value = "cancel按钮按下了。" End IfEnd Sub对象对象的方法发表评论 阅读评论 方法是对象的行动执行者,例如,删除单元格,选择单元格等等。 方法的写法如下 0
27、对象.方法名方法的使用例 下例中 ,将A1这个单元格删除。 0123Dim testrange As Range Set testrange = Range("A1")testrange.Delete但方法有参数时,写法如下0对象.方法名 参数1:=参数1, 参数名2:=参数2, .示例,编写下面代码,运行看看。 012Sub SelectCell()Worksheets("Sheet1").Range("A1").SelectEnd Sub方法,和属性一样,也有层次关系。Wo
28、rksheets("Sheet1")Range("A1")Select对象的属性发表评论 阅读评论 VBA中,对象有Application,Workbook,Worksheet等,各个对象都有自己的方法和属性。、各使操作行。 属性使用方法如下 0对象.属性名为对象的属性赋值如下012Dim testrange As RangeSet testrange = Range("A1")testrange.Value = 10 代码示例,自己运行看看实际结果012Sub SetValue()Worksheets(&a
29、mp;quot;Sheet1").Range("A1").Value = "HELLO EXCEL VBA WORLD"End SubVBA对象发表评论 阅读评论 对象,因为VB是面向过程的编程语言,它不同于面向对象的编程语言中。VBA中对象在VBA中,所谓的对象,主要有如下4种:Application,Workbook,Worksheet,Range(单元格)。另外还有2个对象的集合,Workbooks(打开的所以Excel的集合),Worksheets(一个Excel文件所有的sheet)通过Work
30、books可以遍历所有打开的excel文件,而Worksheets可以遍历此excel文件所有的sheet。它们之间的关系,如下图0123456Application | +- Workbooks | +- Worksheets | +- Range 使用对象对象,是数据类型的一种,所以可以作为普通的变量来使用。定义对象,如下例012Dim testBook As WorkbookDim testSheet As WorksheetDim testRange As Range使用对象,也如普通的变量一样。如下例这样使用对象0123Dim testRange As Range
31、;Set testRange = Range("A1")testRange.Value = 20循环语句循环语句Do While发表评论 阅读评论 循环次数不定的时候,可以是Do While来做循环处理。格式0123Do While 条件 条件为True时 処理1 条件为True时 処理2Loop例子01234567Sub test()'单元格A1A10内,填入110 i = 1 Do While i < 11 Worksheets("Sheet1").Cells(i, 1).Value = i i
32、= i + 1 LoopEnd SubDo While还有这样的写格式012Do 条件为True为止,执行的处理Loop While 条件无论什么条件,起码都会执行一回。例子01234567Sub test()'单元格A1A10内,填入110 i = 10 Do Worksheets("Sheet1").Cells(i, 1).Value = i i = i + 1 Loop While i < 11End Sub循环语句Do Until发表评论 阅读评论 Do Until,循环次数不定,在满足条件之前,一直循环。格式012Do Unt
33、il 条件式 条件式为True为止,循环処理Loop例子01234567Sub test()'单元格A1A10内,填入110 i = 1 Do Until i = 11 Worksheets("Sheet1").Cells(i, 1).Value = i i = i + 1 LoopEnd SubUntil也可以后置格式012Do 条件式为True为止,循环処理Loop Until 条件式例子01234567Sub test()'单元格A1A10内,填入110 i = 10 Do Worksheets("Sheet1&
34、;quot;).Cells(i, 1).Value = i i = i + 1 Loop Until i = 11End Sub循环语句 ForNext发表评论 阅读评论 ForNext适用于循环的次数,是一定的。增量为1的ForNext格式012For 计数器 = 初期値 To 循环次数 循环内的出来Next例子012345'説明:单元格的A1A10里,填入110Sub test() For i = 1 To 10 Worksheets("Sheet1").Cells(i, 1).Value = i NextEnd Sub 自定义增量的F
35、orNext格式012For 计数器 = 初期値 To 循环次数 Step 增量 循环内的处理Next例子012345'説明:单元格A1A10内,填入1,3,5,7,9 Sub test() For i = 1 To 10 Step 2 Worksheets("Sheet1").Cells(i, 1).Value = i NextEnd Sub控制语句WithEnd With发表评论 阅读评论 对于同一个对象,有多个的处理,WithEnd With就可以省下不少代码。格式01234With 名 処理1 処理2 処理3End With相当于012名.処
36、理1名.処理2 名.処理3例子,激活Sheet1,多个单元格内设置值0123456789101112131415Sub test() With Worksheets("Sheet1").Cells(1, 1) .Activate .Value = "WithTest" '值 With .Font .Size = 14 '文字大小 .Bold = True '加粗文字 .FontStyle = "HG教科書体" '字体 End With .Int
37、erior.ColorIndex = 6 '单元格颜色 .RowHeight = 20 '单元格的高 .ColumnWidth = 10 '单元格的宽 End With End SubOn Error发表评论 阅读评论 On Error,是在方法在运行过程,发生了错误的时候,执行的代码。格式0123On Error GoTo LABEL名 LABEL名:错误处理这里发生的错误,是指运行时,发生的错误。语法等错误,在程序执行之前,编译阶段发生的错误,On Error也是可以起作用的。一般错误发生后,都是中断进行,退出程序。也有不管错误,继续执行的例子。
38、这样可以使用Resume Next。Error是个对象,有些属性,有助我们分析错误的原因例子012345678910111213141516Sub OnErrorTest() On Error GoTo ErrorTrap Dim i As Integer i = "test" '这里有错误。 MsgBox "终止。" Exit Sub ErrorTrap: MsgBox "错误No:" & Err.Number MsgBox &
39、amp;quot;错误内容:" & Err.Description MsgBox "帮助文件名" & Err.HelpContext MsgBox "错误对象名:" & Err.Source Resume NextEnd SubGoto发表评论 阅读评论 程序内,想直接跳到到某个地方,GoTo可以帮你做到格式012GoTo LABEL名 LABEL名:例子012345678910Sub Goto文() MsgBox ("
40、;Goto1") GoTo Label1 MsgBox ("Goto2") '不会执行到,所以不会有msgbox出来 Label1: MsgBox ("Goto3")End SubExit发表评论 阅读评论 Exit,义如其词,就是从程序段中跳出来。可以从Do While,For Next等跳出。Exit格式012345678Exit Do Exit For Exit Function Exit Property Exit SubDo
41、Loop中跳出来的例子012345678910111213Sub ExitDo() Dim i As Integer i = 1 Worksheets("Sheet8").Activate Do Worksheets("Sheet8").Cells(i, 1) = i i = i + 1 If i = 10 Then Exit Do End If Loop End SubForNext中跳出来的例子012345678910111213141516Private Sub Test() Cal
42、l ExitSub MsgBox ("Exit Sub") End Sub Sub ExitSub() MsgBox ("Exit Sub1") Exit Sub MsgBox ("Exit Sub2")'这段代码不会被执行 End SubFunction中跳出来的例子012345678910111213141516Private Sub Test() Call ExitFunction E
43、nd Sub MsgBox ("Exit Function3") Function ExitFunction() MsgBox ("Exit Function1") Exit Function MsgBox ("Exit Function2")'这段代码不会被执行 End Function数组数组的定义发表评论 阅读评论 数组定义格式0Dim 变量名(数组要素数 - 1) As 数据类型和普通变量不同的是,需要定义数组内需
44、要存放的要素数。如果需要存放10个要素,则需要这样定义变量名(9)下面例子定义10个字符串的数组0Dim str(9) As String为数组内的各要素赋值。格式0变量名(要数位置) = 值例子01234Dim str(3) As String str(0) = "山田"str(1) = "佐藤"str(2) = "伊藤"数组的index变化发表评论 阅读评论 index是指数组内各个要数的位置。数组中的位置,一般是从0开始。但VBA中,可以定义为任何数字格式0Dim 变量名
45、(最小值 To 最大值) As 数据类型如下例,定义一个数组,从3到6的一个数组。0Dim str(3 To 6) As String 例子012345Dim str(3 To 6) As String str(3) = "山田"str(4) = "佐藤"str(5) = "伊藤"str(6) = "斉藤"数组发表评论 阅读评论 看下面一个例子01234567891011121314Dim pref1 As StringDim pr
46、ef2 As StringDim pref3 As StringDim pref4 As StringDim pref5 As StringDim pref6 As StringDim pref7 As String pref1 = "東京都"pref2 = "大阪府"pref3 = "愛知県"pref4 = "福岡県"pref5 = "北海道"pref6 = "神奈川県"
47、;pref7 = "広島県"每个县都定义一个变量,这样是不是很麻烦呢。如果用数组,就简单多了。同样的处理,用上数组,就是如下012345678Dim pref(6) As String pref(0) = "東京都"pref(1) = "大阪府"pref(2) = "愛知県"pref(3) = "福岡県"pref(4) = "北海道"pref(5) = "
48、;神奈川県"pref(6) = "広島県"代码变短,也好理解。数组的好处还有很多。实际编程中灵活应用。多元数组发表评论 阅读评论 下图是一元的数组,姓名佐藤 一郎山田 花子加藤 健一中村 吾郎下面是2元数组姓名住所佐藤 一郎東京都山田 花子札幌市加藤 健一名古屋市中村 吾郎東京都如上的2元数组,在VBA中如何实现呢?二元数组定义0Dim 变量名(行数 - 1, 項目数 - 1) As 数据类型例子,上面的2元数组,可以这样实现0123456789101112Dim client(3, 1) As String client(0,
49、0) = "佐藤 一郎"client(0, 1) = "東京都" client(1, 0) = "山田 花子"client(1, 0) = "札幌市" client(2, 0) = "加藤 健一"client(2, 0) = "名古屋市" client(3, 0) = "中村 吾郎"client(3, 0) = &a
50、mp;quot;東京都" 举一个求3门功课的平均分的例子。这里用到3元的数组。数据语文数学英语784552988784524587719290代码0123456789101112131415161718192021222324252627282930313233343536Attribute VB_Name = "array4"Sub test() Dim tensuu(3, 2) As Integer tensuu(0, 0) = 78 tensuu(0, 1) = 45 tensuu(0, 2) = 52
51、; tensuu(1, 0) = 98 tensuu(1, 1) = 87 tensuu(1, 2) = 84 tensuu(2, 0) = 52 tensuu(2, 1) = 45 tensuu(2, 2) = 87 tensuu(3, 0) = 71 tensuu(3, 1) = 92 tensuu(3, 2) = 90 Dim sum As Integer Dim heikin As Integer Dim i As Integer Dim j As Integer sum = 0 For i = 0 To 3 For j =
52、0 To 2 sum = sum + tensuu(i, j) Next j Next i heikin = sum / 12 Range("A1").Value = "全部学生全部科目的平均分是" & heikin End Sub条件语句Select Case 发表评论 阅读评论 条件比较多,比较复杂时,虽然可以使用IFElseIfElseIfElseIf。但这样程序不好看,也不好些,推荐使用Select Case Select Case 的格式012345678910111213141516Select Case 比较对象Case 条件1 (条件1为True时 処理1) (条件1为True时 処理2) Case 条件2 (条件2为True时 処理1) (条件2为True时 処理2) Case 条件3 (条件3为True时 処理1) (条件
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 工作总结之电大行政管理毕业总结
- 房屋转租的合同范本(35篇)
- 电镀技术合作协议书(33篇)
- 小学生暑假最后一次国旗下讲话范文(31篇)
- 广西玉林市容县部分学校2024届九年级下学期中考一模数学试卷(含答案)
- C#程序设计案例教程 王明福 源代码习题答案 第2章新
- 材料课件简介绪论部分
- 西藏林芝市一中2025届高考英语考前最后一卷预测卷含解析
- 庆阳市重点中学2025届高考压轴卷数学试卷含解析
- 2025届江西省吉安一中、九江一中等八所重点中学高三第二次调研英语试卷含解析
- 质量成熟度评价标准样本
- 小学科学期末测评方案设计
- 2024年中考作文十二大高频热点主题4-青春梦想(素材)
- 河北省药品流通非现场监管药品流通追溯系统操作手册
- 2024年四川省网格员招聘理论考试复习题库(含答案)
- (2024年)(完整版)24式太极拳教案全集
- 信访维稳工作培训
- 2024年职业卫生技术人员评价方向考试题库附答案
- 中建测评2024二测题库及答案
- 低代码开发智慧树知到期末考试答案2024年
- 考古勘探安全方案
评论
0/150
提交评论