VBA用户控件

本文详细介绍了VBA中窗体的各种操作方法,包括显示、加载、卸载及隐藏窗体等,并深入探讨了窗体事件的触发条件。此外,还讲解了列表控件的使用技巧,如添加列表项、设置列表索引和复选项目等。最后,对图片控件和Shape控件的相关操作进行了说明。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

窗体相关

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

转载于:https://www.cnblogs.com/liangx85/p/3527793.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值