2016-09-06 106 views
1

我是新手,當涉及到CATIA時,但我對excel中的VBA有相當多的經驗。我正在嘗試開發一個通過catia組件中的所有部件的excel宏,並通過將文本拼接到我想要的位置來重命名它們,然後對它們重新排序(字母數字升序)。我相信我可以爲實際拼接,重命名,重新排序位編寫算法。我所苦苦掙扎的實際上是使用excel來操作Catia。互聯網上沒有很多信息。我已經勾選了以CATIA開頭的參考資料部分中的所有框。我寫到目前爲止:Excel vba修改Catia v5模型屬性

Dim CATIA as object 
Set CATIA = Getobject(,"CATIA.Application") 
Dim oMyDoc as Document 
Dim oCurrentProd as Product 'I assume the individual parts within CATIA are_ 
           referenced as products? 
Set oMyDoc = CATIA.ActiveDocument 

如果我試着運行上面的代碼,我得到一個錯誤,說'類不支持自動化'。這意味着我的基本知識是錯誤的。希望能對此提供幫助,以及能夠幫助我完成任務的任何其他信息。謝謝。

+0

試着用'昏暗oMyDoc「作爲文件'和'Dim oCurrentProd'as Product' –

回答

0

在VBA中從CATIA運行代碼時,某些對象在正確輸入時會出錯。嘗試聲明那些沒有類型或變體的對象。

Dim CATIA as 'object 
Set CATIA = Getobject(,"CATIA.Application") 
Dim oMyDoc as 'Document 
Dim oCurrentProd as 'Product 
Set oMyDoc = CATIA.ActiveDocument 

Dim CATIA as variant 
Set CATIA = Getobject(,"CATIA.Application") 
Dim oMyDoc as variant 
Dim oCurrentProd as variant 
Set oMyDoc = CATIA.ActiveDocument 

我建議你先聲明它們的類型正確,所以你可以看到該對象的方法和屬性,並隨後將其更改爲變體