Autor
|
Thema: CATVBA Form und Module exportieren (4812 mal gelesen)
|
GeorgK Mitglied
Beiträge: 619 Registriert: 06.06.2001 Inventor 2017 Siemens NX 8.5 - 12.0 Autocad Mechanical 2017 Catia V5R19 3,4 GHz; 64 GB RAM Windows 10 openSUSE Leap 42.3 Visual Studio 2010 - 2017 Windows 2012 R2 Vault 2017
|
erstellt am: 01. Jul. 2010 17:39 <-- editieren / zitieren --> Unities abgeben:
|
HoBLila Mitglied Dipl.-Ing. (BA) praktische Informatik - Senior Entwickler CAx
Beiträge: 1118 Registriert: 29.05.2008 DELL PRECISION T3500 Intel(R) Xeon(R) CPU W3540 @ 2.93GHz 12285 MB RAM NVIDIA Quadro FX 1800 Microsoft Windows 7 Enterprise Service Pack 1 CATIA V5 R19 SP09 HF69 VB6.5 CAA RADE CDC
|
erstellt am: 01. Jul. 2010 18:06 <-- editieren / zitieren --> Unities abgeben: Nur für GeorgK
Das Beispeil sieht gut aus und sollte auch funktionieren. Hast Du es schon ausprobiert? Generell ist der CATVBA-Editor nichts anderes als der VBA-Editor aus Word und Excel. Was dort geht, geht eigentlich auch im CATVBA. ------------------ Mit freundlichen Grüßen, Henry Schneider alias Lila Es gibt einen ewigen Wettkampf zwischen der Natur und den Ingenieuren: Die Ingenieure versuchen, immer idioten-sicherere Systeme zu bauen, die Natur versucht, immer bessere Idioten zu bauen Xing Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
GeorgK Mitglied
Beiträge: 619 Registriert: 06.06.2001
|
erstellt am: 01. Jul. 2010 19:10 <-- editieren / zitieren --> Unities abgeben:
|
bgrittmann Moderator Konstrukteur
Beiträge: 11780 Registriert: 30.11.2006 CATIA V5R19
|
erstellt am: 01. Jul. 2010 21:27 <-- editieren / zitieren --> Unities abgeben: Nur für GeorgK
Servus Den Hinweis: Zitat: Wichtig: Damit auf die Projekte und Module zugegriffen werden kann, muss in der IDE ein Verweis (Extras/Verweise) auf die Microsoft Visual Basic for Applications Extensibility 5.3gesetzt sein!
hast du beachten? (ich hab es nicht getestet) Gruß Bernd ------------------ Warum einfach, wenn es auch kompliziert geht. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
GeorgK Mitglied
Beiträge: 619 Registriert: 06.06.2001
|
erstellt am: 02. Jul. 2010 12:41 <-- editieren / zitieren --> Unities abgeben:
|
HoBLila Mitglied Dipl.-Ing. (BA) praktische Informatik - Senior Entwickler CAx
Beiträge: 1118 Registriert: 29.05.2008 DELL PRECISION T3500 Intel(R) Xeon(R) CPU W3540 @ 2.93GHz 12285 MB RAM NVIDIA Quadro FX 1800 Microsoft Windows 7 Enterprise Service Pack 1 CATIA V5 R19 SP09 HF69 VB6.5 CAA RADE CDC
|
erstellt am: 05. Jul. 2010 15:07 <-- editieren / zitieren --> Unities abgeben: Nur für GeorgK
Es wäre eine Hilfe gewesen, wenn Du uns die Fehlermeldung genannt hättest. VBE.VBProjects funktioniert nicht, da das Application-Object CATIA ist. Eine Lösung dafür habe ich auf die Schnelle leider nicht. ------------------ Mit freundlichen Grüßen, Henry Schneider alias Lila Es gibt einen ewigen Wettkampf zwischen der Natur und den Ingenieuren: Die Ingenieure versuchen, immer idioten-sicherere Systeme zu bauen, die Natur versucht, immer bessere Idioten zu bauen Xing Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
bgrittmann Moderator Konstrukteur
Beiträge: 11780 Registriert: 30.11.2006 CATIA V5R19
|
erstellt am: 06. Jul. 2010 08:11 <-- editieren / zitieren --> Unities abgeben: Nur für GeorgK
Servus Mit einer Ergänzung aus diesem Beitrag läuft bei mir der Export durch. Die Abfrage des Zielordners muss noch angpasst werden. Code: ' Damit auf die Projekte und Module zugegriffen werden kann, ' muss in der IDE ein Verweis (Extras/Verweise) auf die ' "Microsoft Visual Basic for Applications Extensibility 5.3" ' gesetzt sein!Sub ExportMacros() Dim myComponent As VBComponent Dim oAPC As New MSAPC.Apc Dim myProject As VBIDE.VBProject Dim strFile() As String Dim strOrdner As String Dim strNames As String Dim strProj As String, strProjOrdner As String Dim strMSG As String ' Ordner auswählen strOrdner = "C:" 'strOrdner = GetFolderInternal("Ordner auswählen", "C:\") ' Alle Projekte durchlaufen For Each myProject In oAPC.VBE.VBProjects ' Nur ungeschützte berücksichtigen If myProject.Protection = vbext_pp_none Then On Error Resume Next If myProject.VBComponents.Count > 1 Then strFile() = Split(myProject.filename, "\") strNames = strFile(UBound(strFile())) strNames = Replace(strNames, ".dot", "") If Len(Dir(strOrdner & "\" & strNames, vbDirectory)) = 0 Then MkDir strOrdner & "\" & strNames End If strProjOrdner = strOrdner & "\" & strNames On Error GoTo 0 ' Alle Module durchlaufen strProj = "" For Each myComponent In myProject.VBComponents With myComponent strProj = strProj & .name & vbCr ' Modul-Typ ermitteln und mit richtiger Endung exportieren If .Type = vbext_ct_StdModule Then .Export strOrdner & "\" & strNames & "\" & .name & ".bas" ElseIf .Type = vbext_ct_ClassModule Then .Export strOrdner & "\" & strNames & "\" & .name & ".cls" ElseIf .Type = vbext_ct_MSForm Then .Export strOrdner & "\" & strNames & "\" & .name & ".frm" ElseIf .Type = vbext_ct_Document Then .Export strOrdner & "\" & strNames & "\" & .name & ".cls" End If End With Next myComponent strMSG = strMSG & strProjOrdner & ":" & vbCrLf & strProj & vbCrLf End If End If Next myProject MsgBox "Es wurden alle Module aus folgenden Vorlagen exportiert: " & vbCrLf & strMSG, _ vbInformation, "Module exportieren" End Sub
Gruß Bernd------------------ Warum einfach, wenn es auch kompliziert geht. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
zoltan.bekesi Mitglied
Beiträge: 321 Registriert: 22.10.2006 Job: CATIA V5R19 / XP 32bit MS Office 2003 Microstation V8 2004 Edition DELL Precision M6300
|
erstellt am: 06. Jul. 2010 18:35 <-- editieren / zitieren --> Unities abgeben: Nur für GeorgK
Hallo Bernd, herzlichen Dank. Ich hatte es schon aufgegeben. Noch ein kleiner Hinweis: unter 64bit Windows 7 und 32bit CATIA R19 habe ich zusätzlich noch 'Microsoft APC 6.2 Object Library' als Verweis setzen müssen. Gruß, Zoltan Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
GeorgK Mitglied
Beiträge: 619 Registriert: 06.06.2001
|
erstellt am: 06. Jul. 2010 19:34 <-- editieren / zitieren --> Unities abgeben:
|
picard Mitglied
Beiträge: 193 Registriert: 04.06.2001
|
erstellt am: 21. Mai. 2015 13:50 <-- editieren / zitieren --> Unities abgeben: Nur für GeorgK
Hallo zusammen, ich habe die Hinweise aus diesem Beitrag umgesetzt, sprich den Code von bgrittmann und in der VBA-IDE folgende Referenzen geladen: "Microsoft Visual Basic for Applications Extensibility 5.3" "Microsoft APC 6.2 Object Library" Leider erhalte ich die Meldung: Run-time error '429': ActiveX component can't create object Ich habe hier allerdings ein VBA 7.1 mit Catia V5 R24. Weiß jemand, ob das damit noch funktioniert?
Danke für jeden Hinweis. Gruß, Picard Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
joehz Moderator Freiberuflicher Konstrukteur
Beiträge: 1057 Registriert: 25.11.2006 Win7 Pro 64 + Ubuntu + Irix6.5.20 Dell Precision M6600 i7-2960XM 2.7GHz 16GB NVidia Quadro M5010 Catia V5R19 VB6Pro.SP6/VBA 6.5.1053
|
erstellt am: 21. Mai. 2015 16:45 <-- editieren / zitieren --> Unities abgeben: Nur für GeorgK
Hallo Picard, Zitat: Original erstellt von picard:
Run-time error '429':ActiveX component can't create object Ich habe hier allerdings ein VBA 7.1 mit Catia V5 R24. Weiß jemand, ob das damit noch funktioniert?
ich hab zwar VBA7 nicht; trotzdem denke ich wäre zunächst interessant zu wissen welches Object nicht erzeugt werden kann. Wo tritt der Fehler auf? Tschau, Joe
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
picard Mitglied
Beiträge: 193 Registriert: 04.06.2001
|
erstellt am: 04. Jun. 2015 07:47 <-- editieren / zitieren --> Unities abgeben: Nur für GeorgK
Hallo joehz, es war das APC Objekt (MSAPC.Apc), bei dem der Fehler auftrat. Es sieht so aus, als wäre hier einfach ein Versionskonflikt. Ich habe nun statt: Microsoft APC 6.2 Object Library die Microsoft APC 7.1 Object Library Verlinkt. Damit wird zumindest das APC Objekt erstellt. Der Code scheint zu laufen. Danke für alle Hinweise, die haben mir wieder mal gut weiter geholfen. Gruß, Picard Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
picard Mitglied
Beiträge: 193 Registriert: 04.06.2001
|
erstellt am: 04. Jun. 2015 09:02 <-- editieren / zitieren --> Unities abgeben: Nur für GeorgK
|