VBA用户控件
窗体相关
1.显示窗体
UserForm1.show [vbModeless]
vbModeless 可选参数,参数设定后,变成无模式窗体。窗体保持显示状态,仍可操作Excel文件。
UserForms.add("UserForm1").show
2.加载窗体
Load UserForm1
窗体保存在内存中,并不显示。窗体比较复杂时,可使用。
3.卸载窗体
Unload UserForm1
4.隐藏窗体
UserForm1.Hide
5.与显示和卸载窗体相关的事件
Initialize: 窗体初始化,发生在窗体加载和显示之前,但是,如果之前窗体隐藏状态,就不会发生此事件。
Activate: 显示窗体时发生的事件。
Deactivate: 窗体处于非活动状态时发生的事件,但是如果隐藏了窗体,就不会发生此事件。
QueryClose: 卸载窗体前发生事件。
Terminate: 卸载窗体后发生事件。
6.没有标题栏的窗体
Dim lngWindow as Long, lFrmHdl as Long
lFrmHdl = FindWindowA(vbNullSting, Me.Caption)
lngWindow = GetWindowLong(lFrmHdl, GWL_STYLE)
lngWindow = lngWindow And (Not WS_CAPTION)
Call SetWindowLong(lFrmHdl, GWL_STYLE, lngWindow)
Call DrawMenuBar(lFrmHdl)
GetWindowLong, SetWindowLong,DrawMenuBar和FindWindowA是4个API函数
列表控件
1.添加列表项目
ListBox1.AddItem "Column1"
ListBox1.AddItem "Column2"
ListBox1.RowSource = "Ranges"
Ranges: 制定某个单元格或区域
2.列表索引
ListBox1.ListIndex
3.复选项目
MultiSelect = 0,1,2
0: 单选
1: 空格键或单击鼠标,可以选中或取消列表框某个条目
2: Shift键多选
1或2的场合,ListBox1.Selected(n),ListBox1.List(n)取得选中项目。
-1: 未选中列表中项目
图片控件相关
1.图片的凸起效果
Image1.SpecialEffect = fmSpecialEffectRaised
取消凸起效果
Image1.SpecialEffect = fmSpecialEffectFlat
Shape相关
1.Shape文本框做成
Set A_Shape = Sheet1.Shapes.AddShape(msoShapeFlowchartDecision,left,top,10,30)
A_Shape.Name = "First"
A_Shape.TextFrame.Charaters.Text = "First"
2.Shape读取文本
Dim B_Shape as Shape
For each B_Shape in Sheet1.Shapes
' 方法1
sTemp = B_Shape.TextFrame.Characters.Text
' 方法2
sTemp = B_Shape.OLEFormat.Object.Text
Next
3.Shape写入文本
Sheet1.Shapes("Rectangle 1").Select
Selection.Characters.Text = "Second"
Next
VBA用户控件的更多相关文章
- C# 自定义控件VS用户控件
1 自定义控件与用户控件区别 WinForm中, 用户控件(User Control):继承自 UserControl,主要用于开发 Container 控件,Container控件可以添加其他Con ...
- .net 用户控件ascx.cs注册js脚本代码无效果
在.net web项目中碰到一个比较奇怪的问题,网上没找到解决方案,先自己mark一下 问题描述: 添加一个用户控件ascx,在后端.cs添加js注册脚本,执行后没有弹出框 注册脚本为: this.P ...
- winform 用户控件、 动态创建添加控件、timer控件、控件联动
用户控件: 相当于自定义的一个panel 里面可以放各种其他控件,并可以在后台一下调用整个此自定义控件. 使用方法:在项目上右键.添加.用户控件,之后用户控件的编辑与普通容器控件类似.如果要在后台往窗 ...
- C#窗体程序【用户控件-窗体】委托事件
这里的自定义控件是由普通控件组合而成的.希望事件响应代码推迟到使用自定义控件的窗体里写.步骤一:新建一个用户控件,放两个按钮,Tag分别是btn1,btn2.这两个按钮的共用单击事件处理代码如下: u ...
- WinForm用户控件、动态创建添加控件、timer控件--2016年12月12日
好文要顶 关注我 收藏该文 徐淳 关注 - 1 粉丝 - 3 0 0 用户控件: 通过布局将多个控件整合为一个控件,根据自己的需要进行修改,可对用户控件内的所有控件及控件属性进行修 ...
- wpf的UserControl用户控件怎么添加到Window窗体中
转载自 http://www.cnblogs.com/shuang121/archive/2013/01/09/2853591.html 我们来新建一个用户控件UserControl1.xaml &l ...
- winfrom获取用户控件里的控件对象
如何获取用户控件里的控件对象呢,其实思路也是很简单的, 比如有一个panel 用户控件 里面有许多的其他控件. 那么要找出一个Label控件怎么找呢,好的.现在我们就开始 首先,一个foreach循环 ...
- winform用户控件、动态创建添加控件、timer控件、控件联动
用户控件: 相当于自定义的一个panel 里面可以放各种其他控件,并可以在后台一下调用整个此自定义控件. 使用方法:在项目上右键.添加.用户控件,之后用户控件的编辑与普通容器控件类似.如果要在后台往窗 ...
- 039. asp.netWeb用户控件之七实现具有虚拟键盘的功能的用户控件
用户控件ascx代码: <%@ Control Language="C#" AutoEventWireup="true" CodeFile="K ...
随机推荐
- Android启动标记
1. Task是包含一系列Activity的堆栈, 遵循先进后出原则. 2. Task默认行为: (1) 前提: Activity A和Activity B在同一个应用中. 操作: Activity ...
- redis高可用分布式集群
一,高可用 高可用(High Availability),是当一台服务器停止服务后,对于业务及用户毫无影响. 停止服务的原因可能由于网卡.路由器.机房.CPU负载过高.内存溢出.自然灾害等不可预期的原 ...
- JS 取得一个区间的随机整数
function rnd(n, m){ var random = Math.floor(Math.random()*(m-n+1)+n); return random; ...
- 【转载】new和malloc的区别
本篇随笔为转载,原贴地址:C++中new和malloc的十点区别. 前言 几个星期前去面试C++研发的实习岗位,面试官问了个问题: new与malloc有什么区别? 这是个老生常谈的问题.当时我回答n ...
- JS实现关闭当前子窗口,刷新父窗口
一.JS实现关闭当前子窗口,刷新父窗口 JS代码如下: <script> function refreshParent() { window.opener.location.href = ...
- Waitforsingleobject 函数的用法
用户模式的线程同步机制效率高,如果需要考虑线程同步问题,应该首先考虑用户模式的线程同步方法. 但是,用户模式的线程同步有限制,对于多个进程之间的线程同步,用户模式的线程同步方法无能为力.这时,只能考虑 ...
- wp中TextBox在中文输入法下清空问题
如图,在中文输入法下我希望点击“X”,然后把TextBox清空,一般来说,直接用TextBox.Text = "";或者TextBox.Text = String.Empty;就可 ...
- ngx.lua中遇到的小问题2
用lua+drizzle在数据库中插入数据失败(不能访问数据库) 后面发现原来是nginx配置文件中的drizzle模块部分最后多了一行 content_by_lua 'ngx.say(" ...
- [delphi]运行cmd命令,并取得输出字符
http://blog.csdn.net/nerdy/article/details/8969189 [delphi]运行cmd命令,并取得输出字符 标签: delphiCMD命令 2013-05- ...
- 邮箱验证 各种邮箱的smtp
常见邮箱的SMTP设置 QQ 邮箱举例:(地址test@qq.com)(账号test)(密码***)(SMTP服务smtp.qq.com)(端口25)(注意:请手动开通SMTP功能,通过网页登录qq邮 ...