VBA智慧办公9——图例控件教程

如图,利用VBA进行可视化交互界面的设计,在界面中我们用到了label,button,text,title等多个工具,在进行框图效果的逐一实现后可进行相应的操作和效果实现。
VBA(Visual Basic for Applications)是一种用于编写Windows应用程序的编程语言,可以用于创建可视化交互界面。以下是一些步骤,可以帮助您使用VBA创建可视化交互界面:
- 创建一个新的VBA项目:打开Visual Basic for Applications(VBA)编辑器,创建一个新的VBA项目。
- 添加一个新的模块:在项目中创建一个新的模块,用于存储可视化交互界面的代码。
- 编写可视化交互界面的代码:在模块中编写可视化交互界面的代码,例如使用VBA的图形库创建图形界面。
- 添加交互事件:在可视化交互界面中添加交互事件,例如单击按钮时显示一个消息框。
- 添加用户输入:在可视化交互界面中添加用户输入,例如使用VBA的文本框控件接收用户输入。
- 添加用户输出:在可视化交互界面中添加用户输出,例如使用VBA的文本框控件显示用户输出。
- 添加用户交互:在可视化交互界面中添加用户交互,例如使用VBA的按钮控件响应用户单击。
- 调试和测试:在编写完代码后,使用VBA的调试器和测试器调试和测试可视化交互界面,确保其正常运行。
- 发布和部署:将可视化交互界面发布到Windows应用程序商店或其他目标平台上,以便用户可以下载和使用它。
以上是一些基本的步骤,但是VBA还提供了许多其他功能和控件,可以用于创建更复杂的可视化交互界面。
以下图案例为操作相关举例:

点击上方工具箱

仔细研读工具箱,共分为两行,第一行从左往右分别为:选定对象、标签、文本框、复合框、列表框、复选框、选项按钮、切换按钮;第二行从左往右分别为:框架、命令按钮、TabStrip、多页、滚动条、旋转按钮、图像、RefEdit。

分析下图表格:在复选框内进行密码的输入,再点击确定后实现密码验证判断是否正确。

Private Sub loginCmd_Click()
If UserForm1.tpassword = "" Then
MsgBox "登录密码不能为空", 48, "警告"
Exit Sub
End If
If Sheet13.Range("c3").Value = UserForm1.tpassword.Text Then
Unload Me
Sheet7.Visible = xlSheetVisible
MsgBox "恭喜,密码正确,欢迎您使用本系统", 64, "登录成功"
'Sheet7.Activate
UserForm2.ShowApplication.Visible = True
Else
MsgBox "对不起,请您核对密码是否正确,请与管理员联系", 32, "警告"
Exit Sub
End If
End Sub
这段代码是一个简单的用户登录程序,当用户点击登录按钮时,程序会检查用户输入的密码是否为空,如果为空则会弹出一个警告框,否则会将用户的密码与表格中的密码进行比较,如果匹配则会弹出一个登录成功的消息框,否则会弹出一个登录失败的消息框。
Private Sub UserForm_Initialize()hWnd = FindWindow(vbNullString, Me.Caption)SetWindowPos hWnd, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOMOVE Or SWP_NOSIZE '置顶Application.Visible = Falsetpassword.SetFocus
End Sub
这段代码定义了一个名为UserForm的窗体,并在窗体的Initialize事件中初始化了窗体的属性,包括窗体的句柄、窗体的位置、窗体的大小等。
Private Declare PtrSafe Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private Declare PtrSafe Function SetWindowPos Lib "user32" (ByVal hWnd As Long, ByVal hWndInsertAfter As Long, ByVal X As Long, ByVal Y As Long, ByVal cx As Long, ByVal cy As Long, ByVal wFlags As Long) As Long
Private Const HWND_TOPMOST = -1
Private Const SWP_NOMOVE = 2
Private Const SWP_NOSIZE = 1
Dim hWnd As Long
这段代码定义了一个名为FindWindow的函数,用于在Windows操作系统中查找窗口句柄。该函数接受两个参数,第一个参数是窗口类名,第二个参数是窗口名称。该函数返回窗口句柄的值,如果找不到窗口则返回-1。
该函数使用了PtrSafe关键字来声明该函数的返回值类型为Long类型,以便在函数内部进行位运算。
该函数还定义了一个名为SetWindowPos的函数,用于设置窗口的位置和大小。该函数接受五个参数,分别是窗口句柄、窗口插入位置、X坐标、Y坐标和宽度和高度。如果窗口不在屏幕上,则该函数将设置窗口为最顶层窗口,并将其位置设置为屏幕左上角。如果窗口大小不能被改变,则该函数将设置窗口大小为最大宽度和高度。
该函数使用了常量HWND_TOPMOST和SWP_NOMOVE来表示最顶层窗口和不允许移动窗口的标志。
该函数还定义了一个名为hWnd的变量,用于存储窗口句柄的值。
以上,即可完成基于VBA的登陆初始化界面的初步过程。
相关文章:
VBA智慧办公9——图例控件教程
如图,利用VBA进行可视化交互界面的设计,在界面中我们用到了label,button,text,title等多个工具,在进行框图效果的逐一实现后可进行相应的操作和效果实现。 VBA(Visual Basic for Applications&a…...
Presto VS Spark
环境配置 5个节点,每个节点10G内存。 测试SQL,每个执行3次,求平均,对比计算性能。 版本信息 Spark:2.3.1Presto: 0.208 10亿量级查询性能对别 Spark: spark-sql> select sex,count(1) from conta…...
为什么我们能判断声音的远近
想象一下,当我们走在路上时,听到了头顶的鸟儿在树梢间的叫声,即使无法透过浓密的树叶看见它,也可以大致知道鸟儿的距离。此时身后传来由远到近自行车铃铛声,我们并不需要回过头去看,便为它让开了道路。这些…...
那些关于DIP器件不得不说的坑
了解什么是DIP DIP就是插件,采用这种封装方式的芯片有两排引脚,可以直接焊在有DIP结构的芯片插座上或焊在有相同焊孔数的焊位中。其特点是可以很方便地实现PCB板的穿孔焊接,和主板有很好的兼容性,但是由于其封装面积和厚度都比较…...
论文笔记:基于U-Net深度学习网络的地震数据断层检测
0 论文简介 论文:基于U-Net深度学习网络的地震数据断层检测 发表:2021年发表在石油地球物理勘探 1 问题分析和主要解决思路 问题:断层智能识别,就是如何利用人工智能技术识别出断层。 解决思路:结合U-N…...
kafka单节点快速搭建
1.搭建使用centos7主机,关闭防火墙和selinux服务 2.创建kafka存放目录 mkdir /etc/kafka 3.从kafka官网下载安装包 我这里下载了3.3.1版本的kafka,放到kafka目录中 下载地址:Apache Kafka 4.解压安装包并更改名称 tar -zxvf /etc/kaf…...
【MySQL】(6)常用函数
文章目录 日期函数获取日期日期计算 字符串函数charsetconcatlengthsubstringreplaceinstrstrcmpltrim, rtrim, trim 数学函数absbin, hexconvceiling, floorrandformatmod 其他函数user() 查询当前用户密码加密md5()password() database() 查看当前数据库ifnull() 日期函数 函…...
Linux学习 Day1
注意: 以下内容均为本人初学阶段学习的内容记录,所以不要指望当成查漏补缺的字典使用。 目录 1. ls指令 2. pwd指令 3. cd指令 4. touch指令 5. mkdir指令(重要) 6. rmdir指令 && rm 指令(重要ÿ…...
Hibernate中的一对多和多对多关系
Hibernate的一对多和多对多 Hibernate是一个优秀的ORM框架,它简化了Java应用程序与关系型数据库之间的数据访问。在Hibernate中,我们可以使用一对多和多对多的关系来处理复杂的数据模型。本文将介绍Hibernate中的一对多和多对多,包括配置和操…...
Linux系统之部署Samba服务
Linux系统之部署Samba服务 一、Samba服务介绍1.Samba服务简介2.NFS和CIFS简介3.Smaba服务相关包4.samba监听端口4.samba相关工具及命令 二、环境规划介绍1.环境规划2.本次实践介绍 三、Samba服务端配置1.检查yum仓库2.安装smaba相关软件包3.创建共享目录4.设置共享目录权限5.新…...
回顾产业互联网的发展历程,技术的支撑是必不可少的
从以新零售、全真互联网为代表的产业互联网的概念诞生的那一天开始,互联网的玩家们就一直都在寻找着它们的下一站。尽管在这个过程当中,遭遇到了很多的困难,走过了很多的弯路,但是,产业互联网的大方向,却始…...
关于gas费优化问题
关于gas费优化问题 首先我们先来看一下这段代码 // SPDX-License-Identifier: MIT pragma solidity ^0.8.0; contract GasGolf{uint public total;//[1,2,3,4,5,100]function sum(uint[] memory nums) external{for(uint i 0;i<nums.length;i1){bool isEven nums[i] % 2…...
Linux——中断和时间管理(中)
目录 驱动中的中断处理 中断下半部 软中断 tasklet 工作队列 驱动中的中断处理 通过上一节的分析不难发现,要在驱动中支持中断,则需要构造一个 struct irqaction的结构对象,并根据IRQ 号加入到对应的链表中(因为 irq_des 已经在内核初始…...
嵌入式软件中常见的 8 种数据结构详解
目录 第一:数组 1、数组的应用 第二:链表 1、链表操作 2、链表的应用 第三:堆栈 1、堆栈操作 2、堆栈的应用 第四:队列 1、队列操作 2、队列的应用 第五:哈希表 1、哈希函数 2、哈希表的应用 第六&#…...
vue 修改当前路由参数并刷新界面
项目中经常用到的需求是在当前页面修改路由中的参数,并刷新页面。 我们只用this. r o u t e r . r e p l a c e 或者 t h i s . router.replace或者this. router.replace或者this.router.go是不行的,需配合下面的代码 方法一: this.$router.…...
视频处理之视频抽帧的python脚本
在计算机视觉研究中,处理视频的时候,往往需要将视频抽帧成图片。如果多个视频都存放在一个文件夹里,并且希望抽帧出来的图片,以一个视频对应一个文件夹的形式存放,可以用以下代码,抽帧频率可自己手动修改&a…...
【youcans 的 OpenCV 学习课】22. Haar 级联分类器
专栏地址:『youcans 的图像处理学习课』 文章目录:『youcans 的图像处理学习课 - 总目录』 【youcans 的 OpenCV 学习课】22. Haar 级联分类器 3. Haar 特征及其加速计算3.1 Haar 特征3.2 Haar 特征值的计算3.3 积分图像3.4 基于积分图像加速计算 Haar 特…...
如何避免知识盲区 《人生处处是修行》 读书笔记
如何避免知识盲区 多元化学习:不要只关注自己擅长的领域,应该尝试学习其他领域的知识,例如文学、艺术、科学等。 拓宽阅读:阅读不同领域的书籍、文章、博客等,可以帮助你了解更多的知识和观点。 参加培训和课程&…...
vue返回上一页自动刷新方式
再vue中,返回上一页时:如果页面是打开的状态,页面不会自动刷新,会保持着上次跳转的状态不更新; 原因:vue-router的切换不同于传统的页面切换,而是路由之间的切换,其实就是组件之间的…...
查询SERVER正在执行的SQL语句
--方法一 select * from master..sysprocesses SELECT distinct [Spid] session_Id, ecid, [Database] DB_NAME(sp.dbid), [User] nt_username, [Status] er.status, [Wait] wait_type, [Individual Query] SUBSTRING(qt.text, er.statement_start_offset / 2,…...
Chrome for Testing:浏览器自动化测试环境构建的标准化解决方案
Chrome for Testing:浏览器自动化测试环境构建的标准化解决方案 【免费下载链接】chrome-for-testing 项目地址: https://gitcode.com/gh_mirrors/ch/chrome-for-testing 核心价值解析:为什么选择Chrome for Testing 在现代前端自动化测试体系中…...
当你的手柄在Windows上“水土不服“时,内核级虚拟化如何解决问题?
当你的手柄在Windows上"水土不服"时,内核级虚拟化如何解决问题? 【免费下载链接】ViGEmBus Windows kernel-mode driver emulating well-known USB game controllers. 项目地址: https://gitcode.com/gh_mirrors/vi/ViGEmBus 你是否曾经…...
Z-Image-Turbo-辉夜巫女镜像维护:模型更新、日志轮转与服务健康监控方案
Z-Image-Turbo-辉夜巫女镜像维护:模型更新、日志轮转与服务健康监控方案 1. 引言 如果你正在使用基于Xinference部署的Z-Image-Turbo-辉夜巫女文生图模型服务,并且通过Gradio界面来生成那些精美的辉夜巫女图片,那么这篇文章就是为你准备的。…...
lychee-rerank-mm环境部署:NVIDIA驱动470+、CUDA 12.x兼容性验证清单
lychee-rerank-mm环境部署:NVIDIA驱动470、CUDA 12.x兼容性验证清单 1. 项目概述与核心价值 lychee-rerank-mm是一个专为RTX 4090显卡优化的多模态重排序系统,基于Qwen2.5-VL架构和Lychee-rerank-mm模型构建。这个系统能够对批量图片与文本描述进行智能…...
PyTorch 3.0静态图分布式训练全链路解析(含NCCL拓扑感知、Graph Partitioning与梯度同步优化)
第一章:PyTorch 3.0静态图分布式训练概览与演进脉络PyTorch 3.0标志着框架在可扩展性与编译优化方向的重大跃迁——其核心变化之一是将TorchDynamo Inductor后端深度整合为默认的静态图编译通道,并原生支持跨设备、跨节点的分布式静态图训练。这一演进并…...
无需昂贵显卡,用快马云端ai快速验证openclaw本地知识库问答原型
最近在尝试搭建一个本地知识库问答系统,发现OpenClaw这个开源多模态大语言模型特别适合这个场景。不过本地部署对硬件要求比较高,我的笔记本显卡根本跑不动。好在发现了InsCode(快马)平台,用它的云端AI算力轻松解决了这个问题。下面分享下我的…...
YOLOv8n-face:工业级人脸检测技术的精度与效率平衡之道
YOLOv8n-face:工业级人脸检测技术的精度与效率平衡之道 【免费下载链接】yolov8-face yolov8 face detection with landmark 项目地址: https://gitcode.com/gh_mirrors/yo/yolov8-face 一、行业痛点诊断:企业级人脸检测的现实挑战 1.1 复杂场景…...
光通信行业彻底爆了!三项世界纪录背后藏着多少财富密码
在6G尚未正式投入商业应用之际,我国的科研工作者已然悄然斩获了三项世界纪录?于此同时,全球范围内的人工智能领域的大型企业正大肆投入资金用于提升算力,进而直接促使光模块市场变得异常火爆。这背后所蕴含的不仅仅是技术层面的突…...
YOLO-v8.3零售行业应用:货架商品识别,库存管理自动化
YOLO-v8.3零售行业应用:货架商品识别,库存管理自动化 1. 零售行业痛点与解决方案 零售行业每天面临数以万计的商品需要管理,传统的人工盘点方式不仅耗时耗力,还容易出现误差。根据行业统计,一家中型超市每月因库存不…...
国标参考文献高效排版解决方案:零门槛工具助你轻松应对学术写作
国标参考文献高效排版解决方案:零门槛工具助你轻松应对学术写作 【免费下载链接】gbt7714-bibtex-style GB/T 7714-2015 BibTeX Style 项目地址: https://gitcode.com/gh_mirrors/gb/gbt7714-bibtex-style 1. 解决国标排版痛点的3个核心优势 学术写作中&…...
