HaliSTS-用ExcelVBA学习编程浅知识图文概述-Ver1.0.1_第1页
HaliSTS-用ExcelVBA学习编程浅知识图文概述-Ver1.0.1_第2页
HaliSTS-用ExcelVBA学习编程浅知识图文概述-Ver1.0.1_第3页
HaliSTS-用ExcelVBA学习编程浅知识图文概述-Ver1.0.1_第4页
HaliSTS-用ExcelVBA学习编程浅知识图文概述-Ver1.0.1_第5页
已阅读5页,还剩37页未读 继续免费阅读

下载本文档

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

文档简介

用ExcelVBA学习编程浅知识图文概述HaliSofttouchseries2Web应用程序运行简介01开发环境下Web应用程序运行简介02用Excel模拟实现开发环境下Web应用程序运行简介03用ExcelVBA编程简介04目录Web应用程序运行简介01这里我们简单了解一下Web应用程序所需要的运行环境Web应用程序运行各个步骤的工作内容建站的步骤计算机语言Java编写的动态网站〔有数据交互功能〕的为例3工作原理:Web应用程序所需要的运行环境互联网浏览器APP返回结果请求提交DNS效劳器网络〔Web〕效劳器应用〔Application〕效劳器数据库〔DB〕效劳器操作系统:Linux例中间件:Tomcat例执行环境:Java执行环境例商务逻辑Java应用程序编译文件操作系统:Linux例中间件:Apache例执行环境:Apache例页面Jsp应用程序文件操作系统:Linux例数据库:MySQL例其他浅蓝色局部为程序运行环境,一旦安装不必要频繁的操作各种Table下面〔下层〕为上面〔上层〕的前提根本上都是由美国企业、大学、研究机构开发制作提供效劳不知道国内软件大公司或机构有没有在研究开发制作红色填充的局部为程序文件,也就是应用〔APP〕功能所谓编程序一般指的就是这一局部客户端4工作原理:Web应用程序运行各个步骤的工作内容互联网DNS效劳器网络效劳器应用效劳器客户端在电脑上翻开浏览器,在地址栏里输入网站地址【wangzhan】回车〔这个网站是假定〕wangzhan:地址栏里输入【wangzhan】回车提交请求信息中间件:Apache例这里指定了要访问的效劳器IP,把信息指向网络效劳器获取经过网络提交过来的信息建立与客户端浏览器可识别关系把网络提交过来的数据传给指定的应用效劳器【这里指定了应用效劳器IP:104.197.xxx.xx】中间件:Tomcat的【Servlet】例应用效劳器的Tomcat接到信息触发Servlet,去执行应用程序执行环境:Java执行环境例商务逻辑Java应用程序编译文件数据库效劳器数据库:MySQL例各种Table12345应用程序调用数据库的数据6把数据库数据传回网络效劳器,并指定Jsp程序中间件/执行环境:Apache例页面Jsp应用程序文件78Apache触发被指定的Jsp程序,利用数据库数据生成全新HTML数据库数据9网络效劳器返回HTML10把网络效劳器返回的HTML表示在浏览器上5浏览器浏览器动态网站-建站所需步骤例利用云效劳时,云效劳器里程序以外的运行环境都已经装好6需求提出购置域名购置效劳器和IP地址域名指向设定部署:Jsp,Java程序编译文件上传到网络效劳器和应用效劳器指定目录客户端确认/运行Java程序编译筹划设计:制作页面内容开发环境编程和测试:制作Jsp,Java程序可分为以下详细步骤需求分析概要设计详细设计开发环境下Web应用程序运行简介02这里我们简单了解一下开发环境下Web应用程序所需要的运行环境开发环境下Web应用程序运行各个步骤的工作内容开发步骤计算机语言Java编写的动态网站〔有数据交互功能〕的为例7工作原理:开发环境下Web应用程序所需要的运行环境浏览器返回结果提交请求信息中间件:Tomcat例运行环境:Java例商务逻辑Java应用程序编译文件操作系统:Windows中间件:Apache例运行环境:Apache例页面Jsp应用程序文件数据库:MySQL例各种Table开发者个人电脑开发工具:Eclipse例一般是在程序员的个人电脑里再现整个网站运行环境开发环境再加上开发工具编写程序代码一键完成:把代码编译成计算机可识别的机器码测试:用一定的步骤操作,运行所编写的程序,进行确认是否符合要求并把编译文件存放在运行环境的指定目录8下面〔下层〕为上面〔上层〕的前提程序代码文件工作原理:开发环境下Web应用程序运行各个步骤的工作内容开发者个人电脑在电脑,翻开浏览器,在地址栏里输入网站地址【wangzhan】、回车〔这个网站是假定〕地址栏里输入【wangzhan】回车中间件:Apache例获取提交过来的信息建立与客户端浏览器可识别关系把提交过来的数据传给Tomcat中间件:Tomcat的【Serveret】例Tomcat接到信息触发Servlet,去执行应用程序执行环境:Java执行环境例商务逻辑Java应用程序编译文件数据库效劳器数据库:MySQL例各种Table3456应用程序调用数据库的数据7把数据库数据传回Apache,并指定Jsp程序中间件/执行环境:Apache例页面Jsp应用程序文件89被指定的Jsp程序利用数据数据生成全新HTML数据库数据10返回HTML119浏览器浏览器把返回的HTML表示在浏览器上开发工具:Eclipse例程序代码文件提交请求信息编写程序12编译的文件部署到指定目录Jsp文件部署到指定目录动态网站-开发环境开发步骤部署:Jsp,Java程序编译文件上传到网络效劳器和应用效劳器指定目录测试:客户端确认Java程序编译编程:制作Jsp,Java程序程序运行开发环境的安装安装之后不用频繁变更在开发工具里完成开发工具的安装和与开发环境的匹配设定10商用运行环境部署商用运行11这里我们简单了解一下用Excel模拟实现Web应用程序所需要的运行环境用Excel模拟实现Web应用程序运行各个步骤的工作内容用Excel2010模拟实现Web应用程序运行简介03工作原理说明:用Excel模拟实现Web应用程序所需要的运行环境12操作系统:WindowsExcel应用程序(VBA程序运行环境)数据存储:Excel工作簿文件【扩展名:.xlsx】各种工作表个人电脑其他浅蓝色局部为运行环境,红色填充的局部应用程序画面与程序:Excel宏文件【扩展名:.xlsm】特定某个Excel工作表作为画面VBA代码程序:商务逻辑局部VBA代码程序:画面处理局部请求提交返回结果画面表示下面〔下层〕为上面〔上层〕的前提工作原理说明:用Excel模拟实现Web应用程序所需要的运行各个步骤13操作系统:WindowsExcel应用程序(VBA运行环境)数据存储:Excel工作簿文件【扩展名:.xlsx】各种工作表个人电脑其他浅蓝色局部为运行环境,红色填充的局部应用程序此文用ExcelVBA来实现,页面和商务逻辑此文用Excel2010应用本身当做是中间件、运行环境,Excel的工作表作为数据库Table、保存的Excel文件当做是数据库操作系统为Windows网络效劳器、应用效劳器、数据库效劳器,也就是机器本身用安装了Excel的个人电脑来实现画面与程序:

Excel启用宏的工作簿文件【扩展名:.xlsm】特定某个Excel工作表作为画面VBA代码:商务逻辑局部VBA代码:画面处理局部12提交请求信息取得数据3取得数据传回4把数据表示在画面Excel用词说明-Excel应用程序14安装在电脑的微软办公软件Excel应用程序可以点击鼠标左键【开始】→【程序】

→【MicrosoftOffice】

→【MicrosoftExcel】运行程序运行后出现的窗口界面为Excel工作簿,还没有存盘的,运行在电脑内存是翻开Excel文件和编辑表格等的应用程序翻开任务管理器,可以看到后台运行的程序状况。Excel文件本身没有翻开,任务管理器里是确认不到的用VBA运行Excel应用程序来翻开Excel文件〔可以不表示Excel文件被翻开的窗口界面〕时,只能在这里确认到Excel用词说明-Excel文件,工作簿〔Book〕,工作表〔Sheet〕,单元格〔Cell〕,单元格地址15Excel格式的存盘的文件Excel文件工作簿〔Book〕工作表〔Sheet〕单元格〔Cell〕用Excel应用翻开Excel文件的状态为工作簿〔Book〕用Excel应用翻开Excel文件后出现表格界面,一个工作簿可以做很多个工作表表格的最小单位,输入的内容称为值,程序和公式里辨识使用单元格地址单元格地址单元格的XY轴交叉位置地址X轴:用罗马字表述Y轴:用阿拉伯数字表述表格利用复数单元格可设置一个表格,与数据库的Table结构类似16这里我们简单用实例了解一下编程手法:MVC模块化〔配件化〕的意义功能函数变量赋值数据库和Table运行测试说明中,鼠标点击动作,如不做特别说明,视为左键点击用ExcelVBA编程简介04工作原理说明:用Excel模拟实现Web应用程序所需要的开发和运行各个步骤例17操作系统:WindowsExcel应用程序(VBA运行环境)数据存储:Excel工作簿文件DB.xlsx各种工作表个人电脑画面与程序:

Excel启用宏的工作簿文件VBA.xlsm【扩展名:.xlsm】特定某个Excel工作表作为画面VBA代码:商务逻辑局部VBA代码:画面处理局部34提交请求信息取得数据5取得数据传回6把数据表示在画面1制作表格和输入值这里讲述从画面提出请求→触发运行VBA代码→翻开别的Excel文件→搜索Excel文件里的数据→符合条件的数据→表示在提出请求的画面的一连串的处理。因此需要事先要创立Excel文件、在工作表里制作表格和输入值22编写VBA代码ExcelVBA:事前准备-宏设置18Excel利用VBA时需要开启宏,依次鼠标左键点击步骤:文件→弹出下拉菜单【选项】→弹出窗口【信任中心】→信任中心设置→弹出窗口【宏设置】→启用所有宏(不推荐:可能会运行有潜在危险的代码)(E)→【确定】关闭窗口→【确定】关闭窗口ExcelVBA:事前准备-开发工具表示19执行VBA程序时需要有触发器,这里为了使用按钮,需要在工具栏里表示开发工具。步骤:在工具栏空白处右键点击→在弹出的Excel选项中点击【自定议快速访问工具栏】→点击右侧选框【开发工具】→点击【确认】ExcelVBA:事前准备-文件20在电脑C盘创立【VBA】文件夹〔目录〕,文件夹内创立文件DB.xlsx〔当做数据库〕和VBA.xlsm按鼠标在文件夹【VBA】的空白处→右键→新建→按鼠标左键MicrosoftExce工作表DB.xlsx文件创立翻开Excel应用程序→文件→另存为→弹出的对话框【保存类型】处选择【Excel启用宏的工作簿(*.xlsm)】→保存VBA.xlsm文件创立创立后的状态ExcelVBA:事前准备-DB.xlsx制作表格和输入值21翻开文件DB.xlsx,制作表格,输入值,保存,关闭制作员工表格并输入值改为【TableStaffList】工作表名修改此工作表里的表格当做Table延伸知识-数据库浅知识〔这里只讲应用效劳器和数据库局部〕22计算机〔物理效劳器〕用户1Schema1数据库效劳器〔软件效劳器〕:MySQLSchema2用户2Table1Table2Table1Table2内存:数据缓存计算机〔物理效劳器〕应用效劳器〔软件效劳器〕:Tomcat程序文件:程序1内存:执行程序1实例化:占用内存,执行程序〔程序文件本身是无法执行的〕2用SQL字符进行操作请求3返回的结果数据,存放到缓存4返回的结果数据Table数据存储的表,用特定的工具可以直观表示成类似Excel的表格SchemaTable等数据库对象集合管理的单位,一个数据库可以创立多个Schema,利用用户账号密码去访问操作,一个用户一个Schema延伸知识-编码之前-程序执行的特征和工作原理23经过以上的准备,我们可以着手写编码了。之前作为程序员要清楚一下占用内存,在内存里执行程序程序执行特征逐行处理Java语言等配件化逐个处理、配件执行完毕释放内存〔内存释放功能由Java运行环境JRE实现〕ExcelVBA里先不考虑释放内存程序文件:程序1是存放在计算机的某个目录里的文件〔已编译的〕,仅有这些文件是无法执行程序本身计算机内存形象比喻程序文件:程序2程序文件:程序3假定依次执行文件1到3,且一个文件占用一个内存格当程序1被调用实例化,就会占用内存并执行,实例化:加载到内存,占用内存以备执行程序〔此时的状态叫生成了对象〕的过程,程序文件本身是无法执行应用效劳器张三从PC浏览器发送请求李四从APP发送请求张三先李四1秒钟进行操作时的工作原理1实例化2341.12.13.14.1请求依次执行,同颜色为请求的连续处理,数字为执行的时间顺序执行之后调用实例化程序2,同时程序1所占内存将被释放,依此类推。延伸知识-编码之前-编码的规那么24为了便于维护,可读且易于理解编码规那么摘录层次要清楚变量,函数等名尽量要用英语,头一个单词小写‘功能描述:查询功能‘hali‘创作时间:2017/12/01'Privatefunctionsearch(in_variableasString)asBoolean‘变量DimaAsStringa=5Ifa=in_variablethenMsgBox“猜对了!”endifEndFunction适当备注:函数、变量、逻辑【VBA程序里英单引号视为备注开始】函数或判断句必须写结束文〔开了门要关掉才是好习惯〕,且要保持同层次延伸知识-编码之前-软件设计-MVC/模块化25程序是一项复杂的工程,有的画面功能需要几万行以上的代码来实现,这就需要在制作、运行、维护的角度进行软件的设计。现在流行的是MVC(Model、View、Controller)架构。以下为Java的简单例互联网DNS效劳器网络效劳器应用效劳器客户端域名:IP指定中间件:Tomcat例的【Servlet】执行环境:Java执行环境例Model:画面数据合规check数据库效劳器数据库:MySQL例各种Table中间件/执行环境:Apache例View:页面Jsp应用程序文件1数据库数据请求开始点浏览器浏览器画面信息Controller:数据传递和商务逻辑Model按顺序执行Model:画面数据取得Model:数据库操作Model:传值给View的程序2345678910延伸知识-编码之前-软件设计数据传递与Model的逐次执行处理MVC:Controller控制器内容返回到客户端处理MVC:View客户端画面表示内容的制作处理制作阶段:每一个模块可以分工MVC:Model以处理属性为单位做模块化模块化:可以理解为现实世界的即插即用的标准化零件运行阶段:每一个模块只在运行时实例化占用内存,程序结束时释放内存维护的角度:能够快速特定维护点,修改程序时只修改某个模块本程序,不用考虑其他模块程序制作阶段:可以分工,页面布局等变更时不需要修改其他程序制作阶段:已经有的模块可以再利用,简短工程制作时间,实现知识的积累一个模块可以是一个文件,Java语言里称为类〔Class〕如果把所有功能编写在一个程序文件,实例化时将会是整个文件的功能,无法灵活释放内存空间对效劳器内存的有效利用,可以有效处理比方1秒钟内10万个请求等26ExcelVBA:编码之前-软件设计以下以这一顺序讲解文件【VBA.xlsm】画面:Sheet【画面】Controller:模块【Controller】Model:【inputDataCheck】Model:【databaseConnect】Model:【tableSearch】View:模块【

ViewSet】VBA代码文件【DB.xlsx】Sheet:【TableStaffList】1Model:【databaseDisConnect】2345610978一般软件开发时是需要,需求分析、概要设计、详细设计等,这里简单用模块的处理流代替画面输入的搜索项必须CheckExcel文件的翻开搜索数据Excel文件关闭搜索结果表示在画面27ExcelVBA:编程-画面设置28翻开文件VBA.xlsm,在工作表【Sheet1】填写如图的文字ExcelVBA:编程-画面设置29画面再追加触发器【按钮】,步骤:点击菜单【开发工具】→点击下拉菜单的【插入】→点击按钮图标,鼠标变为【+】,按着鼠标左键在工作表中向右下方划一段释放鼠标→弹出【指定宏】窗口→宏名设为【Search_Click】→点击【新建(N)】→弹出VBA代码编译窗口→先关闭编码器窗口→工作表Sheet的按钮处点击输入【搜索】→工作表名改成【画面】ExcelVBA:编程-Controller-编写代码-模块/过程30翻开VBA代码编辑器〔再翻开了.xlsm文件的情况下Alt+F11组合键可以翻开VBA代码编辑器〕,翻开【工程资源管理器】和【属性窗口】→点击【工程资源管理器】的【模块1】→点击【属性窗口】的【模块1】→改为【controller】改为【controller】软件的一种归类管理Project程序的一种归类管理,可以创立很多个模块被触发器调用的程序单位过程Project/模块/函数之间是层层隶属关系ExcelVBA:延伸知识-Project/模块/过程/函数之间的关系31软件的一种归类管理Project通常做一个Project文件夹,内有以属性为单位子文件夹来管理相关软件ExcelVBA里一个文件一个Project,只在VBA代码编辑器的【工程资源管理器】里分类管理,这里只涉及模块程序的一种归类管理,可以创立很多个模块以功能属性进行归类管理ExcelVBA里以【名称】来分,一个模块里可以创立很多功能、称为函数被触发器可直接调用的程序处理单位过程过程名Sub开头:过程,是触发器直接调用的没有返回值的处理模块1模块2:过程Private函数1Public函数2Project:Private函数3Public函数4:Private函数只能在自属模块里的过程或函数调用执行,Public函数是可以在其他模块被调用调用执行可调用执行不可×调用执行可被触发器或别的函数调用的程序处理单位过程/函数函数名Function开头:函数,需要被Sub或其他Function调用且有返回值的处理ExcelVBA:编程-Controller-编写代码(重点:If语句)32inputDataCheck():执行函数的写法为记述函数名1.判断句语法:If条件判断式then

符合条件时处理

end2.这里判断函数返回值为False伦理假时结束处理。

※“=”符号的左边为执行函数,右边为条件,“=”符号为判断式先在Controller过程controller_Search_Click内编写逐次执行的Model函数,之后再编写各自model也既模块和函数(※初学者千万不要嫌麻烦,程序一定要照葫芦画葫芦以便获得感性认识),对于有些没有说明的语句要及时在某个在网上搜索、了解其意义。因为程序是逐行执行,所谓逐次执行Model,就是逐行编写ExcelVBA:编程-Model-模块ModInputDataCheck和函数inputDataCheck33右键输入【InputDataCheck】回车创立模块,编写函数编写程序ExcelVBA:编程-函数inputDataCheck的追加说明(重点:函数,变量的说明)34属性:可访问PublicFunctioninputDataCheck()AsBoolean'变量:此工作簿.工作表【画面】DimshtPageAsSheet1

'变量:

DimstrSearchDataAsString

'赋值

SetshtPage=ThisWorkbook.Worksheets("画面")

'赋值:代入此工作簿.工作表【画面】的地址为C2的单元格的值

strSearchData=shtPage.Range("C2").Value

'检查:搜索条件是否为空

IfstrSearchData=""Then

'弹出提示画面

MsgBox"请输入搜索条件",vbOKOnly+vbCritical,"input

温馨提示

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

评论

0/150

提交评论