Vb6并设置acadApp=GetObject(,“AutoCAD.Application”)
大家好,很多年前,我用VB6编写了一个应用程序,并编译了一个EXE文件它运行得很好,在BricsCAD中仍然有效
然而,在AutoCAD 2016和Windows 7 64位中,它不起作用
我觉得问题出在64位窗口上
不幸的是我';我对VB6非常生疏,因为他们已经多年没有使用这种编程语言了。这是我写的代码:
If UserForm7.Option1.Value = True Then
'AutoCAD FULL
MsgBox "AutoCAD"
Set acadApp = GetObject(, "AutoCAD.Application")
Else
'BricsCAD
MsgBox "BricsCAD"
Set acadApp = GetObject(, "BricscadApp.AcadApplication")
End If
acadApp.Visible = True
Dim acadDoc As Object
Set acadDoc = acadApp.ActiveDocument
ReturnPnt = acadDoc.Utility.getpoint(, "Point base: ")
有什么方法可以使其在AutoCAD Is Windows 7(64位)中工作吗??
你能用这个代替吗
Set acadApp = ThisDrawing.Application @罗伊,不,不会的;t工作
是的,Win7是64位的,但更重要的是,acad 2016是64位。它还使用VBA7(需要安装它才能响应代码)。如果在提示下键入VBAMAN,将出现一个错误对话框,其中包含下载vba安装的链接。您还需要升级Visual Studio。有免费版本,所以有#039;没有必要继续使用VB6。 也许,我已经找到了一个解决方案,并且没有安装VBA
应用程序实际上是用VB6编写的,没有VBA
如果解I';我发现它工作正常,超过了上次测试I#039;我会回来拿回来的 可能acad cad在未安装vba的情况下响应COM调用。我没有#039;t试过了。但您可能仍然需要更新版本的VB。 由于您运行独立的EXE以将AutoCAD作为进程外实例进行自动化,因此您的应用程序是否为32位EXE应用程序以及AutoCAD(2016)是否为64位应用程序都不重要。但是,您显示的代码按原样在VB6应用程序中使用,仅当AutoCAD(或BricsCAD)已在同一台计算机中运行(即,必须存在正在运行的AcadaApplication实例)时,它才起作用。否则,代码将在此行引发异常。Visible=True,并使您的EXE应用程序崩溃。 我在第一条消息中输入的代码是正确的
我在其他电脑上做了一些测试,工作正常
但是,如果在PC中安装了AutoCAD和BricsCAD,则代码请求必须指定AutoCAD版本。例如Set acadApp = GetObject(, "AutoCAD.Application.20.1")
PS。无需安装VBA! 尝试:以管理员身份运行 大家好,这些链接最终帮助我解决了这个问题。确保设置CLSID和AutoCAD.Application。21(数字)到相应的AutoCAD版本(此版本适用于AutoCAD 2017)。在注册表中查找。它甚至可以在Windows 10上与visual basic 5和64位AutoCAD 2017配合使用https://stackoverflow.com/questions/40656440/vb6-program-interacting-with-autocad-is-not-longer-able-to-create-or-bind-to-thttps://stackoverflow.com/questions/9125424/late-binding-run-time-error-in-vb6-when-creating-an-object-from-a-net-assembly
Windows Registry Editor Version 5.00
@="AutoCAD Application 21"
@="{0D327DA6-B4DF-4842-B833-2CFF84F0948F}"
@="AutoCAD Application"
@="{0D327DA6-B4DF-4842-B833-2CFF84F0948F}"
@="AutoCAD.Application.21"
@="{0D327DA6-B4DF-4842-B833-2CFF84F0948F}"
@="AutoCAD Application"
@="{0D327DA6-B4DF-4842-B833-2CFF84F0948F}"
@="AutoCAD.Application.21"
页:
[1]