liangx85

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

posted on 2014-01-22 09:44  liangx85  阅读(1009)  评论(0编辑  收藏  举报

导航