Vytisknout stránku | Zavřít okno

Chyba pri VBA

Vytištěno z: CAD Fórum
Kategorie: Autodesk - stavebnictví, strojírenství, CAD/GIS
Název fóra: Inventor
Popis fóra: Otázky k programům Autodesk Inventor, Inventor Professional a Inventor LT, Product Design Collection a Suite, Factory Design Suite; a digitální prototypy
URL: https://www.cadforum.cz/forum/forum_posts.asp?TID=20776
Datum vytištění: 24.dub.2026 v 05:29


Téma: Chyba pri VBA
Odeslal: mimo0912
Předmět: Chyba pri VBA
Datum odeslání: 26.úno.2015 v 21:39
Pozdravujem,

potreboval by som pomôcť s kódom VBA:
       .
       .
       .
        Dim oInventorApp As Inventor.Application
        Set oInventorApp = GetObject(, "Inventor.Application")
       
        oInventorApp.Documents.Open ("D:\Skuska.ipt")
  
        Dim oPartDocument As PartDocument
        Set oPartDocument = oInventorApp.ActiveDocument na tomto riadku hlási chybu
  
        Dim oParameters As Inventor.Parameters
        Set oParameters = oPartDocument.ComponentDefinition.Parameters
        .
        .
        .

Chybové hlásenie

 Run-time error '13': Type mismatch

Neviem či to má vplyv, ale kód bol vytvorený v Exceli a zapisuje parametre do Inv2014.
Spustil som ho s Inv2015 a naskočila táto hláška. Migroval som súbor do Inv2015 a kód fungoval.
No po zatvorení Inventora a následnom spustení je tu opäť táto hláška a neviem kde je chyba.
Ďakujem za každú radu.





Odpovědi:
Odeslal: Navara
Datum odeslání: 27.úno.2015 v 00:44
Příčin může být víc, ale tahle úprava by to mohlo spravit. Nejspíš jde o to, že ten otevíraný dokument nemusí být současně ten aktivní.
 
Dim oInventorApp As Inventor.Application
Set oInventorApp = GetObject(, "Inventor.Application")
 
Dim oPartDocument As PartDocument
Set oPartDocument = oInventorApp.Documents.Open("C:\Temp\Part.ipt")
   
Dim oParameters As Inventor.Parameters
Set oParameters = oPartDocument.ComponentDefinition.Parameters
 
 


Odeslal: mimo0912
Datum odeslání: 02.bře.2015 v 17:28
To, že dokument nie je aktívny, to by som výlučil. V Inventori je jediný otvorený dokument, ktorý otváram príkazom oInventorApp.Documents.Open ("D:\Skuska.ipt").

Ale trochu som skúšal a 

Dim oPartDocument As PartDocument

som nahradil

Dim oPartDocument As Inventor.Document

a začalo to behať.

S VBA len začínam a neviem či tieto dve rôzne deklarácie premenných môžno zameniť.



Vytisknout stránku | Zavřít okno