striver 发表于 2004-7-14 15:54:00

VBA的对话框问题

在VBA中设定对话框时,为什么我的commondialog总是说"无法创建控件,因为它未经正确授权."?






                                       在买的那本书《AutoCAD VBA开发精彩实例教程》里的例子中,却可以添加,到底是怎么回事?怎么解决?

















谢谢!!!

小美菜 发表于 2004-7-14 22:11:00

需要引用commondialog控件

striver 发表于 2004-7-16 08:06:00

我已经在控件列表中选中了commondialog控件,工具箱里也就有了这个按钮。



但是向窗口添加的时候出现那个“无法创建,未经授权”的对话框。

striver 发表于 2004-7-20 10:44:00

版主zfbj给我发信(谢谢!好感动……),有下面的解决方法:


        (1)安装Vb6.0


(2)手工注册控件。


使用ActiveX控件可快速实现小型的组件重用、代码共享,从而提高编程效率,降低开发成本。<BR>但是ActiveX控件对于最终用户并不能直接使用,因为ActiveX控件必须先在Windows中注册。<BR>注册ActiveX控件一般来说有六种途径,它们有各自的优点,运用范围也不同。


  Regsvr32.exe注册


<BR>  Regsvr32.exe位于Windows目录的system子目录下。点击Windows的“开始→运行”菜单,<BR>在对话框中输入以下命令:


  regsvr32 netshare.ocx &amp;&amp;注册netshare.ocx控件


  regsvr32 /u netshare.ocx &amp;&amp;解除netshare.ocx控件的注册


  如果netshare.ocx文件不在system目录时,还必须在文件名前加上完整的路径。<BR>除了regsvr32应用程序之外,Microsoft在它的Web站点上还提供了一个称为regclean.exe的程序,<BR>可以检查注册表并去掉丢失的组件在注册表中的条目。regclean.exe除了可以删除“悬挂”的条目,<BR>它还提供一个“undo”文件帮助恢复错误的删除。

striver 发表于 2004-7-20 10:48:00

本帖最后由 作者 于 2004-7-20 12:44:45 编辑

我电脑装的是2000操作系统,在winnt下system32文件夹下找到了Regsvr32.exe,但是找不到netshare.ocx,在硬盘上搜索也搜不到。



运行那个命令regsvr32 netshare.ocx,就出来下面这个对话框:LoadLibrary("netshare.ocx") failed-The specified module could not be found。还是不能用。


又运行regsvr32 comdlg32.ocx,说DllRegister in comdlg32.ocx succeeded.但是在CAD的VBA里还是那个问题。


郁闷……可不可以不用装VB啊?书上的那个例子怎么就行呢?

雪山飞狐_lzh 发表于 2004-7-20 15:53:00

看看下面的链接,要引用CommonDialog类<A href="http://www.mjtd.com/mcdown/list.asp?id=83" target="_blank" >http://www.mjtd.com/mcdown/list.asp?id=83</A>


<BR><A href="http://www.vba.cn/a2/list.asp?id=356" target="_blank" >http://www.vba.cn/a2/list.asp?id=356</A><BR>

striver 发表于 2004-7-26 13:47:00

大家谁遇到过这种问题的?帮帮忙。

雪山飞狐_lzh 发表于 2004-7-26 14:11:00

striver发表于2004-7-26 13:47:00static/image/common/back.gif大家谁遇到过这种问题的?帮帮忙。

<BR>那你把6楼的链接看了么?

slsldu 发表于 2004-7-26 14:32:00

页: [1]
查看完整版本: VBA的对话框问题