Я получаю сообщение об ошибке времени компиляции, недопустимый тип модуля Windows (VBA, макросы). (CATIA V5) - PullRequest
0 голосов
/ 22 октября 2018

Я изучаю 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

Я получаю такие ошибки и с другими коллекциями, некоторые из них работают всякий раз, когда я создаю новую библиотеку проектов, но эта не исчезает

Я пытался найти ответ на многих форумах, и даже здесь у нас есть похожие темы, но я не получил ответа на свой вопрос

Ответы [ 2 ]

0 голосов
/ 22 октября 2018

Возможно, у вас есть другой тип объекта "Windows" в ваших ссылках, что делает определение неоднозначным.

Попробуйте это:

     Dim wx as INFITF.Windows

Лично я обычно не задаюсь определением переменных для свойств коллекции.Например, я бы просто использовал «CATIA.Windows» всякий раз, когда мне нужно было ссылаться на коллекцию окон.

Кроме того, если у вас установлено несколько версий CATIA или вы недавно удалили версию, возможно, зарегистрирована неправильная версия библиотек.Это приведет к ошибкам, которые вы видите.

Так что, если у вас есть несколько версий (или вы недавно удалили), запустите "CNext.exe -regserver" из папки exe той версии, которую вы хотите использовать.

0 голосов
/ 22 октября 2018

@ Jeeped ваше предложение решило мою проблему, разместив его здесь в качестве ответа только для того, чтобы закрыть эту проблему.Спасибо!

Dim currentWindow As Object
Set currentWindow = CATIA.Windows
...