项目11 职业技能竞赛奖状批量制作-配套教学课件_第1页
项目11 职业技能竞赛奖状批量制作-配套教学课件_第2页
项目11 职业技能竞赛奖状批量制作-配套教学课件_第3页
项目11 职业技能竞赛奖状批量制作-配套教学课件_第4页
项目11 职业技能竞赛奖状批量制作-配套教学课件_第5页
已阅读5页,还剩62页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第三篇WPS表格数据计算信息技术基础配套教材项目11职业技能竞赛奖状批量制作/CONTENT目录项目效果0201学习目标实施步骤04知识技能03项目拓展05项目小结06学习目标01学习目标01了解WPSVB的应用;熟悉VB工作界面;掌握VB基础语法知识;掌握VB程序结构;掌握宏的录制与应用。知识目标能力目标会进行VB宏录制;会用循环语句修改VB宏代码,批量制作奖状。。思政目标培养学生专业技能与职业道德素养,树立高效办公思想;培养学生钻研精神。项目效果02项目效果02知识技能03知识技能0311.1WPSVB

概述VisualBasicforApplications(VBA)是VisualBasic的一种宏语言,是微软开发出来在其桌面应用程序中执行通用的自动化(OLE)任务的编程语言。主要能用来扩展Windows的应用程式功能,特别是MicrosoftOffice软件。在WPS中VB程序菜单窗口。知识技能0311.1WPSVB

概述如找不到开发工具,则在【文件】-【选项】下,选择显示“开发工具”窗口。知识技能0311.1WPSVB

概述返回主界面,可以看到在工具栏出现开发工具。单击进去可以发现在开发工具下有宏、VB编辑器等功能,但是都是灰色状态,表明此时还不能使用。知识技能0311.1WPSVB

概述不能使用开发工具的原因是WPS本身并没有内置VB程序,需要安装另外的工具包才能启用。适合WPS2019的工具包可以通过百度云盘下载(链接:/s/1Rza__o46q8k9sXSauZKnfQ,提取码:d3d7),下载后安装即可,再次打开xlsm文件,可以看到提示是否启用宏,单击确定,在开发工具栏下可以看到灰色状态已经消失,表明可以使用VB功能。知识技能0311.1WPSVB

概述单击VB编辑器图标,展开VB窗口。该窗口中有:工程资源管理器、属性窗口、代码窗口、对象窗口及监视窗口等。知识技能0311.2我的第一个VB程序【示例1】使用VB程序的用户窗体,实现如图所示界面设置。当单击“你好!”命令按钮时,跳出“欢迎来到中国!”提示框。提示框内的文字为“HelloWorld!”。知识技能0311.2我的第一个VB程序第1步,插入用户窗体,修改标题为“我的第一个程序”,添加一个命令按钮,将其标题设置为“你好!”。第2步,双击“你好”命令按钮,跳出如图11.12所示窗口,并在代码编辑窗口中添加代码:MsgBox"HelloWorld!",vbOKOnly,"欢迎来到中国!"。知识技能0311.2我的第一个VB程序第3步,单击工具栏中的绿色三角箭头的运行按钮(或F5)运行代码。第4步,以上运行无误后,单击【文件】【保存工作簿1】,请选择启用宏的工作簿,,文件扩展名为“.xlsm”。Excel中默认情况下不自动启用宏,xlsm中含有宏启用。知识技能0311.3VB语法基础11.3.1

标识符11.3.2

运算符11.3.3

数据类型11.3.4

变量与常量知识技能0311.3VB语法基础11.3.1

标识符标识符是一种标识变量、常量、过程、函数、类等语言构成单位的符号,利用它可以完成对变量、常量、过程、函数、类等的引用。VB中的标识符命名规则如下:1)以字母开头,由字母、数字和下划线组成,如A987b_23Abc。2)字符长度小于40(Excel2002以上中文版等,可以用汉字且长度可达254个字符)。3)不能与VB保留字重名,如public、private、dim、goto、next、with、integer、single等。知识技能0311.3VB语法基础11.3.2运算符VBA运算符是代表某种运算功能的符号。主要有:1)赋值运算符:=;2)算术运算符:+(加)、-(减)、Mod(取余)、\(整除)、*(乘)、/(除)、-(负号)、^(指数)、&、+(字符串连接符);3)逻辑运算符:Not(非)、And(与)、Or(或)、Xor(异或)、Eqv(相等)、Imp(隐含);4)关系运算符:=(相同)、<>(不等)、>(大于)、<(小于)、>=(不小于)、<=(不大于)、Like、Is;5)位运算符:Not(按位否)、And(按位与)、Or(按位或)、Xor(按位异或)。知识技能0311.3VB语法基础11.3.3数据类型VB共有12种数据类型,具体如表所示,此外用户还可以根据以下类型用Type自定义数据类型。数据类型类型标识符标识符字节字符串型字节型布尔型整数型长整数型单精度型双精度型日期型货币型小数点型变体型对象型StringByteBooleanIntegerLongSingleDoubleDateCurrencyDecimalVariantObject$无无%&!#无@无无无字符长度(0-65400)1224488814以上任意类型,可变4知识技能0311.3VB语法基础11.3.4变量与常量VB允许使用未定义的变量,默认是变体变量。模块通用说明部分加入OptionExplicit语句可以强迫用户进行变量定义。一般变量作用域的原则是,在哪部份定义就在哪部份起作用,模块中定义则在该模块中作用。变量定义语句及变量作用域主要有:(1)局部变量:Dim变量as类型,如:Dimxasinteger(2)私有变量:Private变量as类型,如:Privatexasbyte(3)公有变量:Public变量as类型,如:Publicxassingle(4)全局变量:Global变量as类型,如:Globalxasdate(5)静态变量:Static变量as类型,如:Staticxasdouble5)常量为变量的一种特例,用Const定义,且定义时赋值,程序中不能改变值,作用域也如同变量作用域。知识技能03

11.4VB程序结构同其它程序设计语言,VB程序结构有以下三种:1.顺序结构:赋值语句、注释语句、声明语句、VBA函数(InputBox,MsgBox)2.选择结构:If、SelectCase3.循环结构:For…Next、DoWhile…Loop、DoUntil…Loop语句知识技能03

11.4VB程序结构1.

顺序结构:1)赋值语句赋值语句是将表达式赋给指定的变量或对象,表达式也可以是常量或变量。格式如下:变量名|对象=表达式(如:r=1,S=p*r^2)2)注释语句可以用REM或'(单引号)来注释,语句颜色为绿色,程序执行时,注释语句不起作用,不参与执行('IfX>=0ThenTextBox2.Text=XElseTextBox2.Text=-X)知识技能03

11.4VB程序结构1.

顺序结构:3)声明语句声明语句是VBA程序中最基本的程序语句,是说明程序中将要使用的常量、变量,一般以Dim(动态)、Static(静态)、Private(私有)、Public(全局)开头。知识技能03

11.4VB程序结构1.

顺序结构:4)输入函数InputBox()InputBox()函数能够产生一个输入对话框,等待用户输入数据,并返回所输入的内容,语法格式:InputBox(prompt[,title][,default][,xpos][,ypos])其中的prompt为窗口的提示词,title为输入窗口的标题,default为输入窗口的默认内容,xpos、ypos为窗口距离屏幕左边、上边的距离。参数名说明Prompt输入框信息提示,最大长度1024字符。如果需要在对话框中显示多行数据,可使用回车换行符来进行分割,Vbcrlf代表回车换行符Title输入框标题,显示在标题栏上Default输入框的默认值Xpos/YPos指定对话框的左上角坐标位置,如果省略该参数,则对话框呈水平居中。知识技能03

11.4VB程序结构1.

顺序结构:5)消息提示函数MsgBox()语法格式:MsgBox(promtp[,buttons][,title])其中的prompt为消息框提示信息;buttons为控制消息框中所包含按钮及类型;title为消息框标题,显示在标题栏上。参数名说明Prompt消息框提示信息Buttons主要用于控制消息框中所包含按钮及类型,包括按钮的类型、消息框中显示的图标、消息框的默认按钮。Title输入框的默认值知识技能03

11.4VB程序结构1.

顺序结构:MsgBox()函数还有另外一种形式,具有返回值,如下表。对应按钮含义返回值确定Vbok1取消Vbcancel2终止Vbabort3重试Vbretry4忽略Vbignore5是Vbyes6否Vbno7知识技能03

11.4VB程序结构1.

顺序结构:【示例2】设计如图1所示的用户窗体,当单击“数据获取”命令按钮时,弹出输入对话框,如图2,要求输入数据。单击确定后,使用对话框显示相应的输入数据,如图3。知识技能03

11.4VB程序结构1.

顺序结构:第1步,设计用户窗体,插入命令按钮,并修改对应的标题属性“数据获取”。第2步,双击“数据获取”命令按钮进入代码编辑窗口,并在相应位置,输入如下代码:第3步,保存并运行程序。PrivateSubCommandButton1_Click()DimnAsIntegern=InputBox("请输入数据:","数据输入")MsgBox"你输入的数据是:"&n,vbOKOnly,"数据输出"EndSub知识技能03

11.4VB程序结构2.

分支结构:(1)If…Then单分支结构If单分支语句的基本语法:如下示例表示当x>250时,则让x减掉100,否则不执行任何语句。If<条件表达式>Then[执行语句块A]Ifx>250Thenx=x-100知识技能03

11.4VB程序结构2.

分支结构:(2)If…Then…Else…Endif分支结构If分支语句的基本语法:If<条件表达式>Then

[执行语句块A]Else

[执行语句块B]知识技能03

11.4VB程序结构2.

分支结构:(2)If…Then…Else…Endif分支结构如下示例表示当A中的值大于B中的值且C的值小于D的值时,则执行“A=B+2”的语句,否则执行“A=C+2”这条语句。IfA>BandC<DThen

A=B+2Else

A=C+2EndIf知识技能03

11.4VB程序结构2.

分支结构:(3)ElseIf多分支结构多分支结构的语法:If<条件表达式A>Then

[执行语句块A][ElseIf<条件表达式B>Then]

[执行语句块B]

...[Else]

[执行语句块]]EndIf知识技能03

11.4VB程序结构2.

分支结构:(4)Select多分支结构语法格式:SelectCase<条件表达式1>

执行语句块1;

Case<条件表达式2>

<...>

CaseElseEndSelect知识技能03

11.4VB程序结构2.

分支结构:(4)Select多分支结构如示例代码表示当P的值为字符串”A101”,让变量Price的值为200;当P的值为字符串”A102”,让变量Price的值为300;否则让Price的值为900。SelectCaseP

Case“A101”

Price=200

Case“A102”

Price=300

CaseElse

Price=900EndSelect知识技能03

11.4VB程序结构2.

分支结构:【示例3】设计如图所示的用户窗体,在文本框中输入一个字符,判断该字符的结果是大写、小写、数字还是其它。并在对应位置显示判断后的结果。如果输入的值是数字,则计算对应的圆的周长。知识技能03

11.4VB程序结构2.

分支结构:第1步,设计用户窗体,添加对应的控件并设置控件相应属性。第2步,为命令按钮添加单击事件的代码,代码如右。第3步,运行并测试。PrivateSubCommandButton1_Click()DimxAsStringDimisbAsBoolean

IfTextBox1.Text=""ThenExitSub

x=TextBox1.Textisb=False

SelectCaseAsc(x)Case65To90TextBox2.Text="大写字母"Case97To122TextBox2.Text="小写字母"Case48To57TextBox2.Text="数字"isb=TrueCaseElseTextBox2.Text="其它字符"EndSelect

Ifisb=TrueThenDimCAsSingleC=2*3.14159*xLabel3.Caption="半径为"&x&"的圆的周长为"&CElseLabel3.Caption="欢迎使用!"EndIfEndSub知识技能03

11.4VB程序结构(1)Dowhile循环结构在VBA中,可以多种形式实现循环结构,可以选择Dowhile、Dountil或者For等。Dowhile在运行时,如果条件表达式的值为True时,重复执行循环体语句块命令,语法结构如下:DoWhile<条件表达式>执行循环体语句;Loop知识技能03

11.4VB程序结构下列语句为使用Dowhile计算n1=n!的程序代码示例:i=1n1=1DoWhilei<n+1n1=n1*ii=i+1Loop在实现时,可设计用户窗体实现n的输入获取,并将结果值n1显示到label控件上。知识技能03

11.4VB程序结构(2)Dountil循环结构Dountil循环结构的语法如下,与Dowhile相区别的是,该循环是先执行再判断。DoUntil<条件表达式>执行循环体语句;Loop知识技能03

11.4VB程序结构同样以计算n!为例,说明dountil循环的使用,结果存储至n2中。代码示例如下:i=1n2=1DoUntili>nn2=n2*ii=i+1Loop知识技能03

11.4VB程序结构(3)For循环结构For循环结构的语法如下:For变量=初值To终值Step步长执行循环体语句;Next变量知识技能03

11.4VB程序结构以计算n!为例,说明for循环的使用,结果存储至n3中。代码示例如下:i=1n3=1Fori=1TonStep1n3=n3*iNexti知识技能03

11.4VB程序结构练一练:利用循环语句求1-100的和?窗体设计如图所示。对应三个按钮的代码写在下面框里。知识技能03

11.5VB宏录制宏是一些指令集,在表格数据处理的过程中经常需要重复完成多种相同工作,而一直重复做的话会非常繁琐,因此就可以通过宏录制来节约时间简化步骤,对于提高工作效率是非常有好处的。WPS表格的宏是指基于VB的一种宏语言,主要用于扩展WPS软件如表格的功能。对于经常使用WPS表格来工作的话,能有效地提高工作,让自己变得更轻松。知识技能03

11.5VB宏录制然而在VB编程实现过程中,很多时候并不确定要使用哪个VB对象的方法或属性,可以打开宏录制器并手动执行该操作。宏录制器会将操作转换成VB代码。录制完操作后,可修改代码以准确完成所需的操作。例如,如果不知道如何设置单元格的字体、字号时,可以执行下列操作:1)在【开发工具】功能区上,单击【录制新宏】。2)将默认的宏名更改为所选择的名称,然后单击【确定】按钮启动录制器。3)选中某个单元格,并将单元格的字体、字号做相应修改。4)在【开发工具】功能区上,单击【停止录制】。5)在【开发工具】功能区上,单击【VB宏】。选择在步骤2中指定的宏名,然后单击【编辑】,查看设置单元格对应的属性代码,将光标放在相应的属性内,然后按F1或单击【帮助】按钮,查看帮助。知识技能03

11.5VB宏录制因此,通过宏录制可以将进行的操作录制下来,之后可以重复执行达到简化操作的目的,不用接触代码。宏录制器是一个很好的工具,可用于发现要使用的VB对象的方法和属性。如果不知道使用何种属性或方法,可打开宏录制器,然后手动执行操作。宏录制器会将操作转换为VB代码。知识技能03

11.5VB宏录制不过,录制宏具有一些限制条件,以下内容将无法录制:1)条件分支;2)变量指定;3)循环结构;4)自定义用户窗体;5)出错处理;6)用鼠标选定的文本(必须使用组合键)。若要增强宏的功能,可能需要修改录制到模块中的代码。知识技能03

11.5VB宏录制【示例4】已知数据表11.5中的成绩列表,需要制作成绩单(表11.6),即在每个学生记录前加上标题。知识技能03

11.5VB宏录制第1步,在【开发工具】功能区上,单击【录制新宏】,如图1所示,然后在弹出如图2的“录制新宏”对话框,要求设置宏名、保存位置等基本信息。知识技能03

11.5VB宏录制第2步,宏名与快捷键设置好之后,单击【确定】按钮,进入录制宏状态。单击【使用相对引用】,选中标题行,复制并粘贴到第三行,最后单击A3单元格,完成后,单击【停止录制】,如图所示。此时,完成了第一个宏的录制,并成功定义了一个宏。知识技能03

11.5VB宏录制第3步,单击【VB宏】弹出如图所示对话框,选择“录制成绩单”宏,然后单击【编辑】按钮进入VB工程界面的代码编辑窗口。知识技能03

11.5VB宏录制第4步,进入代码窗口,如图1所示,即“录制成绩单”宏的代码,然后单击运行,或者用“crtl+q”就可以复制标题到各位学生成绩上面,最后结果如图2所示。实施步骤04实施步骤041.打开竞赛获奖学生名单所在的表格打开“大数据技术与应用竞赛获奖名单.xlsx”,如图所示。实施步骤042.制作奖状打印模板根据历年浙江省职业技能竞赛奖状模板,以2021年竞赛为例,在“sheet2”中设计对应模板,如图所示。实施步骤043.在开发工具中单击录制新宏首先,新增“sheet3”表格,选中“sheet3”的A1单元格,然后单击“开发工具”的【录制新宏】,键入对应的宏名称,如“奖状制作”,单击【确定】按钮,如图所示。实施步骤043.在开发工具中单击录制新宏其次,跳转到“sheet2”中用“Ctrl+C”复制奖状模板区域,到“sheet3”中,再者用快捷键“Ctrl+F”查找替换对应的信息,比如<学生姓名>替换为“张三”,如图1所示。最后显示结果如图2所示。实施步骤043.在开发工具中单击录制新宏最后,停止录制宏,并打开宏代码编辑窗口,代码如图所示。实施步骤044.根据录制新宏代码,修改VB代码根据第3步录制的宏代码,修改成我们需要的宏代码,如下:Sheets("Sheet2").ActivateRange("A1:J21").SelectSelection.CopySheets("Sheet3").ActivateRange("A1").ActivateActiveSheet.PasteRange("A2").ReplaceWhat:="<学生姓名>",Replacement:="张三",LookAt:=xlPart,SearchOrder:=xlByRows,MatchCase:=False,MatchByte:=False,SearchFormat:=True,ReplaceFormat:=TrueSelection.FindNextAfter:=Range("A2")实施步骤045.利用循环结构编写VB代码实现奖状批量制作通过循环语句,最后编写的VB代码如下:注:标注出来的即原来录制的宏代码进行的修改,再外层套上for循环结构。最终效果如图。PrivateSubCommandButton1_Click()DimmAsIntegerDimnAsInteger

m=1n=2

Fori=3To18Sheets("Sheet2").ActivateRange("A1:J21").SelectSelection.CopySheets("Sheet3").ActivateRange("A"&m).SelectActiveSheet.PasteRange("A"&n).ReplaceWhat:="<学生姓名>",Replacement:=Worksheets(1).Cells(i,3).Value,LookAt:=xlPart,SearchOrder:=xlByRows,MatchCase:=False,MatchByte:=False,SearchFormat:=True,ReplaceFormat:=TrueSelection.FindNextAfter:=Range("A"&n)Range("A"&n).ReplaceWhat:="<指导老师姓名>",Replacement:=Worksheets(1).Cells(i,4).Value,LookAt:=xlPart,SearchOrder:=xlByRows,MatchCase:=False,MatchByte:=False,SearchFormat:=True,ReplaceFormat:=TrueSelection.FindNextAfter:=Range("A"&n)Range("A"&n).ReplaceWhat:="<学院>",Replacement:=Worksheets(1).Cells(i,2).Value,LookAt:=xlPart,SearchOrder:=xlByRows,MatchCase:=False,MatchByte:=False,SearchFormat:=True,ReplaceFormat:=TrueSelection.FindNextAfter:=Range("A"&n)Range("A"&n).ReplaceWhat:="<团体奖>",Replacement:=Worksheets(1).Cells(i,5).Value,LookAt:=xlPart,SearchOrder:=xlByRows,MatchCase:=False,MatchByte:=False,SearchFormat:=True,ReplaceFormat:=TrueSelection.FindNextAfter:=Range("A"&n)

m=m+22n=n+22

NextEndSub项目拓展05项目拓展05应用WPSVB宏也可以做考场座位表的批量制作。这里对双列考场座位表的制作做个拓展,效果图如图。项目拓展05编程步骤与奖状制作类似:1.制作考场座位表单个模板;2.录制宏3.修改宏4.编写VB程序。VB代码如下:PrivateSubCommandButton1_Click()Dimi,m,nAsIntegerm=2n=0Worksheets(2).ActivateFori=2ToWorksheets(1).UsedRange.Rows.CountRange("A1:E10").SelectSelection.CopyRange("A1:E10").Offset(m,n).SelectSelec

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论