首页
学习
活动
专区
圈层
工具
发布

VBA使用API_03:创建窗体

使用Excel VBA要创建窗体非常的简单,直接插入一个用户窗体就可以了,VBA已经封装好了窗体,而且具有很多功能以及控件。...这些在底层都是要调用API,只是我们看不到而已,让我们使用API来创建一个窗体试试,分三步: 注册窗体类 创建窗体 显示窗体、循环接收消息并处理 注册窗体需要用到RegisterClass,必须先要注册一个窗体类...,才能在第二步创建窗体CreateWindowEx进行创建,创建好后必须使用ShowWindow才能显示出来,窗体显示出来之后,如果没有其他要执行的程序,马上就会消失,因为程序运行完成了,所有资源被自动回收了...If RegisterClass(wc) 0 Then '创建窗体 hWnd = CreateWindowEx(0, "myForm", "myForm"..., CW_USEDEFAULT, 0, 0, Application.hInstance, ByVal 0) If hWnd Then '显示窗体

2.2K20

创建可调大小的用户窗体——使用VBA

标签:VBA 在上篇文章:创建可调大小的用户窗体——使用Windows API中,我们使用Windows API实现了允许用户可以调整用户窗体的大小。本文仅使用VBA来实现同样的效果。...VBA解决方案:用户窗体包含一个对象,单击该对象时会记录鼠标的位置;随着鼠标的移动,用户窗体及其对象将根据新的鼠标位置重新定位或调整大小;当释放鼠标按钮时,停止移动以调整大小。...示例用户窗体 在VBE中,插入一个用户窗体,如下图1所示。...标签lblResizer的设置如下图2所示,标题为字符“y”并设置Wingdings 3字体,使之以小三角的形式显示在窗体右下角,让用户在此单击以调整窗体大小。...图2 在用户窗体代码模块中,输入下面的代码: Private resizeEnabled As Boolean Private mouseX As Double Private mouseY As Double

2K30
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Access数据库基本对象

    大家好,后期开始部分介绍Access数据内容,首先简单介绍下学习Access数据库的基本框架,主要包括六个常用的对象:表、查询、窗体、报表、宏、VBA模块。...3、窗体:操控数据库的数据 窗体在Access数据库中有两种形式存在,一是静态数据显示窗体,二是可以创建人机交互界面,用来操控数据库的显示,切换和计算等。...4、报表:分析或打印数据 报表是指将表和查询对象中的数据以特定的板式进行分析整理,并按照用户指定的方式进行打印。...(与其他微软Office系列软件中宏与VBA相同。) 6、VBA编程:数据关系处理工具 通过VBA编程建立复杂的VBA程序,以完成简单的宏无法处理的任务。用来进行数据计算和判断等。...(这点与Excel相似,不使用宏与VBA编程的情况下,Excel就可以实现强大的功能,而通过宏和VBA程序则可以创建更复杂的程序。)

    5.5K30

    一起学Excel专业开发02:专家眼中的Excel及其用户

    用户窗体根据用户的选择读取工作表中的相应数据,并动态添加相应的控件,使用户窗体更加灵活且功能更强大。 3....Excel更擅长数字计算,VBA擅长通用的编程,将两者合理结合运用,可以开发出高效的应用程序。 4. VBA与用户窗体 VBA是一种专业的编程语言,内嵌于Excel中。...在Excel提供的VBA语言专业编辑器(VBE)中,不仅可以使用VBA来充分Excel发挥更大的优势和威力,而且可以利用用户窗体设计专业的交互界面,扩展Excel的能力。...1.Excel初级用户:将Excel工作表当做存放数据、报表或进行简单计算的工具,并且随着Excel使用经验的增加,其工作簿也会变复杂,会包含大量的工作表公式与函数、图表和数据透视表等。...在判断何时使用Excel解决问题,何时使用VBA解决问题,以及何时将两者结合来解决问题时,缺乏经验。

    5.4K20

    答案:Excel VBA编程问答33题,继续……

    5.在用户窗体上对齐控件的最快方法是什么? 通过使用“格式”菜单上的“对齐”命令。 6.假设一个控件被重叠控件隐藏。在运行时,如何使隐藏的控件可见?...7.如何防止用户通过制表键将焦点移到控件上? 将控件的TabStop属性设置为False。 8.如何命名事件过程? 通过使用对象名称、下划线和事件名称。...9.通过将Application.EnableEvents属性设置为False不会禁用哪些事件? 用户窗体上的事件。 10.当用户在任何工作表中进行修改操作时,将触发哪个事件?...使用OnTime事件。 15.如何允许用户查看工作簿但不能进行修改? 通过在“另存为”对话框的“工具”菜单中设置“修改权限密码”。 16.是非题:保护工作簿的密码可防止用户查看你的VBA代码。 错误。...必须使用“项目工程属性”对话框中的“保护”选项卡,将VBA工程与设置给工作簿的任何密码分开锁定。 17.是非题:一个bug阻止程序运行。 错误。bug会阻止程序正常运行,但不会阻止程序运行。

    5.5K20

    Excel催化剂开源第9波-VSTO开发图片插入功能,图片带事件

    例如一个很经典的需求是将插入的缩略图放大操作,没法点击、双击之类的事件响应对应的放大操作。 在VBA的方法中,还有一个方式,用窗体控件Image,可以实现图片插入后有事件关联。...具体实现 使用VSTO的PictureBox容器,将其图片属性设置成对应的图片对象即可,此处传入的图片对象是Image对象,不必像VBA方法里的只能传入文件全路径,可以方便某些数据库等方式存储二进制图片格式时...具体各参数的意义和VBA的AddPicture方法类似,可自行查阅文档。...ContextMenuStrip contextMenuStrip = new ContextMenuStrip(); string[] btnsText = { "复制另存为...contextMenuStrip; } 通过此方法插入的PictureBox,保存关闭后,Excel文件因无法在关闭状态下存储PictureBox对象,将会将其转换为OLE对象存储,设置过的事件将失效

    1.7K40

    Excel VBA编程

    filename := "path" activate激活工作簿 workbooks("workbooks_name").activate 保存工作簿 save方法保存已存在的文件 saveas方法将工作簿另存为新文件...load inputform inputform.show end sub 将窗体显示为无模式窗体 模式窗体不能操作窗体之外的对象 要将窗体显示为模式窗体,可以使用代码 InputForm.show...或者省略show方法的参数,或者将参数设置为vModal,VBA都会讲窗口见识为模式窗体 2....无模式窗体允许进行窗体外的其他操作 要将窗体显示为无模式窗体,必须通过show方法制定参数 Inputform.show vmodeless 如果将窗体显示为无模式窗体,当窗体显示后,系统会继续执行程序余下的代码...当值为TRUE时,程序将不响应我们关闭窗体的操作。如果cancel的值为false,程序将关闭窗体。

    52.3K34

    Excel编程周末速成班第21课:一个用户窗体示例

    excelperfect 引言:这是在知识星球App的完美Excel社群中发表的Excel VBA编程系列文章中的一篇,使用一个示例来讲解用户窗体的基础应用。...4.将工作簿另存为Address.xlsm。 至此,工作簿模板已完成,你可以继续设计用户窗体。...3.选择插入➪用户窗体将一个新的用户窗体添加到工程中。 4.使用属性窗口将窗体的Name属性更改为frmAddresses,并将其Caption属性更改为“地址输入”。...要将代码添加到窗体,打开窗体的代码编辑窗口,然后为txtZip控件添加KeyDown事件过程,将清单21-2中的代码添加到该过程中。注意使用Beep语句,如果按下了不正确的键,它将导致系统发出声音。...即使使用Hide方法隐藏了该窗体,它在下次显示时仍将所有数据保留在其控件中。因此,需要清除控件。将每个控件的Value属性设置为空白字符串很简单。

    8.7K10

    一起学Excel专业开发21:Excel工时报表与分析系统开发(3)——自定义用户界面

    如果应用程序使用基于工作表的用户接口,则应该将工作表作为主要的数据录入界面和显示报表的界面,而对话框应只用于少量的任务和向导程序。...基于用户窗体的接口主要使用Excel的计算和分析功能而不是单元格的编辑功能。用户窗体具有功能简单、控制性强等特点,可以有效地减少用户错误,使应用程序具有更好的健壮性。...如果应用程序使用基于用户窗体的接口,则工作表只应用于显示报表。 在决定采用何种样式的用户接口时,应该考虑用户可能会在应用程序的什么地方花时间,是提供丰富的编辑功能更好还是提供强大的控制功能更好。...'使用标准的另存为按钮 Set oButton = .Controls.Add(msoControlButton, 748) With oButton...将所有工作簿标记为已保存 ...

    2.7K10

    使用VBA将工作簿中所有的数据转换成值

    标签:VBA 通常,工作簿中会包含很多工作表,而工作表中的数据有些是单纯的数值,而有些是公式的结果。如果我们想要将工作簿中所有的数据都转换为值,也就是说,公式转换为其结果值,如何快速实现呢?...可以使用VBA遍历工作表来解决,代码很简单,如下: Sub ConvertDatatoVal() Dim wks As Worksheet For Each wks In Sheets...wks.UsedRange.PasteSpecial xlPasteValues Next wks Application.CutCopyMode = 0 End Sub For Each循环遍历工作簿中的所有工作表,复制工作表中已使用的区域...因此,如果原版本的数据还有用,则需要确保将文件保存一份备份,以防运行程序后不能还原。 有时候,一段小小的代码可以解决一些需要花时间的重复繁琐的操作。...因此,建议大家有空闲可以多了解了解VBA,以备不时之需。

    1.9K20

    进阶篇-立志做PLC圈子里的IT大拿 | 利用VB编写程序显示数据库数据

    前文提过,在RSViewSE里面做报表,我们在SE的画面内嵌入了一个spreadsheet控件,那么在VB里面,我们依然可以使用这个控件。...1、在VB的窗体上拉个spreadsheet表格出来,同时拉出Dtpicker和ComboBox控件,用来做查询的条件,放两个按钮,一个查询,一个导出文件 2、编写程序,先写报表格式定义程序,这个人之前在...3、编写程序,从SQLServer数据库读取数据 4、封装表格填写数据的程序,封装成子函数使用,然后将读回来的数据写进去 给窗体的表格填写数据时,可以实现按照选定的时间和泵站编号来查询内容写入到表格内...,而对这些数据库的操作都离不开脚本语言,VBA、VBS、JS、QuickScript。...记录数据的方式无非就是利用组态软件的功能,在依赖组态软件将需要的数据记录到数据库,除此之外就是脱离组态软件,想办法直接读取PLC的数据并记录下来。

    1.9K50

    个人永久性免费-Excel催化剂功能第33波-报表形式数据结构转标准数据源

    今天Excel催化剂再次送上批量化操作,将不规则的难以立即分析使用的报表形式数据源转换为标准的数据库结构数据源。...对这些报表类型的数据合并,还不同于简单的工作薄合并那样,每个工作表里存放的都是标准的流水式记录单数据。无法简单地将复制粘贴的工作用代码自动化实现。 ? 类似报表形式的原始数据结构 ?...最要命的是窗体仅使用一次,下次想复用,又要重新填写,不能保存已匹配过信息 选定源表的文件路径区域,转换为目标标准数据表结构 一、先使用GetFiles自定义函数拿到所需转换数据的源文件的路径 使用路径清单而非文件夹...转换后的结果表 隐藏的细节处理部分 前面说到,报表格式转标准数据源格式,知道了思路,基本可以自己简单写几句VBA代码得到想要的结果。...前提条件是数据量不大的情况下可接受 读取Excel文件,若使用COM的方式来读取,大批量文件处理来说,肯定会有性能瓶颈,所以Excel催化剂一开始就不打算用原生的Excel的VBA对象模型来操作,改换为使用不依赖于

    2.1K40

    启蒙篇-立志做PLC圈子里的IT大拿 | 利用VB编写程序读取PLC数据

    JZGKCHINA 工控技术分享平台 写在前面 前文提过,在RSViewSE里面做报表,有一种高级玩法,完全不依赖RSViewSE软件,而是通过RSLinx软件编写程序将PLC内的数据直接读取回来,按照一定的时间规律记录到数据库内...本次实验我们使用SQL Server数据库来记录需要的报表变量。...此处我们其实不需要窗体,在VB里面添加个模块就可以了 开始编写程序 1)编写子程序,从RSLinx里面通过DDE方式获取PLC变量数据。...控件显示读取回来的数据 注意:在最后读取回来的二维数组内,行表示泵站编号,列表示对应的数据,如下表所示arrPumpValue(x,y) 6)将读回来的数据写入数据库 看看效果 7)将VB的程序打包成...通过DDE,你不止可以记录数据到数据库用来做报表,大胆联想一下,如果我们把DDE通讯的频率提高一下,每秒读取一次,再找个简单的数据显示的软件,比如Excel,写几个VBA脚本,拉几个窗体,做几个曲线,我的天呢

    2K50

    Excel编程周末速成班第18课:使用用户窗体创建自定义对话框

    通过将这三个元素(属性、方法和事件)联系在一起,你的VBA代码可以自定义用户窗体的外观和行为,以适合你的应用程序的特定需求。 VBA编辑器使得创建用户窗体的任务变得相当简单。...窗体设计基础 要将新的用户窗体添加到Excel工程,确保在“工程”窗口中选择了正确的工程。从VBA编辑器菜单中选择“插入➪用户窗体”,编辑器将打开一个新的空白用户窗体。...1.在VBA编辑器中,选择“插入➪用户窗体”以将新的用户窗体添加到当前工程。 2.在“属性”窗口中,将窗体的Name属性更改为TestForm,并将其Caption属性更改为“用户窗体演示”。...该程序将显示一个带有你输入的文本的消息框,显示VBA代码如何从用户窗体中检索数据。 这是一个简单的演示。...VBA编辑器提供了一个视觉设计工具,使你可以创建用户窗体的视觉界面。 通过在VBA代码中调用窗体的Show方法向用户显示窗体。 在窗体的代码中,你可以使用Me关键字来引用窗体。

    14.5K30

    窗体UserForm

    1、什么是窗体: 窗体是VBA里做好了的一个与用户交互的东西,在VBA编辑器界面,点击菜单插入-用户窗体,这样就创建了一个窗体界面,在VBA编辑器里的是一个编辑界面: ?...2、窗体作用: 个人看法: 窗体主要作用就是提供了一种交互界面,让程序制作者更方便制作易用的程序,让使用者通过直接的交互界面更快的学会使用程序。...但是,个人认为窗体在VBA里使用的是不会很频繁的: 由于Excel VBA一般都是处理较为简单的东西,直接一个按钮运行一段程序就完了,所以一般都不怎么需要去制作交互界面。...Ribbon菜单又比以前的下拉式菜单交互性更加的友好了,窗体的使用更加的少了。 当然窗体也有它的用处,但是个人建议Excel VBA使用者不必花太多力气在这东西上面。...由于这种窗体交互界面是比较容易吸引人去使用的,因为这看起来很了不起,看起来似乎写的程序很像那么一回事。

    3K20
    领券