在工作表中使用 ActiveX 控件
【分享成果,随喜正能量】用最好的自己,活出最好的生命状态,不必要事事都依靠别人,下雨天还是要自己多准备,懂得照顾自己,懂得爱护自己。一个人的人生,会因为努力而有意义,人可以平凡,但不可以平庸。
《VBA之Excel应用》是非常经典的,是我推出的第七套教程,定位于初级。这套教程从简单的录制宏开始讲解,一直到窗体的搭建,内容丰富,实例众多。大家可以非常容易的掌握相关的知识,这套教程共三册,十七章,都是我们在利用EXCEL工作过程中需要掌握的知识点,希望大家能掌握利用。今日讲解的内容是“VBA之EXCEL应用”的第十五章“ActiveX控件(ActiveX Controls)”的第1节:在工作表中使用 ActiveX 控件
在这套教程的开始部分,我曾经讲解过在工作表界面中添加一个控件按钮,然后点击这个按钮就可以执行我们的一些自定义操作,其实这个按钮控件就是一个ActiveX 控件,如下面的工作表界面:
这节中我们先来认识这个控件。
ActiveX是Microsoft对于一系列策略性面向对象程序技术和工具的称呼,其中主要的技术是组件对象模型(COM)。在有目录和其它支持的网络中,COM变成了分布式COM(DCOM)。
ActiveX控件是Microsoft的ActiveX技术的一部分。ActiveX控件是可以在应用程序和网络中计算机上重复使用的程序对象。创建它的主要技术是Microsoft的ActiveX技术,其中主要是组件对象模型(COM)。ActiveX控件可以以小程序下载装入网页,也可以用在一般的Windows和Macintosh应用程序环境中。一般说来,ActiveX 控件代替了原先的OCX,它与JAVAapplet的概念和功能差不多。ActiveX控件可以由不同的可以识别Microsoft的COM技术的语言开发,它是一个组件或自包含的软件包,它可以在同一个或分布式的计算环境中开发或使用。COM的分布式支持技术称为DCOM。在实现中,ActiveX控件是一个动态链接库(DLL)模块,它包括在容器(包括COM程序接口的应用程序)当中。这种可重复使用的组件技术可以加快开发速度和质量,Windows 95 /NT应用程序开发程序如Powerbuilder和Access都利用了ActiveX控件。
我们在工作界面点击“开发工具”(Developer tab),点击“插入”,这个时候会出现下面的界面:
我们点击其中的命令按钮,然后回到工作表界面,在工作表上拖动命令按钮,这个时候工作表上就会出现这个控件了:
右击刚刚添加的按钮(确保选择了设计模式)。然后单击“属性”来更改控件的标题和名称。
更改命令按钮的标题为“应用蓝色文本颜色”。现在,我们将保留CommandButton1作为命令按钮的名称:
我们右击command按钮(确保选择了设计模式),选择“查看代码”
这时就会进入VBE窗口:
我们在其中添加下面的代码:
Selection.Font.Color = vbBlue
如下截图:
回到工作界面,确保选择范围A1:A7,确保退出设计模式。
点击命令按钮:
这个时候,选择范围的文本就变成了蓝色。
以上我以命令按钮为例,讲解了ActiveX 控件的添加、修改、应用,其他的控件与此类似,在后面的内容中会逐一讲解。
今日内容回向:
1) 如何向工作表中添加ActiveX 控件?
2) 如何修改ActiveX 控件的标题(名称一般不做修改)?
3) 如何给ActiveX 控件添加代码?
本讲内容参考程序文件:工作簿15.xlsm
分享成果,随喜正能量
- VBA的学习教程(初级、中级、高级):
VBA是利用Office实现个人小型办公自动化的有效手段(工具)。这是我对VBA的应用界定。在取代OFFICE新的办公软件没有到来之前,谁能在数据处理方面做到极致,谁就是王者。其中登峰至极的技能非VBA莫属!我记得20年前自己初学VBA时,那时的资料甚少,只能看源码自己琢磨,真的很难。20年过去了,为了不让学习VBA的朋友重复我之前的经历,我根据自己多年VBA实际利用经验,推出了八部VBA专门教程,学习顺序七、一(或者四)、三、二、六、五;或者七、八。其中七,一(或者四)是初级;三,二,八是中级;六,五是高级:
第一套:VBA代码解决方案 是VBA中各个知识点的讲解,教程共147讲,覆盖绝大多数的VBA知识点,提供的程序文件更是一座不可多得的代码宝库,是初学及中级人员必备教程;目前这套教程提供的版本是修订第二版,程序文件通过32位和64位两种OFFICE系统测试。
第二套:VBA数据库解决方案 数据库是数据处理的专业利器,教程中详细介绍了利用ADO连接ACCDB和EXCEL的方法和实例操作,适合中级人员的学习。目前这套教程提供的是修订第一版教程,程序文件通过32位和64位两种OFFICE系统测试。
第三套:VBA数组与字典解决方案 数组和字典是VBA的精华,字典是VBA代码水平提高的有效手段,值得深入的学习,是初级及中级人员代码精进的手段。目前这套教程提供的版本是修订第一版,程序文件通过32位和64位两种OFFICE系统测试。
第四套:VBA代码解决方案之视频 是专门面向初学者的视频讲解,可以快速入门,更快的掌握这门技能。这套教程是第一套教程(修订一版)的视频讲解,视频更易接受。
第五套:VBA中类的解读和利用 这是一部高级教程,讲解类的虚无与肉身的度化,类的利用虽然较少,但仔细的学习可以促进自己VBA理论的提高。这套教程的领会主要是读者的领悟了,领悟一种佛学的哲理。目前这套教程提供的版本是修订第一版,程序文件通过32位和64位两种OFFICE系统测试。
第六套教程:VBA信息获取与处理,这是一部高级教程,涉及范围更广,实用性更强,面向中高级人员。教程共二十个专题,包括:跨应用程序信息获得、随机信息的利用、电子邮件的发送、VBA互联网数据抓取、VBA延时操作,剪切板应用、Split函数扩展、工作表信息与其他应用交互,FSO对象的利用、工作表及文件夹信息的获取、图形信息的获取以及定制工作表信息函数等等内容。程序文件通过32位和64位两种OFFICE系统测试。
第七套教程:VBA之EXCEL应用 这是一部初级教程这部教程共三册,从从创建宏、对话框、工作簿和工作表对象、单元格对象等基础内容讲起,到循环结构、错误处理、字符串操作、日期和时间、事件、数组应用,函数过程等方面,一直讲解到控件和窗体对象的应用都是我们提高自己EXCEL水平的必须。
第八套教程:VBA之WORD应用 是围绕“面向对象编程”展开的讲解,让大家充分认识Word中VBA的对象,以及对象的属性、方法及利用。教程共分三册,十六章,其中前十五章是各种对象属性、方法的讲解,每节都有专门的实例说明这些属性方法的具体应用,最后一章是结和具体应用场景的讲解,详细讲解了二十八个实际工作中有代表性的实例,紧扣word数据的批量处理,发挥VBA的长处。本套教程实例众多,大家可以拿来即用,或者修正后加以利用。由于这套教程是围绕“面向对象编程”来展开,建议大家先学《VBA之Excel应用》,对VBA中的对象、属性、方法、事件有一定认识后再来学习这套教程。
学习VB编程第82天 ACTIVEX控件
今天学习的是ActiveX控件,ActiveX控件本质上是一段可重复使用的代码和数据。ActiveX控件是由Microsoft公司主导开发的一种新的编程技术,该技术的目的是让对象模型完全独立于编程语言。也就是说,通过任何一种编程语言编写的Activex控件,在其他编程语言中也可以方便地调用。例如,用Visual Basic编写的Activex控件在Visual C++中也可以调用。在一定程度上,用户可以将ActiveX技术看做是构建应用程序的组件,可以通过ActiveX控件给出的属性、方法及事件等接口来完成应用程序功能的设计。Activex控件在Visual Basic 6.0中可以很方便地加载,加载到工具箱中后即可如同使用内部控件一样使用ActiveX控件。
一、创建ActiveX控件的步骤
Visual Basic 6.0提供了用于创建ActiveX控件的向导。创建ActiveX控件的共有六个步骤:
第一步:创建一个“ActiveX控件”工程。
第二步:在窗体上设计ActiveX控件的外观。
第三步:为ActiveX控件编写代码。
第四步:定制ActiveX控件的属性、方法和事件。
第五步:生成ActiveX控件。
第六步:在系统中注册ActiveX控件。
案例:做一个activex数字时钟控件,以显示当前时间。
(一)第一步:启动Visual Basic 6.0,在弹出的“新建工程”对话框中选择Activex控件”。单击“确定”按钮,即可创建一个ActiveX控件工程。用户也可以通过选择“文件”→“新建工程”命令,来打开“新建工程”对话框。然后选择ActiveX控件,单击“确定”按钮完成ActiveX工程的创建。
(二)第二步:在创建完成ActiveX控件工程后,接下来应该根据需要来设计ActiveX控件的外观。此时,整个ActiveX控件工程中包含了以下三部分。一个名为“UserControl1”的UserControl对象、“工程窗口”及“UserControl1\”的属性页。
(三)第三步:为ActiveX控件添加代码。首先获取系统时间,然后通过label控件的caption值将时间值引入控件中。在定时器的Timer事件中每隔一秒刷新显示一次时间。
Private Sub Timer1_Timer()
label1.Caption = Timer()
End Sub
(四)第四步:为ActiveX控件添加属性、方法和事件。Visual Basic 6.0中为控件添加属性、方法和事件可以有如下两种方式。方法一:通过“工程”→“添加用户控件”命令,选择“VB Activex控件界面向导”选项,借助于向导来添加属性、方法和事件,如图所示。用户只需按照提示进行,根据自己需要选择属性、方法和事件,即可完成添加任务。
方法二:通过手工添加控件的属性、方法和事件。选择“工具”→“添加过程”命令,在弹出的“添加过程\”对话框中根据需要添加代码框架。然后通过手工编写代码的方式添加控件的属性、方法和事件。下面主要介绍手工为控件添加属性、方法和事件的方法。步骤如下。
(五)第五、六步:生成ActiveX控件。数字时钟的ActiveX控件设计后,选择“文件”一“生成工程1.oCx”命令,如图所示,即可生成“工程1.ocx”文件。在生成ocx格式文件的同时,VisualBasic 6.0会自动注册该控件。
二、使用ActiveX控件
(一)在控件工具栏中单击右键,选择部件,然后在浏览中添加我们刚刚创建的工程1.ocx。
(二)新建窗体中直接将控件拖动到窗体中即可应用。效果详见视频。
视频加载中…
WinCC控件开发入门
一般来说,WinCC(经典WinCC和TIA WinCC Prof.,不含Unified)支持三种控件开发方法,分别是WinCC自身内置的面板技术,ActiveX技术和.Net技术。这三种技术各有优缺点,我们以一张表来汇总下。
图1 各控件开发技术比较
ActiveX技术因为比较老旧,目前已经很少有人用了。WinCC自带的面板技术虽然也算不错,但是对于功能要求较丰富的场合还是难以满足,因此本文将简单介绍基于.Net平台来开发WinCC控件的入门知识。
本篇文章需要一定的C#开发基础,如果您对基于.Net平台开发控件有兴趣,可以参考我们的C#教程。
在本篇文章中,我们需要开发一个三色灯控件,它会自动根据属性值切换显示。本控件比较简单,用WinCC自带的面板技术也可以实现,我们用它作为例子是为了方便大家入门。
为了简化开发,三色灯的样式我们这里为了方便采用了贴图的形式,当然也可以使用GDI+绘制,绘制的效果会更好一点,但是代码工作量比较大。我们准备的图片是这样的。
图2 素材准备
左边灰色图形是底图,用于表示灯未被点亮的状态,右边表示三种颜色的灯。
打开Visual Studio,项目类型选择为“Windows窗体控件库(.Net Framework)”。
图3 创建项目
然后输入项目名称及选择目标框架版本。
图4 项目配置
框架版本不宜过高,建议4.5就可以了。然后点击按钮“创建”。
图5 控件窗体
首先拖一个TableLayoutPanel到控件窗体上,设置其属性“Dock”为Fill,并调整好行比例。
图6 控件布局
点击控件TableLayoutPanel右上角黑色三角形按钮设置行高。
图7 配置TableLayoutPanel
使用控件TableLayoutPanel进行布局的好处是我们在使用中调整控件的大小时不会影响三个灯的大小比例。然后再为控件TableLayoutPanel的每一行添加一个PictureBox控件,设置其图片为灰色底图。
图8 添加底图
设计好控件界面后我们添加一个名为”SetStatus”的自定义方法,用于根据属性值动态切换三色灯,代码如下。
图9 状态切换
然后我们再为控件添加一个自定义属性,用于接受外部变量值。当新值进入时调用方法“SetStatus”来更新三色灯。
图10 自定义属性
到这里控件基本上是完成了。大家可以自行进行测试,这里就不再赘述了
打开WINCC画面,从右边工具箱中拖一个.NET控件到画面上。
图11 插入控件
点击按钮“浏览”,定位到控件所在文件夹。
图12 查找控件
选中控件,点击按钮“打开”。
图13 选择控件
拖到画面上是这样的。
图14 WINCC窗体上的控件
然后为属性“Status”绑定变量。
图15 绑定变量
激活wincc,当我们改变变量值时就会看到三色灯颜色随之进行切换。
视频加载中…
本文作者及来源:Renderbus瑞云渲染农场https://www.renderbus.com
文章为作者独立观点不代本网立场,未经允许不得转载。