聚集网(jujiwang.com) - 收录免费分类目录信息软文发布网址提交
免费加入

彻底理解 VBA 基础知识:立即下载免费的教程 (彻底理解的成语)

文章编号:10689时间:2024-09-29人气:


立即下载免费的教程

立即下载免费的教程

你想了解 VBA 并提升你的 Excel 自动化技能吗?现在,你可以免费获取一份全面的教程,让你彻底理解 VBA 的基础知识。

这款教程涵盖了以下内容:

  • VBA 基础知识
  • 变量、数据类型和运算符
  • 控制流语句
  • 函数和过程
  • 对象和集合

通过学习本教程,你将掌握 VBA 编程语言的基本概念和技术,包括:

  • 创建和编辑 VBA 代码
  • 自动化 Excel 任务,如格式化、数据处理和图表
  • 处理错误和调试代码
  • 在 VBA 中使用对象和集合
  • 利用 VBA 提升你的工作效率

无论你是 VBA 新手还是希望提高技能的现有用户,这款教程都为你提供了坚实的基础。通过我们的循序渐进的课程,你将从头开始学习 VBA,并逐渐掌握更高级的概念。

立即下载

立即下载这款免费的 VBA 基础知识教程,开启你的 VBA 之旅。点击以下按钮,即可获取你的副本:

下载教程

不要错过这个提升你的 VBA 技能并自动化 Excel 任务的绝佳机会。立即下载我们的免费教程,开启你的编程之旅。

注意:本教程仅适用于 Microsoft Excel。如果使用其他电子表格软件,则本教程的内容可能不适用。


谈谈你对EXCEL的函数、公式、数组公式、数据透视表、VBA的理解?

我是这样理解,我把你说的这些功能,归纳为三类:一是系统提供的功能:例如删除重复、标记重复、排序、分类汇总、数据透视、插入图表等,这些功能学习难度最低,实现的功能不可小视,例如数据透视、高级筛选、导入外部数据等功能实际上非常强大。 当工作需求有EXCEL的功能可以实现的时候,首选使用EXCEL提供的基本功能解决。 二是使用函数和公式完成的运算:在进行简单运算、小批量数据汇总的时候,公式是系统基本功能的有益补充,一般使用者需要了解求和SUM、条件求和SUMIF、查询VLOOKUP等典型公式。 三是使用VBA进行的高级处理:VBA是EXCEL的终极武器,可以解决所有以上两种方式能实现的功能,还可以解决他们不能实现的功能。 典型应用在两个方面,一是批量操作,例如需要一次打开数个文件进行的基本操作或者公式统计,使用VBA代码可以自动化操作,像外挂一样。 二是大量计算,由于EXCEL本身的查找、统计等功能无法使用索引,大表的匹配和统计会非常慢,例如两个超过1万行的数据进行VLOOKUP匹配的任务慢到不可想象的程度,所需要的时间需要以小时计。 这时候使用VBA编程的数组、字典这些工具,必要时配合快速排序、二分查找等算法,使得前面那些不可能的统计和匹配能分分钟完成。 当然VBA属于编程的范围,学习难度是最大的。

复旦大学有哪些教授的课是必须要去蹭的?

身为复旦经院的研究生,当然是最爱林利军老师的《投资大师与投资哲学》。

林立军老师在复旦经院读的本科,国外读硕回来后创立了汇添富,后来发展为国内排名非常考前的公募基金,再之后创立了知名私募正心谷,投资了如B站等非常知名的企业。

基础知识

林老师在自己取得了瞩目成就以后愿意来复旦分享,这也是我自己非常渴望的最理想的生活状态。 可以在自己的职业领域做到专业,然后去做自己喜欢的事。

这门课是经济学院开的,申请这门课要写一份申请书,500多位经院学生,最后只有60名学生能被选中。

彻底理解

这个课程还有个特色,是60位校内学生和40位左右的社会学生一起上课,但是由于林老师太受欢迎,经常有业内的前辈前来蹭课。

林老师非常有个人魅力,第一次见到林老师的时候,就会觉得很亲切,不由得就发自内心崇拜他。

这门课讲的案例非常精彩,有时候还会有林老师自己的经历和成果,可以把案例讲的非常请楚,并且与时俱进,都是最新的案例。

林老师培养我们的投资理念,课程中让我们形成自己的理念。

这门课需要花大量的时间预习,复习,我们平均每节课都会发一到两本书。 老师课上讲的知识总能让我们去体会很久。 据说,这门课等你工作几年再回来听,还会有新的体验。

林老师还会请很多其他业内前辈来讲课,让我们学到很多。

这门课安排的时间是18:30开始,但常常11点多结束,还有一次讲到凌晨多,然而没有一个人会抱怨课程拖堂,反而很多人觉得意犹未尽。

300分求一个基于云计算的创意

云计算最好的创意当然是操作系统喽~~(更新的内容在分割线下面)弄个服务器,所有用户只需要用户名和密码就可以登陆了,然后登陆到自己的网上操作系统当中。 这样做的好处是再也不需要下载了,无论是软件、程序、游戏都可以直接拖拽服务器中的快捷方式,然后直接在虚拟系统中运行,用户甚至不需要安装CPU、内存和硬盘,只需要有一个显卡和显示器,就可以玩转所有的一切。 因为所有的计算都在服务器完成了,用户只需要下载这些影音文件和提交本地操作数据就完成整体的交互了。 而且在也不会存在丢失文件的问题,操作系统弄的乱七八糟了,就直接还原到以前的还原点,这样不仅大大减少了用户配置计算机的费用,还提高了文件的安全性,多好~~如果需要详细的,我再提供给你一些,这个东西我都想了好久好久了,但没技术没钱,开发不了~~ ---------------------------------------------------------------------如果这个系统弄成了,简单说一下,就是用户配台电脑,只需要主板、显卡、显示器~~基本上大体是这样的。 然后不需要安装任何操作系统,U盘一插,自动上网登录服务器内的操作系统当中,就好像开机进入windows一样。 U盘也只是第一次使用的时候需要插入,以后就不用了,因为U盘就是安装微型操作系统。 任何游戏、软件都是安装在服务器内的,也就是说第三方同网络操作系统方的协议关系,就好像现在第三方开发的软件都在为微软服务,得到微软的支持一样。 但不同的地方就是用windows会有病毒,用网络操作系统不会,因为东西是系统提供商安装的,而不是用户自己安装的,所以不存在中毒。 用户使用只是将这个程序的快捷方式在自己的“桌面”上激活,这样程序本身还是在服务器内,运算也一样。 但用户通过点击之后就可以使用它(以用户名为密匙来确认使用记录)。 如果成功,这个世界上就不再有盗版了,只有免费和付费之分。 因为用户没有安装程序的权力,只有使用的权力,而不付费就无法使用,非常简单。 游戏和电影、音乐也是同理。 用户使用电脑有几个问题,总结一下:1、硬件不会配置,需要别人帮忙攒机2、安装操作系统经常装不明白3、安装驱动经常装不明白4、安装软件经常装不明白5、经常因为插件或者安装文件、删除文件导致注册表错误或系统文件损坏6、软件或游戏安装不明白,抱怨游戏或软件的安装程式有问题7、胡乱使用电脑导致系统崩溃8、不合理操作或误操作导致资料损失9、拒绝正版等等......而使用网络操作系统根本不存在以上的问题,并且网络操作系统可以最大限度的支持正版。 同时,盈利是可观的,弄一部分免费用户,比如开放500个电影收藏+免费软件使用+免费游戏使用+30个系统还原点等等,这些用户就是免费的,充人气的。 然后运营好了之后就可以增加收费项目了,比如5000个电影收藏,收费软件享受八折优惠,收费游戏享受八折优惠,200个系统还原点。 收费是每个月50元。 还有更高级的,以此类推~~安全+高效+简单+实用+暴利+N ----------------------------------------------------------------------------k4me兄很多地方说的非常专业,部分是我考虑的不周。 但同时也有一些不同的看法:CPU:服务器的CPU费用肯定不会高于个人PC,之所以这样说是因为我们正常使用电脑的话,CPU是很少在满载的情况下工作的。 如果平均来算,24小时之中能有1个小时占用量超过70%就不错了。 即使是大型游戏,让CPU高于50%的情况也很少见。 这就表示服务器端一块同等的CPU可以同时为很多人服务。 在这里必须提前否定一个观点,就是所有人同一时间同时做能让CPU满载的事情。 之所以否定,是因为这种概率微乎其微,否则真要如此的话,这个世界上就没有银行了,因为没有任何一家银行能承受全部用户同一时间提取所有现金。 内存:针对内存的情况,可能需要找到一个平衡点。 如果不能免,那是否可以考虑使用其他方式?比如减小尺寸等等,简单来说就是换一个形态。 安全:安全是必须保障的,否则一旦出现问题,就是成百上千的用户同时丢失资料。 相信网络操作系统绝对不会是我们最先想到的,因为我有这个想法至少也要几年的时间了。 而大家之所以没有做,主要原因可能就是安全性。 至于存储设备的成本,个人认为可以忽略不计,因为用户的存储是长时间的。 而服务器针对此用户的投资是一次性的,也就是说:服务器购买一块2T的硬盘,可以同时为数十个用户服务,而平时只需要支付少量的维护费用。 用一年是这块硬盘,用十年还是这块硬盘,对于服务器系统来说,肯定会有合作伙伴,无论是CPU和硬盘,乃至其他硬件设备,拿到的都是冰点价格,并且陆续跟上很多其他服务。 即使用户不停的在增加需要储存的数据,服务器操作系统也不会有损失,因为这完全应该属于增值业务。 还有需要明确的一个误区,影音文件和游戏、大型软件才是占用高存储空间的三大件,而这些东东在服务器操作系统上都是只安装一份的,用户在自己的桌面点击的都只是快捷方式而已,因此存储空间没有想象的那么庞大,但系统厂商却可以以此来收取高昂的费用。 同意k4me针对错乱操作系统的看法,的确,一个混乱的脑袋无论使用怎样的操作系统,其使用结果都依旧是混乱的。 但有一点,在现实中,这些混乱的脑袋大多不懂电脑,甚至不会重做系统,我认识一个网上的朋友就是,每个月固定去装机店做一次系统,N年下来,做系统的钱足够买一台不错的电脑了。 但是在网络操作系统上,他不需要重做,只需要找到还原点而已。 这绝对是浅显易懂的一件事。 并且针对用户上传资料这部分,用户上传的资料必须是经过严格审查的,所谓的严格审查,其实是审核服务器中是否存在这样的资料,有的话就直接推荐给用户了,比如影音文件。 而用户实际开发出的一些大型文件,比如PSD文档等,在使用掉免费空间之后,是需要付费才能享受更多空间的。 而这点,相信任何用户都能理解,比如2T的硬盘现在网上卖1000块钱,系统商完全可以收取用户500元。 这中间就存在着很多猫腻,用户多久能占满这2T?如果时间长,那其余空间是大家共享的(现在所有的服务器运营商都是在这么做,普遍率达到了100%),等到用户占满了,将来还有维护的费用,虽然不多,但足以收回成本。 而对于用户而言,花更少的钱,享受世界上最安全的存储,并且拥有更多的还原点可操作,绝对是可以接受的一件事。 退一步讲,即使我们的存储不能获得较大的利润,甚至赔钱。 但我们同硬盘厂商不同,他们硬盘赚不到就铁定死翘翘,但网络操作系统还有N-1的赢利点,此消彼长,让用户感觉到自己占便宜会让系统厂商赚取更大的利润。 盗版在网络操作系统上应该是看不到的,不存在盗版,只存在竞争。 因为安装的任何东西都是经由系统厂商审核过的,影音文件和游戏也是同合作伙伴共同完成的,根本不具备盗版的土壤。 如果说其他人自己开发这样的操作系统,实力是否具备先不说,和今天完全不是一个概念,因为今天还没有这种东西,属于蓝海,而那时这种东西已经开始获利了,大家都在看着,老厂商也会打压新品牌,其压力要大的多。 就算有人拥有这样的实力,开始开发网络操作系统,那他也属于竞争的范畴,也非盗版。 k4me的组合想法棒极了,当初我只想过做这样的衣服(模块化),也想过做这样的便携个人电脑,比如微型摄像头,插在手表上(个人终端),个人终端就拥有了视频能力,微型麦克就拥有了对讲能力,微型GPS就拥有了导航能力等等,但从没想过软件应该这样~~针对广告商和正版收费的问题,广告商不是固定的,比如新浪的首页广告,现在一个广告位30万每天,这样的价格导致大多数企业挺不上一个月,但广告商很多,你做一天,我做两天,就把新浪给成全了。 而且广告元素是多元化的,不一定都是硬性广告,这里面甚至可以参杂一些活动、游戏等等,我们不能拘泥于现在的形态来考虑将来的东西,否则那样一定会束手束脚的。 说到正版电影,N美元是现在收费的价格,如果放入网络系统中,价格是肯定要变动的。 并且我依然强调一点,采用新的形式来促进整体消费。 打个比如,一个电影,买来需要支持5美元,那我们可以这样卖,一次性支付50美元可以获赠20个分享名额。 至于购买分项名额的用户,他卖多少钱是他的事,我想肯定不会高于5美元,也绝不会低于2.5美元。 高了大家可以买我们的,低了他就赔钱了。 而这样做的好处就是大家可以在消费的同时或节省消费,或赚取利润。 而这样的办法如果我愿意,每天都能想出一堆来,我想很多人都是如此。 最后说一句:“近200年的时间,全球诞生了两百多项改变人类生活和命运的发明,而天朝居然一个都不没有,是我们不行,还是我们没有土壤?” ---------------------------------------------------------------------------针对 xh0603的疑问~话不是这么说,这是一个从传统转变的过程,感觉你之所以认为这种情况不合理,是因为惯性的原因。 我们用QQ,看网站,甚至玩游戏,哪个不是将资料存在别人的家里?为什么这些就可以接受,而操作系统就不可以呢?至于付费,QQ、游戏,图片储存空间,虽然都有免费的,但谁敢拍着胸脯说,这些东西我从来都没花过一分钱?当然,即使曾经花过,现在也可以不花,但有没有考虑一点,不花钱同样会丢失掉很多的功能,比如QQ会员,游戏VIP等等。 网络操作系统也是这样的。 有免费的,有增值服务,也有可以随时停掉的增值服务,几乎没有什么本质的区别,问题只在于我们能否放弃自己思维惯性。 而且从狭义的角度来看,数据储存在本地也不见得就是安全的,抛去操作和老化的问题不谈。 天朝为什么每年投那么多钱来开发自己的芯片,自己的操作系统?理由很简单——安全性!毕竟这些尖端东西是老外做的,不是咱们自己搞的,谁敢100%保证,比尔不能按一下键盘让世界上所有联网的计算机全部瘫痪?当然,是否会这样不在本文的研究范围,会与不会都没关系,反正真到那一步也就活不了几天了,呵呵~~ --------------------------------------------------------------------最后补充一些资料,关于Google开发的一个项目Chrome操作系统~一旦正式发布,Chrome操作系统将成为谷歌的一个里程碑。 它不仅代表谷歌正式进入长期由微软统治的操作系统市场,并且也将成为一个新的计算范式。 Chrome操作系统设计的目的在于帮助计算机在数秒内就可连接网络。 使用Chrome系统的用户必须通过在线或“云计算”的方式完成他们的工作,而无需下载 iTunes或微软Office等传统的应用软件,也不必将文件储存在硬盘里。 运行Chrome系统的数码产品将持续接收软件的更新并可获得额外的安全保护,同时大部分用户的数据将储存在谷歌的服务器上。 一些分析人士对此提出质疑,他们认为对运算行为施加如此严格的限制将使普通用户望而却步。 研究公司Interpret的分析师迈克尔·加腾伯格(Michael Gartenberg)指出,Chrome操作系统“是一个赌注”,赌的是“将来我们可以超越各种的应用程序,所有的一切最终都通过网络完成”。 但是那样的时刻还没有到来,他说:”今年、明年,Chrome很大程度上都只是个科学研究。 ”谨以此来证明网络操作系统的可实现性!

解释一下“vba”、“控件X”与“宏”的关系~

Visual Basic 的应用程序版(VBA)是Microsoft 公司长期追求的目标,使可编程应用软件得到完美的实现,它作为一种通用的宏语言可被所有的Microsoft 可编程应用软件所共享。 在没有VBA 以前,一些应用软件如Excel、Word、Access、Project 等都采用自己的宏语言供用户开发使用,但每种宏语言都是独立的,需要用户专门去学习,它们之间互不兼容,使得应用软件之间不能在程序上互联。 拥有一种可跨越多个应用软件,使各应用软件产品具有高效、灵活且一致性的开发工具是至关重要的。 VBA 作为一种新一代的标准宏语言,具有上述跨越多种应用软件并且具有控制应用软件对象的能力,使得程序设计人员仅需学习一种统一的标准宏语言,就可以转换到特定的应用软件上去,程序设计人员在编程和调试代码时所看到的是相同的用户界面,而且VBA 与原应用软件的宏语言相兼容,以保障用户在代码和工作上的投资。 有了VBA 以后,多种应用程序共用一种宏语言,节省了程序人员的学习时间,提高了不同应用软件间的相互开发和调用能力。 在Office 2000 中,宏语言VBA 适用于所有应用程序,包括Word 、 Excel、PowerPoint、Access、Outlook 以及Project。 在Office 97 的各应用程序中,新增了Visual Basic 编辑器。 这样,用户无论是在Excel 中,还是在Word 中以至是在Access 中建立和管理VBA 都具有统一的方法和标准。 在介绍如何利用VBA 提高工作效率之前,首先介绍一些与VBA 有关的基础知识。 ActiveX 一、ActiveX的由来 ActiveX最初只不过是一个商标名称而已,它所涵盖的技术并不是各自孤立的,其中多数都与Internet和Web有一定的关联。 更重要的是,ActiveX的整体技术是由Microsoft的 COM(Component Object Model,组件对象模型)构筑的。 但不要误认为ActiveX是定义了所有包含基于COM的技术。 COM与Microsoft Office和Windows以及Microsoft现在所做的一切都有关联,但显然这些产品并不是ActiveX家族中的成员。 ActiveX是从Microsoft的复合文档技术——OLE成长起来的。 OLE最初发布的版本,只是瞄准复合文档,但在后续版本OLE2中,导入了COM。 COM是应OLE设计者的需求而诞生的。 其基本的出发点是想让某个软件通过一个通用的机构为另一个软件提供服务。 因而,COM 的第一个使用者是OLE2。 实际上,COM与复合文档间,没有多大关系。 后来,COM就作为与复合文档完全无关的技术,开始被广泛使用。 这样一来,Microsoft就开始染指通用平台技术。 但COM不是产品,它需要一个商标名称。 不巧,市场专家们选用了OLE作为商标名称。 于是,使用COM的技术都开始贴上了OLE的标签。 当然,这些技术中的绝大部分与复合文档没有关系。 Microsoft要想向人们解释:OLE不单单是指复合文档!,这要花费相当的精力和时间。 于是,在1996年春,Microsoft改变了主意,选择了ActiveX作为新商标名。 ActiveX是指宽松定义的、基于COM的技术集合,而OLE仍然仅指复合文档。 当然,最重要的核心还是 COM。 让对象模型完全独立于编程语言,这是一个非常新奇的思想。 从C++和Java的对象上 ,我们就能有所了解。 但所谓COM对象究竟是什么?为了便于理解,可以把COM看作是某种( 软件)打包技术,即把它看作是使软件的不同部分,按照一定的面向对象的形式,组合成可以交互的过程和一组支持库。 COM对象可以用C++、Java和VB等任意一种语言编写,并可以 DLL或作为不同过程工作的执行文件的形式来实现。 使用COM对象的客户端,无需关心对象是用什么语言写的,也无需关心它是以DLL、还是以另外的过程来执行的。 从客户端来看 ,无任何区别。 这样一个通用的处理技巧非常有用。 例如,由用户协调运行的两个应用,可以将它们的共同作业部分,作为COM对象间的交互来实现(当然,现在的OLE复合文档也能做到)。 为在浏览器中执行而从Web服务器下载的代码,浏览器可把它看作是COM对象。 即是说,COM技术也是一种打包可下载代码的标准方法(ActiveX控件执行这种功能)。 甚至连应用与本机OS进行交互的方法,也可以用COM来指定(Windows和Windows NT用的新API,多数是作为COM对象来定义的)。 COM虽然起源于复合文档,但却可有效地适用于许多软件问题。 二、ActiveX王国 Active平台是Microsoft的世界观。 其基本思想是:使用ActiveX控件,来构筑包括从与用户交互和适应COM的事务处理监视器到Web服务器、全部实现自动化的机构。 Active 平台包括两大部分:Active Server和Active Client。 Active Server实际上是中间层。 使用组件或Active服务器页面,来提供用于业务逻辑和主要应用处理的场所。 ActiveServer的技术,其核心是NT Server、Microsoft事务处理服务器、数据管理服务、目录服务、Web服务以及网络服务。 事务处理服务器是把线程产生和数据库多重化等传统的TP监控功能与Microsoft的基于组件的编程模型结合起来。 数据管理服务等Active平台的其他组件是用OLE DB和ODBC ,访问DB2、Oracle、SQL Server等的数据源。 目录服务是在DCOM(Distributed COM,分布式COM)的周围,提供目录服务层,这样使远程对象在网络上能相互搜索。 Web服务以Inter net信息服务器为中心进行构筑,它为服务器上的Web应用开发,提供脚本生成(Scripting )机构。 网络服务以DCOM为中心进行构筑,通过以同步MS-RPC为中介的网络,使之能够连接控件。 Active Client是一种交叉平台。 Microsoft的技术纵然是独家所有,但也希望将这种技术向多个OS开放。 具体实施计划是使用脚本引擎(Scripting Engine)。 这种脚本引擎是由标准的HTML和带有Microsoft特色的Java虚拟机(JVM)、Microsoft的VBScript与JSc ript所构成的。 Active Client组装进了Microsoft的IE 3.0和4.0,通过ActiveX,可以变成用户的C/S应用的一部分。 从清一色采用Windows的企业用户来看,Active平台可以提供坚固的、具有可缩放性的服务器应用开发平台。 ActiveServer在TP监视器这类高端产品的场合,也利用常见的一些工具和技术。 因此,小型工作组和Intranet应用不会超越Active Server的能力。 Acti ve平台的目标机虽是异种机环境,但由于过分依赖IE,所以不能驱动客户端。 尽管在一些非Windows平台上也推出了Explorer,但最好的支持、最新版本的Explorer还是在Window s上。 三、ActiveX的进展 1.向分布计算扩充 COM的最初版本假定COM对象及其客户端是在同一个机器上运行(可以在同一个进程内 ,也可以在不同的进程内),DCOM是ActiveX家族中的重要成员。 后来,它在Windows 95中也能使用。 DCOM对于客户端制作COM对象、进行交互的方法没有做任何改变。 客户端使用完全相同的代码,可以访问本地以及远程对象。 但许多场合下,客户想使用少数的DCOM附件。 DCOM备有分布式安全保密机制,提供认证和数据加密。 在1998年要发布的Windows NT 5.0中,要将Kerberos等安全保密协议,追加到DCOM中。 DCOM已能够利用域名服务等简洁的目录服务,以用于搜寻在其他机器上的COM对象。 NT 5.0要追加对Acti ve Directory的支持。 Active Directory是基于域名服务和轻型目录访问协议的。 DCOM的劲敌,此前一直是OMG(Object Management Group)的CORBA(Common Object R equest Broker Architecture)。 它被组装进了Iona的Orbix和Visigenic的VisiBroker等产品中。 不久前,另一种支持分散对象的技术——Java的远程方法调用出台了。 无论是C ORBA,还是DCOM,都能在多种语言写的对象间进行通信。 而RMI却不同,它只限于在由Java 实现的对象间进行通信。 显然,这是个制约。 但RMI使用起来非常简单。 另外,RMI的开发者可以用Java来设计协议规范。 因此,在语言的功能上,可以做得浑然一体。 若写一个只处理两三个客户端的DCOM服务器,还是比较简单的。 但是,要构筑一个高效处理几百、几千个客户端的DCOM服务器,则相当之难。 为了便于编写可缩放的DCOM服务器,Microsoft发布了事务处理服务器(MTS)。 MTS在支持事务处理的同时,也提供自动生成线索和智能对象的重复使用等服务。 MTS使可缩放服务器的制作变得相当简单。 即使是无需事务处理的应用,使用MTS也有好处。 实际上,M icrosoft鼓励人们用VB来写MTS应用。 这与开发业务服务器的传统手法不同,所有的MTS应用,都是作为一个以上的COM对象来编写,且必须以DLL来实现。 一般情况下,客户端看不到 MTS。 客户端只管一如既往地制作、使用COM对象即可。 2.组件的标准化 基于组件的应用开发,其方法和组装电子装置一样,可以用已制作好的组件部件来构筑应用。 桌面用的、基于COM的组件叫做ActiveX控件。 所谓ActiveX控件不过是遵从一定的标准、与客户端交互的COM对象而已。 例如,ActiveX控件必须通过Automation (即使用dispinterfaces)来公开方法。 用这个被标准化的交互功能,可以在多个不同的上下文中,使用同一个控件。 在这个标准接口的幕后,ActiveX控件几乎是什么都能执行。 现在,许多软件公司都能提供实现各种功能的控件。 ActiveX控件是作为DDL编写的,为此,必须装载到某个容器中。 ActiveX控件的原型容器是VB,除此之外,还有多种容器可供选择。 目前,一个非常重要的控件容器是Microsoft 的Web浏览器 现在所谓ActiveX控件的那些内容,是实现许多方法所必须的。 已经把它们从机器的本地硬盘移到了VB等容器中。 几百KB和几MB的控件,似乎没有什么大区别。 但要将控件装载到Web浏览器时,很可能要通过速度很慢的电话线。 现在,控件的大小已经是非常关键的问题。 一旦要执行超过了某个限度以上的控件,就会延长下载时间。 因此,Microsoft规定 :在ActiveX控件中,只能执行绝对必要的功能。 Apple和IBM推行的Opendoc,曾是ActiveX控件的主要竞争对手。 现在OpenDoc的赞助企业,已正式宣告中止资助。 大部分与Microsoft对抗的企业,转而支持JavaBeans(基于J ava的组件结构)。 ActiveX控件,基本上都是和Windows捆绑在一起、以二进制机器代码发放的,而JavaBeans却不同,它在哪儿都能执行。 这当然是有代价的。 显而易见,只要不牺牲可移植性,就不可能完全、彻底地利用本地环境。 要编写从公共Internet上能下载的组件时,应优先选择JavaBeans。 桌面组件市场在持续、急速增长。 其中绝大部分是以ActiveX控件构筑的(目前Java Beans仍然是少数)。 但服务器组件的标准化要落后一些。 在桌面上,Web浏览器、VB以及 PowerBuilder这些编程环境,作为容器是强有力的。 但服务器容器又该当如何呢?作为服务器上的组件容器,事务处理服务器是一个较好的选择。 Microsoft的竞争对手,千方百计要阻止MTS和NT称霸市场。 他们正在快马加鞭地制订服务器上的组件标准,其中最有前途的是Enterprise JavaBeans。 它是JavaBeans的扩充 ,并定义了事务处理服务器接口。 Enterprise JavaBeans的支持者们,希望独立软件厂商不是将服务器组件作为COM组件来编写,而是要作为Beans来编写。 四、ActiveX的构筑工具 随着ActiveX控件的推广,ActiveX控件的开发工具逐日增加。 由于ActiveX不依赖于语言,所以传统的开发工具基本上都能构筑、配备ActiveX控件。 最常用的有Delphi、Po werBuilder以及Visual Basic、Visual C++、Visual J++等。 1. 基本概况 用3GL开发ActiveX控件的方法有:①MFC (Microsoft Foundation Class,Microsoft 基础类),②ATL(ActiveX Template Library,ActiveX模板库),③BaseCtrl Framework等。 MFC最经典,采用MFC,可以使开发者不去关心接口,而是集中精力关注对象的动作。 缺点是控件的规模较大且执行时DLL必须与容器同时存在。 ATL可利用模板生成代码。 就是说 ,库和DLL无需与控件一起推出。 在ATL中,需要从作为模板存在的几个基本类派生类。 AT L也有缺点,即接口的处理较难,应用中必要的接口,必须分别制作。 另外,ATL不支持类向导(Class Wizard)。 遗憾的是,没有使对象描述语言(Object Description Language)和接口定义语言文件、与用户代码自动同步的向导。 BaseCtrl是个简便型库。 与ATL非常相似,但无模板。 实际上,由于BaseCtrl过于简便,Microsoft并不支持它。 在BaseCtrl中,带有几个万能控件(Skeleton Control)。 BaseCtrl提供容易理解的ActiveX开发模型,但与 ATL相比并不简单,且灵活性也不及ATL。 目前看来,对于ActiveX控件开发者来说,BaseCt rl是个苦涩的选择。 2. 开发工具 可制作ActiveX控件的、最初的工具是Microsoft的Visual C++。 它可为ActiveX开发者提供最多的控件。 Visual J++也可以制作ActiveX控件。 Borland推出的两个工具(JBuilder和IntraBuilder)也非常令人瞩目。 但是,用Borl and的工具能制作ActiveX组件的,只有Delphi 3.0和C++ Builder。 Borland把Delphi的A ctiveX开发功能,叫作Active Inside。 它是将任意的Delphi Window做成ActiveX的形式。 Active Inside备有配备在Web上的新控件。 Delphi可以将控件链接到COM和DCOM。 PowerBuilder 5.0是改造成能用于ActiveX开发的、客户机/服务器开发工具。 Powe rBuilder可以将Data Window(PowerBuilder应用开发的核心部分)作为ActiveX控件来配备。 以使现在的PowerBuilder开发者,能使用PowerScript编程语言等某些熟悉的功能。 具有制作ActivX控件最好工具的,当属Microsoft。 例如,若用Visual Basic 5.0,开发者就可使用可视化编程环境和本机的Visual Basic for Application语言,来开发控件。 五、ActiveX 的未来的确,Windows和Windows NT的世界,是ActiveX技术的最佳环境。 但无论Micr osoft如何卖力推进它的OS,也不能使所有的企业都变成清一色的Windows。 因此,Micros oft要设法使COM、DCOM以及ActiveX家族的一部分,也能在其他OS上使用。 现在,在Macin tosh中,已经支持ActiveX,其中也包含对ActiveX控件的支持。 Software AG正在把这些技术移植到多个Unix和IBM的OS/390上。 DEC和HP也打算将这些技术在自己的系统上使用,他们也是用移植Microsoft代码的办法来实现的。 COM已成为Windows 95和Windows NT环境下基础软件的重要部分,但它的未来还有许多不确定的因素。 例如,Microsoft是否能将COM作为多平台技术,让其继续存在发展下去 ?为了使NT服务器能适合已有的企业,就必须要使DCOM等分布式服务也能在非Microsoft平台上应用。 要解决这些问题, 需花费相当长的一段时间。 另外, 基于CORBA的产品和Jav a的RMI,已成功地运行在多OS环境下。 多平台DCOM出台得越晚,CORBA和RMI就领先越多。 ActiveX控件和JavaBeans的竞争前景如何?无论使软件运行在Web浏览器上也好,还是在另外的地方运行也好,总之,组件式软件(ComponentWare)将是下一个软件开发的热点。 目前,ActiveX控件虽然暂居领先,但由于OpenDoc的自生自灭,与Microsoft竞争的企业会结为一体与之抗衡。 用户决不希望看到一统天下,仅就这点而言,JavaBeans也会在这一市场竞争中抢占一席之地。 计算机科学里的宏是一种抽象,它根据一系列预定义的规则替换一定的文本模式。 Excel 办公软件自动集成了“VBA”高级程序语言,用此语言编制出的程序就叫“宏”。 使用“VBA”需要有一定的编程基础和耗费大量的时间,因此,绝大多数的使用者仅使用了Excel的一般制表功能,很少使用到“VBA”。 解释器或编译器在遇到宏时会自动进行这一模式替换。 对于编译语言,宏展开在编译时发生,进行宏展开的工具常被称为宏展开器。 宏这一术语也常常被用于许多类似的环境中,它们是源自宏展开的概念,这包括键盘宏和宏语言。 绝大多数情况下,使用“宏”这个词的使用暗示着将小命令或动作转化为一系列指令。 宏的用途在于自动化频繁使用的序列或者是获得一种更强大的抽象能力--但这常常是一回事。 计算机语言如C或汇编语言有简单的宏系统,由编译器或汇编器的预处理器实现。 C的宏预处理器的工作只是简单的文本搜索和替换,使用附加的文本处理语言如M4,C 程序员可以获得更精巧的宏。 Lisp类语言如Common Lisp和Scheme有更精巧的宏系统: 宏的行为如同是函数对自身程序文本的变形,并且可以应用全部语言来表达这种变形。 一个C宏可以定义一段语法的替换,然而一个Lisp的宏却可以控制一节代码的计算。 获得了控制代码的执行顺序(见惰性计算和非限制函数)的能力,使得新创建的语法结构与语言内建的语法结构不可区分。 例如,一种Lisp 方言有 cond 而没有if ,就可以使用宏由前者定义后者。 Lisp 语法的去部主要扩展,比如面向对象的CLOS 系统,可以由宏来定义

如何学习数据库知识?

要说数据库,一般以SQL Server作为入门的学科,它适合中小型项目开发,而现在比较流行于大型开发的有:Oracle现在具有企业大型软件的绝对占有率DB2 在以IBM服务的公司以及单位(中国银行)MySql 相对不是很正式的开发,使用MySql当然还有一些:Access(桌面数据库),FoxPro(中国教育),Informix的数据库系统.刚开始入门的时候可以找点视频教程来学习,视频教程一般讲得比较好,但不要企图于通过它达到比较高的水平。 然后要学会将自己所知道的去实践,多实践。 当觉得实践到一定程度而没有什么冲劲了,就去学习理论,当觉得理论知识需要发挥的时候就去实践,时间的周期不一定,没有什么定论,但自己的时间安排需要定论就可以了。 我一直都认为在计算机行业要学会一门技术太简单了,但如果要把技术发挥到一定程度就有难处了,一定程度是什么意思,就是把技术如何发挥到具体的业务之中,会动脑筋去思考,而把技术作为相对次要的东西了。 数据库的DBA人员需要兼有系统分析员和运筹学的业务素质。 在技术上讲,我个人认为数据库的前续学科是“数据结构”。 我现在刚学SQL Server一段时间,就自己的感想谈谈:1.数据库是非常快的数据处理程序,其内在的本质依旧是文件.因为Windows操作系统管理机制就有:磁盘、文件、目录。 Linux的方式只有文件。 所以数据库重本质的角度来说是一种平台软件,是将文件翻译成逻辑语言的软件,成为我们软件程序数据交换的中心,为什么那,一个很重要的原因就是“快”,还有就是“安全”、“集成”等等。 因为以前的语言程序要处理数据要编写大量算法十分麻烦而且很容易出错等等。 大家就想到集成了。 。 。 。 。 2.其实,要谈到操作数据库,简单的就太简单了,但是数据库最难的不是操作,而是在数据库的设计上。 一个大型程序设计者肯定是一个数据库的高手,因为大型程序要死板地去完成它是非常困难和不理智也是不安全不稳定的,我们要充分利用自己所有的能力去挖掘其数据之间的奥秘,然后体系化数据库结构,相当于在数据库中如何层次化地建立数据结构。 将需求中的矛盾事物改变成可以相互融合的。 我说的数据库操作简单是指一般操作,如果难的操作还是有点技术的,但还是难不到那里去。 下面我把我的一个小数据库程序给你看看:(下面这个程序已经建立数据库library,然后用dbo用户建立了表relatBook,并将表的第一个字段设置为“主键”PK)该程序想说的第一点是:程序按照标准用户写入法则写入。 另外就是在执行多个操作的时候每一步骤的操作我们都必须为其设置错误的回滚操作。 所以程序前两个段落都是一样的,在插入的时候故意出现异常,看第1和第3个语句是否能成功执行。 从上面看出点什么没有,你我执行了三个操作,第一个操作是肯定成功的,第二个是肯定失败的,第三个跟在后面,那么你想一想第一个和第三个操作能插入数据库中吗?我这个程序没有什么意义,但只是未了说明问题。 答案是:不能。 为什么不能,这是SQL所支持的“事务”外完成的,这是技术问题,没有什么的,会了大家都会。 为什么要这样做那,那才是要学习的前提。 你想一想如果你建立了一个地区的帐物管理系统,当一个单位向另外一个单位转帐的时候,需要执行两个操作就是将一边的信息刷掉,一边的信息添加上去,而当执行一半的时候出现了某种异常中断,比如高优先级的抢占,服务器重起、停电。 当时你知道有多少人在访问你的服务器,那要造成多大的数据库信息丢失,甚至于导致数据库的查询的严重失败。 那么我就知道需要上面知识的支持了。 3.为什么说上面的东西都很简单那,因为只要你会,那就可以了,而设计方面的东西是永远不是那么简单的,永远带有创新和追求,没有最高的境界。 就一个十分常见的问题,如何在数据库中配合好人员、角色、权限、类别、级别、可操作性这几者的关系,如果是没有经验的人直接上手可能会乱来(我们最早也是这样的)。 有经验的人也会设计一段时间,而且随着软件复杂性的增加,其数据库的这几者之间的复杂性就越来越复杂。 所以大型软件是非常难的。 就一个很简单的例子,在很多的网站中,有上百的栏目信息,而每一个栏目间又保持独立。 图片的位置和图片的信息都是动态更新的。 某些网站的可操作性都以树型结构提供,而树型结构的子树类别和和叶子都是不重复而不错误。 而且其层数都是动态的。 有些人给我说可以通过前台的判定语句来执行树型结构的生成,但我问了一个问题,如果是一个邮政编码系统,有几十万个邮政编码你在前台要写多少个case语句,而且每一次要遍历一次已经生成的树,还有用前台的case语句编写出来的树型结构其二级子树全部“定死”,而且树型结构的层树也被定死。 这不是完全动态级别的网站。 为以后对网站的维护带来麻烦。 总之,数据库是一门入门容易却达到高手很难的学科,通过不断在失败中吸取经验,才能得到一些书籍上无法学会的东西,那才是真正的高手。 也就是说,学技术是很快的,要会将技术运用于实际的业务分析,才可以成为一个自我型的DBA,而不是一个简单的程序员。



相关标签: 立即下载免费的教程基础知识彻底理解的成语彻底理解VBA

上一篇:从初学者到专家下载免费的VBA教程从初学者

下一篇:优化您的Excel处理获取免费的VBA教程下载优

内容声明:

1、本站收录的内容来源于大数据收集,版权归原网站所有!
2、本站收录的内容若侵害到您的利益,请联系我们进行删除处理!
3、本站不接受违法信息,如您发现违法内容,请联系我们进行举报处理!
4、本文地址:http://www.jujiwang.com/article/6fecbd2c79f2cff38af1.html,复制请保留版权链接!


温馨小提示:在您的网站做上本站友情链接,访问一次即可自动收录并自动排在本站第一位!
随机文章
行高在杂志设计中的关键作用:增强内容的可访问性和吸引力 (行高必须在)

行高在杂志设计中的关键作用:增强内容的可访问性和吸引力 (行高必须在)

行高是杂志设计中一个经常被忽视的元素,但它却是一个至关重要的因素,因为它会影响内容的可访问性和吸引力,行高对可访问性的影响行高直接影响阅读的便利性,合适的行高可以使文本更容易阅读,让读者可以在不感到疲劳或不适的情况下阅读更长时间,低行高会使文本看起来很拥挤,难以阅读,尤其是在小字体下,另一方面,高行高会使文本看起来很稀疏,可能导致注意...。

互联网资讯 2024-09-25 15:32:48

从头到尾构建一个健壮的文件存在检查程序 (从头到尾解释)

从头到尾构建一个健壮的文件存在检查程序 (从头到尾解释)

文件存在检查程序是一个基本而重要的程序,它允许程序员检查某个文件是否存在于给定的路径中,这个小教程将指导您如何从头开始构建一个健壮的文件存在检查程序,步骤1,创建项目创建一个新目录并打开您的文本编辑器,在此目录中,创建一个新的文本文件并将其命名为file,exists.py,这将是您程序的Python脚本文件,步骤2,导入必需的库在f...。

技术教程 2024-09-17 02:15:11

可持续性和经济价值:创造多方共赢的商业模式 (可持续性和稳定性)

可持续性和经济价值:创造多方共赢的商业模式 (可持续性和稳定性)

引言可持续性已成为商业世界的当务之急,企业认识到,为了长期发展,他们必须在经济、社会和环境方面负责任地行事,可持续的商业实践不仅可以减少负面影响,还能为企业创造经济价值,通过整合可持续性原则,企业可以创造多方共赢的商业模式,这些模式对环境、社会和企业自身都有利,可持续性的经济价值可持续的商业实践可以为企业带来许多经济利益,包括,降低成...。

技术教程 2024-09-15 18:22:40

使用 Node.js 构建高效的实时网络应用程序 (使用nodefree免费节点)

使用 Node.js 构建高效的实时网络应用程序 (使用nodefree免费节点)

<,理想选择,它提供高并发、高性能、可扩展性和易于学习的优势,通过遵循本文中概述的最佳实践,您可以使用Node.js构建卓越的实时网络应用程序,使用nodefree免费节点可以轻松地部署和运行您的应用程序,而无需支付任何费用,...。

本站公告 2024-09-13 20:02:14

Trim函数攻略:告别字符串空白字符困扰 (trim函数用法)

Trim函数攻略:告别字符串空白字符困扰 (trim函数用法)

在处理字符串时,我们经常会遇到字符串前后带有空白字符,如空格、制表符、换行符,的情况,这些空白字符会影响字符串的处理和对比,因此有必要将其去除,在Java、Python等编程语言中,都有专门的Trim函数来去除字符串的空白字符,本文将介绍Trim函数的用法,帮助你轻松告别字符串空白字符困扰,Java中的Trim函数在Java中,Tri...。

最新资讯 2024-09-13 03:52:05

踏上 C 语言进阶之路:掌握二级 C 语言技能 (c语言 进阶)

踏上 C 语言进阶之路:掌握二级 C 语言技能 (c语言 进阶)

前言对于初学者来说,掌握C语言的基础语法和概念是至关重要的,如果你想要提升自己的C语言技能,达到二级水平,那么你需要深入了解语言的更高级特性,本文将指导你踏上C语言进阶之路,帮助你掌握二级C语言技能,提升你的编程能力,二级C语言技能简介二级C语言技能涵盖了以下主题,指针和动态内存管理结构体和联合文件处理预处理器和宏位操作数据结构指针和...。

互联网资讯 2024-09-11 10:31:05

成为 Java 大师:一本权威电子书,涵盖从基础到高级的概念 (成为Java工程师之前当什么)

成为 Java 大师:一本权威电子书,涵盖从基础到高级的概念 (成为Java工程师之前当什么)

目录基础中级高级成为Java工程师之前当什么基础Java是一门高级编程语言,以其,一次编写,处处运行,WORA,的原则而闻名,它因其在开发各种应用程序,从移动应用程序到企业软件,方面的强大功能和多功能性而受到广泛使用,本书的基础部分涵盖以下主题,Java基础知识,变量、数据类型、运算符,面向对象编程,类、对象、继承、多态,异常处理和...。

技术教程 2024-09-08 07:41:11

法拉利812 Superfast:售价超过30万美元,每年维护成本超过30,000美元。(法拉利812多少钱)

法拉利812 Superfast:售价超过30万美元,每年维护成本超过30,000美元。(法拉利812多少钱)

法拉利812Superfast是一款令人惊叹的超级跑车,拥有一系列卓越性能和奢华内饰,这种极致体验也伴随着高昂的成本,包括购买价格和持续维护费用,售价法拉利812Superfast的基础售价超过30万美元,根据配置和选配的不同,最终售价可能更高,维护成本除了高昂的购买价格之外,法拉利812Superfast的维护成本也是一大开支,每年...。

技术教程 2024-09-08 02:08:18

先进的可定制选项:根据您的需求量身定制播放器的外观和功能 (可定制的品牌)

先进的可定制选项:根据您的需求量身定制播放器的外观和功能 (可定制的品牌)

通过我们的高级可定制选项,您可以根据自己的需求量身定制媒体播放器的外观和功能,从可定制品牌到各种功能,我们为您提供了充分的灵活性,让您创建符合您特定要求的理想媒体播放器,可定制品牌使用我们的可定制品牌功能,您可以轻松地将自己的品牌标识融入到播放器中,这包括添加您的公司徽标、指定自定义配色方案,以及修改播放器界面以匹配您的品牌准则,通过...。

最新资讯 2024-09-06 19:26:39

媒体播放器:逐帧控制、高级功能和跨平台支持 (媒体播放器最近使用的媒体怎么关闭)

媒体播放器:逐帧控制、高级功能和跨平台支持 (媒体播放器最近使用的媒体怎么关闭)

媒体播放器是管理和播放各种媒体文件,如视频、音频和图像,的必备工具,它们提供了广泛的功能,使您可以轻松地组织、查看和与您的多媒体内容互动,逐帧控制对于需要精确控制媒体文件播放和编辑的专业人士和内容创作者来说,逐帧控制至关重要,借助逐帧功能,您可以逐帧浏览视频,逐帧分析帧,并进行精确的编辑,高级功能现代媒体播放器提供了一系列高级功能,以...。

技术教程 2024-09-06 19:23:04

从头开始学习Java:下载免费视频教程,踏上编程之路 (从头学起是什么意思)

从头开始学习Java:下载免费视频教程,踏上编程之路 (从头学起是什么意思)

欢迎来到Java入门教程!这门教程将引导你从零基础开始学习Java编程语言,我们将从基础的概念开始,逐步深入到更高级的主题,本教程包含免费的视频教程,以帮助你理解每个概念,什么是从头学起,从头学起意味着从最基本的知识开始学习,没有任何先验知识或经验,这通常是指那些没有任何编程经验或对Java语言没有任何了解的人,为什么选择Java,J...。

最新资讯 2024-09-06 13:09:07

使用 PHP 创建可伪造的随机数:密码学应用 (使用PHP创建注释的方法下面哪一种正确)

使用 PHP 创建可伪造的随机数:密码学应用 (使用PHP创建注释的方法下面哪一种正确)

前言现代密码学算法需要使用可靠的随机数生成器,RNG,PHP中默认的`rand,`和`mt,rand,`函数不适合用于密码学目的,因为它们产生的数字不是真正随机的,本文将介绍如何使用PHP创建可伪造的随机数,以及如何在密码学应用中安全地使用它们,创建可伪造的随机数可伪造的随机数是经过精心设计的数字序列,看起来是随机的,但实际上是...。

互联网资讯 2024-09-05 21:46:46