| | |
 | Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für SOLIDWORKS |
| | |
 | SOLIDWORKS NEXT | Episode 3: Von CAD Zu Code - Nahtlose Konstruktion und virtuelle Roboterprogrammierung, ein Webinar am 15.09.2026
|
|
Autor
|
Thema: SW2003 Macros unter SW2004 (541 mal gelesen)
|
Linus1 Mitglied Dipl.Ing. Masch-Bau
 Beiträge: 4 Registriert: 09.01.2004
|
erstellt am: 09. Jan. 2004 13:05 <-- editieren / zitieren --> Unities abgeben:         
Hallo Zusammen, hat schon jemand Macros die in SW2003 wunderbar laufen unter SW2004 benutzt. Ich habe das versucht und festgestellt, das mansche befehle wie z.B. "DATE" nicht mehr funktionieren. Die Fehlermeldung lautet: Projekt oder Bibliothek nicht gefunden, obwohl die Bibliothek vorhanden ist. Weis hier jemand Rat an was das liegt? Gruß Marco
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
StefanBerlitz Guter-Geist-Moderator IT Admin (CAx)

 Beiträge: 8756 Registriert: 02.03.2000 SunZu sagt: Analysiere die Vorteile, die du aus meinem Ratschlag ziehst. Dann gliedere deine Kräfte entsprechend und mache dir außergewöhnliche Taktiken zunutze.
|
erstellt am: 09. Jan. 2004 13:34 <-- editieren / zitieren --> Unities abgeben:          Nur für Linus1
Hallo Marco, und herzlich willkommen im Forum  Ich vermute, du hast noch den Verweise noch auf die SW2003 TypeLibrary gesetzt, den mußt du umsetzen auf die SW2004 TypeLibrary. Oder ganz wegnehmen und nicht mit Early-Binding arbeiten (also alle Objekte als Object deklarieren, nicht als SldWorks.ModelDoc2 etc.) Das ist übrigens auch der Grund, warum ich nicht gerne mit Early-Binding arbeite, es gibt immer Streß bei einem Versionswechsel. Ciao, Stefan ------------------ Inoffizielle deutsche SolidWorks Hilfeseite http://solidworks.cad.de KLAMM? Was ist KLAMM? Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Linus1 Mitglied Dipl.Ing. Masch-Bau
 Beiträge: 4 Registriert: 09.01.2004
|
erstellt am: 09. Jan. 2004 13:45 <-- editieren / zitieren --> Unities abgeben:         
|
StefanBerlitz Guter-Geist-Moderator IT Admin (CAx)

 Beiträge: 8756 Registriert: 02.03.2000 SunZu sagt: Analysiere die Vorteile, die du aus meinem Ratschlag ziehst. Dann gliedere deine Kräfte entsprechend und mache dir außergewöhnliche Taktiken zunutze.
|
erstellt am: 09. Jan. 2004 13:51 <-- editieren / zitieren --> Unities abgeben:          Nur für Linus1
Hallo Marco, das musst du nicht machen, du kannst auch mit Early-Binding und dem Verweis auf die TypeLibrary arbeiten, aber dann mußt du die eben statt auf die 2003 auf die 2004er Version zeigen lassen. Wenn du es mit Late-Binding machst hast du den Vorteil, dass es besser zwischen den Versionen ausgetauscht werden kann. Eine Objektdeklaration sieht dann so aus:
Code: Dim SldWorks As Object Dim ModelDoc As Object
Aber dann mußt du selbst auf die korrekte Schreibweise achten usw. Schau dir am besten einfach mal ein paar Makros von mir aus der MakroMania an ( http://solidworks.cad.de/mm_index.htm ), dann verstehst du schnell, wie es gemeint ist. Ciao, Stefan ------------------ Inoffizielle deutsche SolidWorks Hilfeseite http://solidworks.cad.de KLAMM? Was ist KLAMM? Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Linus1 Mitglied Dipl.Ing. Masch-Bau
 Beiträge: 4 Registriert: 09.01.2004
|
erstellt am: 09. Jan. 2004 14:11 <-- editieren / zitieren --> Unities abgeben:         
Hallo Stefan, Hier ist der Code, der zu der Felemeldung führt. Die Objekte sind doch richtig deffiniert, oder? Sub berSfAuslesen() Dim sldWorks As Object Dim swApp As Object Dim ModelDoc As Object Dim Configuration As Object Dim ConfName As Variant Set swApp = CreateObject("SldWorks.Application") swApp.Visible = True Set ModelDoc = swApp.ActiveDoc If ModelDoc Is Nothing Then Call MsgBox("Keine Datei geöffnet", vbOKOnly + vbInformation, "Information") Exit Sub End If Set Configuration = ModelDoc.GetActiveConfiguration ConfName = Configuration.Name ' Description txtSfDescription.text = ModelDoc.CustomInfo("Description") ' Number txtSfEndNumber.text = ModelDoc.CustomInfo("EndNumber") ' Zeichnungsnummer txtSfZeichnungsnummer2.text = ModelDoc.CustomInfo("Number") ' Variantennummer txtSfVarNR.text = ModelDoc.CustomInfo2(ConfName, "Variantennummer") ' Revision txtSfRevision.text = ModelDoc.CustomInfo("Revision") ' Status txtSfStatus.text = ModelDoc.CustomInfo("Status") ' Name cmbSfName.text = ModelDoc.CustomInfo("Name") ' Projekt cmbSfProject.text = ModelDoc.CustomInfo("Project") ' Baugruppe cmbSfBaugruppe.text = ModelDoc.CustomInfo2(ConfName, "Baugruppe") ' Datum If MultiPage1.Value = 1 Then txtSfDatum2.CheckBox = True txtSfDatum2.Value = Date txtSfDatum2.Value = ModelDoc.CustomInfo2(ConfName, "Datum") txtSfDatum2.CheckBox = False End If ' Status txtSfStatus.text = ModelDoc.CustomInfo("Status") ' Liferant txtSfLieferant2.text = ModelDoc.CustomInfo2(ConfName, "Lieferant") ' Author txtSfAuthor.text = ModelDoc.CustomInfo("Author") End Sub Der Befehl "date" wird nicht erkannt. Ich verstehe es echt nicht Gruß Marco Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
StefanBerlitz Guter-Geist-Moderator IT Admin (CAx)

 Beiträge: 8756 Registriert: 02.03.2000 SunZu sagt: Analysiere die Vorteile, die du aus meinem Ratschlag ziehst. Dann gliedere deine Kräfte entsprechend und mache dir außergewöhnliche Taktiken zunutze.
|
erstellt am: 09. Jan. 2004 16:08 <-- editieren / zitieren --> Unities abgeben:          Nur für Linus1
|
Linus1 Mitglied Dipl.Ing. Masch-Bau
 Beiträge: 4 Registriert: 09.01.2004
|
erstellt am: 12. Jan. 2004 13:32 <-- editieren / zitieren --> Unities abgeben:         
Hallo Stefan, Sorry, jetzt hat es bei mir geschnackelt. Ich hatte zwar den Verweis auf SW2004 gesetzt allerdings zwei andere Verweise vergessen. Jetzt klappt alles wunderbar. Nochmals vielen Dank! Gruß Marco
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |