如何在Excel中使用DriveListBox等控件
编号:QA000935
建立日期: 1999年5月6日 最后修改日期:1999年5月6日
所属类别:
jalapeno:
我在使用VBA时发现"控件工具箱"中的控件太少,连DriveListBox、DirListBox、FileListBox这样的控件都没有,使用"附加控件"也没有找到这些控件,应怎样添加这些控件?
回答:
你所说的几个控件都是VB的内置控件,它们不是ActiveX控件,所以你不能在"附加控件"找到。既然你对VB 5.0很熟悉,完全可以利用VB 5.0编写ActiveX控件,然后在VBA中加以调用。
首先启动VB 5.0,在New Project窗口中选择ActiveX Control。这时你的工程文件中将包括一个UserControl1。在Project菜单下选择Project1 Properties修改工程的名字为MyFileControl。然后在UserContronl1上放置一个标准的VB的FileListBox,然后选择Add-ins菜单中的ActiveX Control Interface Wizard。如果你的Add-ins菜单中没有这项,你需要在Add-ins菜单的Add-ins Manager中加上这项。这个Wizard是用来向你控件中加入属性、方法和事件的。在第一步你要决定加入哪些属性、方法和事件,你可以在左边的列表框中选择所有标准的属性、方法和事件,加入到右边列表框中。一些FileListBox的核心属性、事件,象Path、PathChange、Pattern当然不能缺少。第二步,你可以加入自己的属性,如果没什么属性可以加的,就跳过这一步。第三步是建立你的控件的属性和File1之间的关联(下图),这一步你只要将File1的属性、事件与你的控件的相同名字的属性、事件关联起来就行了。然后,一直继续下去直至结束。最后,在UserControl_Resize事件中加入如下代码。
Private Sub UserControl_Resize()
File1.Width = UserControl.Width
File1.Height = UserControl.Height
File1.Move 0, 0
End Sub
至此,一个FileListBox控件就制作好了,编译生成.ocx文件。在使用VBA时在"控件工具箱"中加入MyFileControl控件,你就可以使用自己的文件框了。类似的,你还可以处理VB的其它控件。
此问题由李海回答。
| |
|
|
| |
|
|