Zobrazit plnou verzi příspěvku: Chyba pri VBA

mimo0912
26.02.2015, 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 mismatchNeviem č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.

Navara
27.02.2015, 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í. [code]Dim oInventorApp As Inventor.ApplicationSet oInventorApp = GetObject(, "Inventor.Application") Dim oPartDocument As PartDocumentSet oPartDocument = oInventorApp.Documents.Open("C:\Temp\Part.ipt")    Dim oParameters As Inventor.ParametersSet oParameters = oPartDocument.ComponentDefinition.Parameters[/code]  

mimo0912
02.03.2015, 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 PartDocumentsom nahradilDim oPartDocument As Inventor.Documenta začalo to behať.S VBA len začínam a neviem či tieto dve rôzne deklarácie premenných môžno zameniť.