首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

在sub中无法识别ActiveX控件的公共变量

是因为在VBA中,公共变量的作用域是模块级别的,而ActiveX控件是在窗体或工作表中使用的。因此,在sub中无法直接访问窗体或工作表中的公共变量。

解决这个问题的一种方法是使用属性或方法来访问ActiveX控件中的变量。可以在窗体或工作表中创建一个公共属性或方法,通过该属性或方法来访问控件中的变量。例如,可以在窗体中创建一个公共属性,然后在sub中通过窗体对象来访问该属性,从而间接地访问控件中的变量。

另一种方法是使用回调函数。可以在窗体或工作表中定义一个回调函数,然后将该函数作为参数传递给sub,在sub中调用回调函数来获取控件中的变量值。

需要注意的是,使用ActiveX控件时,需要确保已正确引用该控件,并且控件已正确注册。可以在VBA编辑器的工具菜单中选择引用,然后选择所需的控件库。

对于腾讯云相关产品和产品介绍链接地址,由于要求不能提及具体的云计算品牌商,无法给出具体的推荐。但腾讯云提供了丰富的云计算服务,包括云服务器、云数据库、云存储等,可以根据具体需求选择适合的产品。可以访问腾讯云官方网站获取更多信息:https://cloud.tencent.com/

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Excel实战技巧74: 工作表创建搜索框来查找数据

图1 VBE,插入一个标准模块,输入代码: Sub SearchData() Dim optButton As OptionButton Dim strButtonName As String...End Sub 代码,对要搜索文本使用了通配符,因此可以搜索部分匹配文本。此外,对数据区域使用了“硬编码”,你可以将其修改为实际数据区域。代码运行结果如下图2所示。 ?...End Sub 在编写好代码后,将宏指定给表示按钮矩形形状。形状单击右键,如下图4所示。 ? 图4 选取“指定宏”命令,“指定宏”对话框中选择宏名,如下图5所示。 ?...图5 可以在此基础上进一步添加功能,例如,搜索完成后,我想恢复原先数据,可以工作表再添加一个代表按钮矩形形状,如下图6所示。 ?...你可以使用ActiveX控件,或者直接使用单元格,或者使用快捷键来执行宏。我们编写代码,有很多注释掉代码语句,可供参考。

15.5K10

Excel实战技巧98:使用VBA工作表添加ActiveX控件

要使用VBA从控件工具箱(ActiveX控件添加控件,可以使用OLEObjects集合Add方法。...其中,参数ClassType代表一些常见ActiveX控件名称如下: Forms.Checkbox.1(复选框) Forms.Combobox.1(组合框) Forms.Optionbutton.1...图1 下面的代码用来工作表添加复选框: Sub RefreshList() Dim oCheck As OLEObject Dim rCell As Range, rRange As...上述代码首先删除工作表中所有已存在复选框,因为本示例已知道工作表无其他控件,所以直接删除,如果无法判断是否有其他控件而只需删除复选框,可以加上一个条件判断语句: If TypeName(oCheck.Object...接下来,确定数据范围后,第一列添加复选框并设置了一些属性值以方便以后操作。这里,有一些通用适合于其他控件属性,也有一些专属于复选框属性。

5.3K10
  • Excel VBA事件——ActiveX控件

    Excel,有两种控件,表单控件ActiveX控件,这两种控件都可以插入工作表中用来运行程序,至于区别,只需要简单知道ActiveX控件更复杂一些,可设置东西也更多,其中也包括了ActiveX...工作表插入1个ActiveX控件命令按钮: ?...这时候会进入设计模式,双击命令按钮: Private Sub CommandButton1_Click() End Sub 会自动跳转到当前工作表代码编辑页面,同时自动输入了上面的代码,这时候,下拉框里也多了一个...这就是它1个单击事件,比较简单,和普通窗体控件指定宏差不多。 演示一个MouseMove事件: ? 鼠标移动到它上面,它自动就跑远了。...) * 500) End Sub Rnd函数返回一个0到1之间随机小数 Int取小数整数部份 这样就达到了位置随机设置目的。

    3K20

    Excel VBA编程

    OnTime方法 让文件自动保存 设置自定义操作界面 控件,搭建操作界面必不可少零件 工作表中使用控件 工作表中使用ActiveX控件 不需设置,使用现成对话框 用InputBox函数创建一个可输入数据对话框...,可以模块开头,输入“Option Explicit” 变量作用域 按作用域划分,VBA变量可以划分为本地变量,模块变量公共变量。...滚动条 包括水平滚动条和垂直滚动条 ActiveX控件:excel中有11可用ActiveX控件,但是工作表总使用ActiveX控件不止这些,可以单击其中【其他控件】按钮,弹出对话框中选择其他控件...绘制表单控件 3. 设置相应区域 工作表中使用ActiveX控件 添加ActiveX控件 2....当在工程添加一个窗体后,就可以在窗体上自由添加ActiveX控件,只要通过编写VBA代码为这些控件指定功能,就能利用这些控件与excel互动 工程添加一个用户窗体 设置属性,改变窗体外观

    45.4K22

    问与答68: 如何改变复选框颜色?

    excelperfect Q:我如何才能改变复选框内部颜色? A:Excel中有3种不同类型复选框,包括:用户窗体复选框、表单控件复选框、ActiveX控件复选框。...图2 表单控件复选框 表单控件复选框位于功能区“开发工具”选项卡“插入”按钮下“表单控件,如下图3所示。 ?...图3 工作表插入“复选框”后,单击右键,快捷菜单中选择“设置控件格式”命令,弹出“设置控件格式”对话框“颜色与线条”选项卡,单击“颜色”下拉框,选择想要填充颜色,如下图4所示。 ?...控件复选框 ActiveX控件复选框位于功能区“开发工具”选项卡“插入”按钮下ActiveX控件,如下图5所示。...图5 工作表插入ActiveX控件“复选框”后,保持设计模式下,单击属性,或者右键单击复选框,弹出快捷菜单中选择“属性”命令。

    3.9K30

    【坑】如何心平气和地填坑之拿RSViewSE报表说事

    某一个软件内,你所能够调用ActiveX控件种类和数量取决于该软件所在计算机上安装第三方软件种类和数量,举个例子,你只有安装了Excel软件,你组态软件内才能调用到Excel相关控件。...同时这写变量信息RSViewSE标记库里面都创建为内存变量,实际使用时可直接替换变量即可 PS:对于日耗电量、供水量、运行时间等变量数据,可直接在PLC里面做好数据计算,现在多功能电表和流量计都支持累计数据读取...,输入标题栏内容 VB里面,子程序分为两种, 一种是过程,一种是函数 Sub 和Function 区别, 如果需要返回子程序值,就用函数(Function) 如果不需要返回子程序值,就用过程(...Sub) Private 和Public 局部程序和全局程序意思 先写个报表格式定义子程序 报表格式效果 定义个子程序,用于向表格内写内容 获取RSViewSE软件内标记库变量值,...将这个数字显示控件属性面板设置为VBA控制 刚才拉NumericDisplay1控件对象Change事件里面调用表格写数事件 效果:如下图,表格里面的时间数字会按照系统时间变量秒每秒变化一次

    3.1K41

    OCX 入门

    如下图所示,我们可以从类视图清楚看到我们添加属性和方法名。 ? 3.事件 ACTIVEX通过事件通知容器控件上发生了某些事情。将控件开发人员某一特定操作识别为事件。...)vs2005会自动为你添加基本代码 ⑤为类添加成员变量 (一)为对话框类创建实例变量 1)基本类CMyActiveXCtrl为刚刚新建对话框类创建实例变量类视图中右键单击CMyActiveXCtrl...(二)为对话框控件创建实例变量 1)以”确定”按钮为例,该按钮处单击右键,选择”添加变量” 2)自定义变量名,我叫m_OKButton。...注:调试过程可能提示”无法找到”tstcon32.exe”调试信息…要继续调试吗?”,选择是即可。...工具菜单,将出现“ActiveX控件测试容器”菜单项,点击该项,将弹出ActiveX控件测试容器程序(即TstCon32.exe),如下图所示: ?

    3.1K60

    ActiveX按钮添加工具提示

    标签:VBA 如何给工作表ActiveX按钮控件添加工具提示?这里给出了一个方法。...其方法是,在按钮控件附近添加一个ActiveX标签,并将其颜色设置为工具提示颜色(可以属性窗口中执行此操作),接着在按钮控件和工具提示标签后面放置一个大透明标签,然后将MouseMove事件添加到按钮和大标签...图1 该工作表代码模块,添加以下代码: Private Sub Button_Test_MouseMove(ByVal Button As Integer, _ ByVal Shift As Integer...Private Sub Label_Background_MouseMove(ByVal Button As Integer, _ ByVal Shift As Integer, _ ByVal...图2 有兴趣朋友可以试试。 欢迎在下面留言,完善本文内容,让更多的人学到更完美的知识

    11510

    .Net魔法堂:史上最全ActiveX开发教程——ActiveX与JS间交互篇

    一、前言                             经过上几篇学习,现在我们已经掌握了ActiveX整个开发过程,但要发挥ActiveX真正威力,必须依靠JS。下面一起来学习吧!...二、JS调用ActiveX方法                     只需UserControl子类(即自定义ActiveX控件),编写公共方法即可。  ...在用户控件调用JS方法   MyUserControl.cs   C# #region 调用js函数 private Type typeIOleObject = null;...pDoc2.Script; try { //调用JavaScript方法OnScaned并传递参数,因为此方法可能并没有页面实现...若在IE9下无法加载ActiveX控件    检查是否为64位IE9。32位ActiveX控件不能在64位IE上使用。

    2.2K100

    MFC ActiveX (ocx)控件开发

    ActiveX控件是一种实现了一系列特定接口而使其使用和外观上更象一个控件COM组件。...设计ActiveX控件时就应当考虑控件可能会发生哪些事件以及包容器程序将会对其中哪些事件感兴趣并将这些事件包含进来。...ActiveX控件可以使COM组件从外观和使用上能与普通窗口控件一样,而且还提供了类似于设置Windows标准控件属性属性页,使其能够包容器程序设计阶段对ActiveX控件属性进行可视化设置。...如下图右键添加属性,属性变量类型我们选LONG,变量名为TimeStyle,其他默认。 ? ? 2.方法 方法就是控件开放给用户使用一些功能函数,类似于C++类函数。...如下图所示,我们可以从类视图清楚看到我们添加属性和方法名。 ? 3.事件 ACTIVEX通过事件通知容器控件上发生了某些事情。将控件开发人员某一特定操作识别为事件。

    5.7K80

    Activex、OLE、COM、OCX、DLL

    但Microsoft自己恐怕无法解释清楚,这要花费相当精力和时间。 于是,随着Internet发展,1996年春,Microsoft改变了主意,选择ActiveX作为新商标名称。...为浏览器执行从Web服务器下载代码,浏览器可把它看作是COM对象,也就是说,COM技术也是一种打包可下载代码标准方法(ActiveX控件就是执行这种功能)。...3.注册ActiveX控件 使用Windows的人对于ActiveX控制一定不会陌生,它提供了一种类似于DLL动态链接库调用,不过它与DLL唯一区别就是ActiveX不注册不能被系统识别并使用。...利用它也能够非常方便地注册ActiveX控件,它用法为: regsvr32 /u /s /c /i /n dllname 其中dllname为ActiveX控件文件名,建议安装前拷贝到System...注册表法所谓注册ActiveX,无非是将一些信息记录在Windows注册表,如ShockwaveFlashObject控件,我们可以运行Regedit.exe注册表编辑程序,利用关键字进行搜索,然后把搜索得到后注册表导出为

    2.3K10

    Delphi 教程

    重要方法有以下几个: Initialize:对全局程序进行初始化.就比如说你有2个窗体,form1和form2,里面分别有1个全局变量,一般人们理解上,这些全局变量form创建时才拥有实例...第二个要讲的是unit:如果你程序中有许多全局函数,那么应当将它们放入一个新unit,并使用///进行注释.对于button.click等控件事件可以不写注释,但是自定义函数必须照///注释书写...一个程序里,可以拥有多个线程,但是在线程冲突情况下,必须使用synchronize方法来防止冲突,这个方法是定义classes单元内公共方法,你在任何情况下都能使用它。...比如说单元内定义了form1,并且没有手动进行free,则可以finalization写FreeAndNil(form1); ActiveX.CoUninitialize; 但是对变量赋值不允许放在...则可以finalization写FreeAndNil(form1); end.后面的代码,编译时被忽略。

    1.9K11

    Excel实战技巧67:组合框添加不重复值(使用ADO技巧)

    本文讲解一种技巧,使用Recordset(记录集)来获取唯一值并将其填充到组合框。 示例数据如下图1所示。工作表中有一个组合框,需要包含列A省份列表,但是列A中有很多重复省份数据。 ?...单击功能区“开发工具”选项卡“插入”按钮下ActiveX控件“组合框”,工作表插入一个组合框,可以看到Excel将其自动命名为“ComboBox1”,如下图2所示。 ?...MyWorkbook As String Set Myconnection = NewConnection Set Myrecordset = NewRecordset '识别引用工作簿...可以在任何事件或过程调用它们,例如工作簿打开事件、查询刷新事件或者按下按钮后。 运行或调用过程后,工作表单击组合框右侧下拉按钮,结果如下图3所示。 ?...图3 说明 1.示例中使用ActiveX组合框控件,如下图2所示。 2.需要在VBE设置对Microsoft ActiveX Data Objects Library引用,如下图4所示。

    5.6K10

    VBA表单控件(一)

    控件分为两种,分别是表单控件ActiveX控件。表单控件只能在工作表通过设置控件格式或者指定宏来使用,而ActiveX控件则有属性和事件,可以工作表中和用户窗体中使用。...可以开发工具选项卡插入功能,可以看到两种控件Excel工作表主要使用表单控件,它不仅与早期Excel版本更兼容,而且使用相对更简单,下面将分两节介绍常用表单控件。...一、 按 钮 控 件 1、插入按钮并指定宏 按钮控件主要用于运行指定宏,首先需要有一个完整sub过程。它使用方法比较简单,下面简单演示下。...先准备了两个简单过程,点击插入--表单控件--按钮控件工作表位置拖动画出一个按钮(窗体控件),松开鼠标后Excel会弹出指定宏窗口,可以选择按钮绑定sub过程,确定后即指定宏。...之后点击按钮即可运行对应sub过程。设置起来是很简单。 2、按钮属性修改 右键选择按钮,可以选择编辑文字来改变按钮显示文字,也可以选择指定宏,即重新选择sub过程。

    4.9K30

    窗体UserForm——命令按钮

    工具箱上是一些常用控件,一般情况下都足够使用了,右键点击工具箱,会有个附加控件东西,打开后可以看到,工具箱上是已经被勾选了,这里可以有更多选择。...这里控件其实和前面说过ActiveX控件是一种东西,使用方法也类似。...最常用一个控件应该是命令按钮,拖拽一个到窗体,然后双击按钮就可以进入代码编辑,默认就会添加单击事件: Private Sub CommandButton1_Click() End Sub 我们实现一个简单功能...VBA编辑器插入一个窗体,添加3个命令按钮,选中按钮,属性窗口修改Caption属性分别为Sheet1、Sheet2、Sheet3,编辑代码: Private Sub CommandButton1_...Sub 普通模块编辑代码: Sub TestUserFrom() UserForm1.Show End Sub 运行后: ?

    1.6K10

    VC++编写ActiveX控件

    但dll有自己局限性,就是没有事件,而这个时候ActiveX控件就隆重登场了,同样能够跨语言使用,ActiveX可以提供方法,属性甚至是事件(当然对比dll也有缺点,它不是单独文件,无法动态加载和卸载...此属性控件源文件变量名称,在编写控件源码时使用。 Notification function:提醒函数。当此属性被改变时,会触发此提醒函数。 Implementation:实现方式。...弹出文件浏览对话框,找到Registered ActiveX Controls文件目录下你刚才注册控件,比如“OcxDemo Control”,然后点击“Insert”按钮即可将此控件添加到控件工具条集合...比如,本文中ActiveX控件自定义事件,是通过鼠标移动来触发,那么应用程序,只要鼠标移动到控件上,那么就会触发此自定义事件,并获取当前鼠标位置橫坐标。 4....2) 用C#来使用ActiveX事件时,事件所产生数据都包含在Event变量,只需要用个点运算符就可以取出来了。

    3.4K30

    QT应用编程: Visual Studio里编写activex控件在网页运行(dll插件形式)

    一、环境介绍 操作系统: win10 64位 QT版本: 5.12.6 Visual Studio IDE 版本: 2017 二、ActiveX控件介绍 ActiveX控件是MicrosoftActiveX...ActiveX控件是可以应用程序和网络中计算机上重复使用程序对象。创建它主要技术是MicrosoftActiveX技术,其中主要是组件对象模型(COM)。...ActiveX控件可以以小程序下载装入网页,也可以用在一般Windows和Macintosh应用程序环境。...ActiveX控件可以由不同可以识别MicrosoftCOM技术语言开发,它是一个组件或自包含软件包,它可以同一个或分布式计算环境开发或使用。...修改COM组件、寻找依赖库过程360之类安全软件会拦截,为了方便不出问题,可以提前把这些软件关闭再操作。 接下来DLL动态库目录下,创建一个Xxx.html文件,写入调用代码,测试效果。

    93150
    领券