我收到编译时错误,Windows 模块不是有效类型(VBA,宏)。(CATIA V5)

I am getting a Compile time error ,Windows module is not valid type (VBA,Macros).(CATIA V5)

我正在学习 VBA 使用 CATIA 脚本(宏)。我的代码看起来像这样

Sub CATMain()
  Dim oPart1 As Document
  Set oPart1 = CATIA.ActiveDocument
  Dim currentWindow As Windows 'I am getting an error here 
  Set currentWindow = CATIA.Windows
  Dim openWind As Integer
  openWind = currentWindow.Count
End Sub

我在其他集合中也遇到了这种错误,其中一些在我创建新项目库时有效,但这个错误不会消失

我试图在许多论坛上找到答案,甚至在这里我们有一些类似的主题,但我没有得到我的问题的答案

@Jeeped 你的建议解决了我的问题, 将它作为答案发布在这里只是为了关闭这个问题。谢谢!

Dim currentWindow As Object
Set currentWindow = CATIA.Windows

也许您的引用中还有另一个 "Windows" 对象类型,这使得定义不明确。

试试这个:

     Dim wx as INFITF.Windows

就我个人而言,我通常不会费心为集合属性定义变量。例如,只要我需要引用 windows 的集合,我就会使用 "CATIA.Windows"。

此外,如果您安装了多个版本的 CATIA,或者最近卸载了一个版本,则可能是注册了错误版本的库。这将导致您所看到的错误。

因此,如果您有多个版本(或最近已卸载)运行 "CNext.exe -regserver",请从您要使用的版本的 exe 文件夹中。