Hot News:

Unser Angebot:

  Foren auf CAD.de (alle Foren)
  AutoCAD VBA
  VBA-Tool Fehlermeldung bei Wechsel von MDT 2006 auf MDT 2008

Antwort erstellen  Neues Thema erstellen
CAD.de Login | Logout | Profil | Profil bearbeiten | Registrieren | Voreinstellungen | Hilfe | Suchen

Anzeige:

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen nächster neuer Beitrag | nächster älterer Beitrag
  
Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte
Autor Thema:  VBA-Tool Fehlermeldung bei Wechsel von MDT 2006 auf MDT 2008 (695 mal gelesen)
Manfred Zirk
Mitglied



Sehen Sie sich das Profil von Manfred Zirk an!   Senden Sie eine Private Message an Manfred Zirk  Schreiben Sie einen Gästebucheintrag für Manfred Zirk

Beiträge: 513
Registriert: 01.11.2002

IV10 SP3 MDT2006 SP2 WIN XP SP2
Asus A8N-SLI, AMD Opteron 180 , 4GB,
Quadro FX 3400 PCIE

erstellt am: 12. Aug. 2007 10:04    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo Leute,

ich nutze beim MDTMechanical Desktop ein altes VBA-Tool, mit dem Attribute vom MDTMechanical Desktop-Parts in Schriftfelder kopiert werden können.
Seit dem Wechsel auf 2008 funktioniert das Tool nicht mehr und produziert folgenden Fehler:

Die Fehlermeldung lautet
"13" "Typen unverträglich"

Leider habe ich von VBA keine Ahnung.
Folgende Teil der Routine produziert den Fehler:

    Dim oMcad As McadApplication
    Dim oSymbb As McadSymbolBBMgr
    Dim oBomMgr As McadBOMMgr
    Dim oBomStd As McadBOMStandard
    Dim oTarget As AcadBlock
    Dim oRootDef As McadComponentDefinition
    Dim oBomColumns As McadColumnDefinitions
    Dim oBom As McadBOM
    Dim oBomItems As McadBOMItems
    Dim oBomItem As McadBOMItem
    Dim vBomData As Variant
    Dim iRow As Integer
    Dim sItemName, sColumnName As String
    Dim sAttrib, sData As String
    Dim sBlockName As String
    Dim sAllatts As String
    Dim sBothAtts As String
    Dim sPatt As String
    Dim sBatt As String
    Dim ssP As AcadSelectionSet, fType(1) As Integer, fData(1)
    Dim blkRef As AcadBlockReference, atts As Variant, i As Long
   
   
    Set oMcad = ThisDrawing.Application.GetInterfaceObject("Mcad.Application")
   
    Set oSymbb = ThisDrawing.Application.GetInterfaceObject("SymBBAuto.McadSymbolBBMgr")
    Set oBomMgr = oSymbb.bommgr
    Set oBomStd = oSymbb.StandardMgr.CurrentStandard.BOMStandard
    Set oTarget = ThisDrawing.ModelSpace
    Set oRootDef = oMcad.ActiveDocument.AssemblyMgr.RootDefinition <<< hier tritt der Fehler auf

Kann mir jemand helfen, das Programm wieder zum Laufen zu bekommen.

Grüße

Manfred


 

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Stelli1
Moderator
Verm.-Ing.


Sehen Sie sich das Profil von Stelli1 an!   Senden Sie eine Private Message an Stelli1  Schreiben Sie einen Gästebucheintrag für Stelli1

Beiträge: 1521
Registriert: 17.08.2005

Map 2000-2014, Rasterdesign,
MapGuide, Autodesk Topobase,
VS6, VS.net 2013

erstellt am: 14. Aug. 2007 12:14    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Manfred Zirk 10 Unities + Antwort hilfreich

Hallo Manfred,

hab leider kein MDT und kann daher den Fehler nicht richtig nachvollziehen.

Zitat:
Dim oRootDef As McadComponentDefinition
...
Set oRootDef = oMcad.ActiveDocument.AssemblyMgr.RootDefinition <<< hier tritt der Fehler auf
...

Schau doch mal im Objektbrowser (F2) was es für einen Rückgabetyp sein soll.
Alternativ kannst du mal versuchen oRootDef as OBJECT zu deklarieren.

Wilfried Stelberg

------------------
Warum lisp'eln wenn's auch anders geht.
www.ib-stelberg.de

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP



Elektroniker für Betriebstechnik (m/w/d)

RUDOLF GROUP ist ein erfolgreiches und wachsendes, mittelständisches Chemieunternehmen mit internationaler Struktur. Die weltweit operierende Unternehmensgruppe mit über 1.700 Mitarbeitern in über 20 Auslandsgesellschaften und ca. 30 Vertretungen ist als innovativer und vertrauensvoller Partner für nachhaltige chemische Lösungen und kundenspezifischen Service in der Textil- und Bauindustrie bekannt....

Anzeige ansehenElektrotechnik, Elektronik
Manfred Zirk
Mitglied



Sehen Sie sich das Profil von Manfred Zirk an!   Senden Sie eine Private Message an Manfred Zirk  Schreiben Sie einen Gästebucheintrag für Manfred Zirk

Beiträge: 513
Registriert: 01.11.2002

IV10 SP3 MDT2006 SP2 WIN XP SP2
Asus A8N-SLI, AMD Opteron 180 , 4GB,
Quadro FX 3400 PCIE

erstellt am: 14. Aug. 2007 13:40    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo Wilfried,

Danke für den Hinweis, werde ich probieren.
Habe das Problem gestern gelöst, in dem ich als Datentyp Variant verwendet habe.

Grüße

Manfred

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Anzeige.:

Anzeige: (Infos zum Werbeplatz >>)

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen

nächster neuerer Beitrag | nächster älterer Beitrag
Antwort erstellen


Diesen Beitrag mit Lesezeichen versehen ... | Nach anderen Beiträgen suchen | CAD.de-Newsletter

Administrative Optionen: Beitrag schliessen | Archivieren/Bewegen | Beitrag melden!

Fragen und Anregungen: Kritik-Forum | Neues aus der Community: Community-Forum

(c)2023 CAD.de | Impressum | Datenschutz