| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für SOLIDWORKS |
| |
| TeamTec Hausmesse |
Autor
|
Thema: Bereinigen der CustomInfo's und Filesize (2812 mal gelesen)
|
Andreas Müller Mitglied Masch. Ing. HTL / Betriebsing. STV
Beiträge: 1151 Registriert: 11.04.2001
|
erstellt am: 26. Nov. 2004 13:27 <-- editieren / zitieren --> Unities abgeben:
Hallo Alle! Ich hab mal wieder gebastelt! Und zwar hat mich gestört, dass Teile die verschiedenen Firmen eingesetzt werden immer neue, und damit (alte) überflüssige CustomInfo's haben. das beiliegende Makro bereinigt das. Lest mal die "Bedienungsanletung". zusätzlich kann das Makro die Dateigrösse verkleiner. Ich hoffe es hilft Euch und wünsche ein schönes WE. ------------------ Gruss Andreas A+E Müller AG Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Andreas Müller Mitglied Masch. Ing. HTL / Betriebsing. STV
Beiträge: 1151 Registriert: 11.04.2001
|
erstellt am: 01. Dez. 2004 11:23 <-- editieren / zitieren --> Unities abgeben:
|
Andreas Müller Mitglied Masch. Ing. HTL / Betriebsing. STV
Beiträge: 1151 Registriert: 11.04.2001
|
erstellt am: 29. Jul. 2005 11:45 <-- editieren / zitieren --> Unities abgeben:
Hi Alle! Habe nun die Version 2.0 fertig! Neu ist, dass nun auch Zeichnungen verarbeitet werden können. Viel Spass! EDIT @Stefan: darf natürlich gerne in die Tauschbörse! ENDEDIT ------------------ Gruss Andreas A+E Müller AG [Diese Nachricht wurde von Andreas Müller am 29. Jul. 2005 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Cad004711 Mitglied
Beiträge: 7 Registriert: 06.10.2016
|
erstellt am: 06. Okt. 2016 10:46 <-- editieren / zitieren --> Unities abgeben: Nur für Andreas Müller
Hallo, ich bin jetzt neu registriert und war aber früher schon im besten SWX Forum aller Zeiten! Vielen Dank für das Einstellen des Makros. Leider bringt meine Arbeitsmaschine, nach dem Ausführen des Makros folgende Fehlermeldung. Microsoft Formulare Ein Objekt konnte nicht geladen werden da es auf diesem Computer nicht verfügbar ist. Es wäre sehr gut wenn jemand die Lösung für diese Fehlermeldung parat hätte. Vielen Dank Gruß Franz
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
HenryV Mitglied Konstrukteur, Engineering
Beiträge: 813 Registriert: 18.05.2005 SolidWorks 2022 x64 SP5.0 Dell Precision 5820 Intel Xeon W-2125 4x4GHz NVIDIA Quadro P2000 5GB 32GB RAM 2x Dell U2412M, 24" TFT Windows 10 Enterprise x64 22H2 Microsoft 365 E5 Microsoft Visual Studio Enterprise 2022
|
erstellt am: 06. Okt. 2016 12:07 <-- editieren / zitieren --> Unities abgeben: Nur für Andreas Müller
Hallo Franz Das liegt daran, dass es in VBA7 64-bit keine Progressbar gibt. Schnelle Lösung - Makro bearbeiten - alle Zeilen die den Begriff "barCustomInfo" enthalten löschen - Makro speichern Gruss Andreas
------------------ 21 ist nur die halbe Antwort. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Cad004711 Mitglied
Beiträge: 7 Registriert: 06.10.2016
|
erstellt am: 06. Okt. 2016 12:19 <-- editieren / zitieren --> Unities abgeben: Nur für Andreas Müller
Hallo Andreas, vielen dank für die schnelle Antwort. Aber in diesem Makro ist kein "barCustomInfo" enthalten! Franz Option Explicit Public Const swDocPART = 1 Public Const swDocASSEMBLY = 2 Public Const swDocDRAWING = 3 Public Const P_lngCustomInfoCountToKeep As Long = 24 Public P_aryCustomInfoToKeep(1 To P_lngCustomInfoCountToKeep, 2) As String Public Const P_strTempSavePath As String = "C:\WINDOWS\Temp\LÖSCHEN" '<--- OHNE EXTENSION!!! ''------------------------------------------------------------------------------------------------ Public Sub SetArrayCustomInfo() ' - Definition: "B" = benutzerdefinierte CustomInfo ' "K" = konfigurationsspez. Custominfo ' ' - Jede CustomInfo, die NICHT gelöscht werden soll, werden im "P_aryCustomInfoToKeep" 2 Einträge gemacht ' * der erste für den Namen der CustomInfo (Gross- Kleinschreibung beachten!) ' * der zweite für den Typ der CustomInfo ' ' - In der Deklaration "P_lngCustomInfoCountToKeep" muss eingetragen werden, wieviele Einträge ' im Array sind ' ' - "P_strTempSavePath" = ist der Speicherpfad inkl. Dateiname, exkl. Extension, wo die temporäre Datei ' gespeichert wird P_aryCustomInfoToKeep(1, 1) = "Project" P_aryCustomInfoToKeep(1, 2) = "B" P_aryCustomInfoToKeep(2, 1) = "Nummer" P_aryCustomInfoToKeep(2, 2) = "K" P_aryCustomInfoToKeep(3, 1) = "Description" P_aryCustomInfoToKeep(3, 2) = "B" P_aryCustomInfoToKeep(4, 1) = "Material" P_aryCustomInfoToKeep(4, 2) = "K" P_aryCustomInfoToKeep(5, 1) = "Gewicht(kg)" P_aryCustomInfoToKeep(5, 2) = "K" P_aryCustomInfoToKeep(6, 1) = "Bemerkung-ZK" P_aryCustomInfoToKeep(6, 2) = "B" P_aryCustomInfoToKeep(7, 1) = "Datum(freigabe)" P_aryCustomInfoToKeep(7, 2) = "B" P_aryCustomInfoToKeep(8, 1) = "freigabe_von" P_aryCustomInfoToKeep(8, 2) = "B" P_aryCustomInfoToKeep(9, 1) = "Datum(gezeichnet)" P_aryCustomInfoToKeep(9, 2) = "B" P_aryCustomInfoToKeep(10, 1) = "Author" P_aryCustomInfoToKeep(10, 2) = "B" P_aryCustomInfoToKeep(11, 1) = "Bemerkung" P_aryCustomInfoToKeep(11, 2) = "K" P_aryCustomInfoToKeep(12, 1) = "Lieferant" P_aryCustomInfoToKeep(12, 2) = "B" P_aryCustomInfoToKeep(13, 1) = "Bestelltext" P_aryCustomInfoToKeep(13, 2) = "K" P_aryCustomInfoToKeep(14, 1) = "Kosten" P_aryCustomInfoToKeep(14, 2) = "K" P_aryCustomInfoToKeep(15, 1) = "Bestellung_Zusatztext" P_aryCustomInfoToKeep(15, 2) = "K" P_aryCustomInfoToKeep(16, 1) = "LieferantOrt" P_aryCustomInfoToKeep(16, 2) = "B" P_aryCustomInfoToKeep(17, 1) = "Status" P_aryCustomInfoToKeep(17, 2) = "B" P_aryCustomInfoToKeep(18, 1) = "Revision" P_aryCustomInfoToKeep(18, 2) = "B" P_aryCustomInfoToKeep(19, 1) = "usedKonfig" P_aryCustomInfoToKeep(19, 2) = "B" P_aryCustomInfoToKeep(20, 1) = "Typ" P_aryCustomInfoToKeep(20, 2) = "B" P_aryCustomInfoToKeep(21, 1) = "FileID" P_aryCustomInfoToKeep(21, 2) = "B" P_aryCustomInfoToKeep(22, 1) = "ItemID" P_aryCustomInfoToKeep(22, 2) = "K" P_aryCustomInfoToKeep(23, 1) = "Number" P_aryCustomInfoToKeep(23, 2) = "B" P_aryCustomInfoToKeep(24, 1) = "IsFastener" P_aryCustomInfoToKeep(24, 2) = "B" End Sub [Diese Nachricht wurde von Cad004711 am 06. Okt. 2016 editiert.] [Diese Nachricht wurde von Cad004711 am 06. Okt. 2016 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
HenryV Mitglied Konstrukteur, Engineering
Beiträge: 813 Registriert: 18.05.2005 SolidWorks 2022 x64 SP5.0 Dell Precision 5820 Intel Xeon W-2125 4x4GHz NVIDIA Quadro P2000 5GB 32GB RAM 2x Dell U2412M, 24" TFT Windows 10 Enterprise x64 22H2 Microsoft 365 E5 Microsoft Visual Studio Enterprise 2022
|
erstellt am: 06. Okt. 2016 13:27 <-- editieren / zitieren --> Unities abgeben: Nur für Andreas Müller
Hallo Klaus Ich habe Version 2.0 angeschaut und da hat es "barCustomInfo" definitiv drin. Und zwar im Code vom Formular "frmInfo". Am Besten benutzt du die Suche (Ctrl+F) im VBA-Editor (Umstellen auf "Current Project" nicht vergessen, damit es auch im ganzen Makro sucht) Gruss Andreas ------------------ 21 ist nur die halbe Antwort. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Cad004711 Mitglied
Beiträge: 7 Registriert: 06.10.2016
|
erstellt am: 06. Okt. 2016 13:37 <-- editieren / zitieren --> Unities abgeben: Nur für Andreas Müller
Vielen Dank. Richtig "barCustomInfo" ist in "frmInfo" vorhanden. Nach dem rauslöschen trat ein schwerer Makrofehler auf. Info vom System! Franz
[Diese Nachricht wurde von Cad004711 am 06. Okt. 2016 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
bk.sc Ehrenmitglied V.I.P. h.c. Konstrukteur Sondermaschinenbau
Beiträge: 2776 Registriert: 18.07.2012 -Solid Works 2019 SP5 -Pro Engineer WF 3
|
erstellt am: 06. Okt. 2016 13:50 <-- editieren / zitieren --> Unities abgeben: Nur für Andreas Müller
Hallo Frank, die "barCustomInfo" verstecken sich ja auch im Code der UserForm (frmInfo) und nicht in einem der beiden Module (Definition bzw. Start) Gruß Bernd ------------------ --- Man muß nicht alles wissen, man muß nur wissen wo es steht --- Staatlich anerkannte Deutschniete Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Cad004711 Mitglied
Beiträge: 7 Registriert: 06.10.2016
|
erstellt am: 06. Okt. 2016 14:01 <-- editieren / zitieren --> Unities abgeben: Nur für Andreas Müller
|
HenryV Mitglied Konstrukteur, Engineering
Beiträge: 813 Registriert: 18.05.2005 SolidWorks 2022 x64 SP5.0 Dell Precision 5820 Intel Xeon W-2125 4x4GHz NVIDIA Quadro P2000 5GB 32GB RAM 2x Dell U2412M, 24" TFT Windows 10 Enterprise x64 22H2 Microsoft 365 E5 Microsoft Visual Studio Enterprise 2022
|
erstellt am: 06. Okt. 2016 14:10 <-- editieren / zitieren --> Unities abgeben: Nur für Andreas Müller
|
Cad004711 Mitglied
Beiträge: 7 Registriert: 06.10.2016
|
erstellt am: 06. Okt. 2016 14:29 <-- editieren / zitieren --> Unities abgeben: Nur für Andreas Müller
|
HenryV Mitglied Konstrukteur, Engineering
Beiträge: 813 Registriert: 18.05.2005 SolidWorks 2022 x64 SP5.0 Dell Precision 5820 Intel Xeon W-2125 4x4GHz NVIDIA Quadro P2000 5GB 32GB RAM 2x Dell U2412M, 24" TFT Windows 10 Enterprise x64 22H2 Microsoft 365 E5 Microsoft Visual Studio Enterprise 2022
|
erstellt am: 06. Okt. 2016 15:19 <-- editieren / zitieren --> Unities abgeben: Nur für Andreas Müller
Hallo nochmals Hast du das Makro einer Symbolleistenschaltfläche zugewiesen? (Methode: Start.Start) Das Ausführen über den "Makro ausführen"-Befehl funktioniert bei diesem Makro nicht, weil SoldiWorks die falsche Methode (Sub) startet. Gruss Andreas ------------------ 21 ist nur die halbe Antwort. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Cad004711 Mitglied
Beiträge: 7 Registriert: 06.10.2016
|
erstellt am: 06. Okt. 2016 15:26 <-- editieren / zitieren --> Unities abgeben: Nur für Andreas Müller
|
bk.sc Ehrenmitglied V.I.P. h.c. Konstrukteur Sondermaschinenbau
Beiträge: 2776 Registriert: 18.07.2012 -Solid Works 2019 SP5 -Pro Engineer WF 3
|
erstellt am: 07. Okt. 2016 07:07 <-- editieren / zitieren --> Unities abgeben: Nur für Andreas Müller
Hallo, also bei mir läuft das Macro nach den für mich notwendigen Anpassungen richtig, egal ob ich es aus dem Editor oder über eine Schaltfläche starte. Hast du in der Definition auch die Anpassungen richtig gemacht? 1. Existiert der Pfad fürs temporäre Speichern? "Public Const P_strTempSavePath As String = "C:\WINDOWS\Temp\LÖSCHEN" <- Pfad muss existieren 2. Hast du die Anzahl der beizubehaltenden Eigenschaften richtig gesetzt? "Public Const P_lngCustomInfoCountToKeep As Long = Hier die Anzahl der Eigenschaften" 3. Hast du die zu behaltenden Eigenschaften richtig definiert "P_aryCustomInfoToKeep(i, 1) = "Zeichnungsnummer" P_aryCustomInfoToKeep(i, 2) = "B"" "P_aryCustomInfoToKeep(i+1, 1) = "Bezeichnung" P_aryCustomInfoToKeep(i+1, 2) = "K"" Für jede Eigenschaft 2 Zeilen, i wird für jeden Satz um eins erhöt, den Höchsten Wert den i dann hat entspricht dem Const P_lngCustomInfoCountToKeep Wert Gruß Bernd ------------------ --- Man muß nicht alles wissen, man muß nur wissen wo es steht --- Staatlich anerkannte Deutschniete Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Cad004711 Mitglied
Beiträge: 7 Registriert: 06.10.2016
|
erstellt am: 07. Okt. 2016 07:46 <-- editieren / zitieren --> Unities abgeben: Nur für Andreas Müller
|
bk.sc Ehrenmitglied V.I.P. h.c. Konstrukteur Sondermaschinenbau
Beiträge: 2776 Registriert: 18.07.2012 -Solid Works 2019 SP5 -Pro Engineer WF 3
|
erstellt am: 07. Okt. 2016 11:10 <-- editieren / zitieren --> Unities abgeben: Nur für Andreas Müller
Hallo, hast du es mal versucht in Einzelschritten durchlaufen zu lassen und geschaut wo das Macro was macht? Gruß Bernd ------------------ --- Man muß nicht alles wissen, man muß nur wissen wo es steht --- Staatlich anerkannte Deutschniete Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
KMassler Ehrenmitglied V.I.P. h.c. CAD Admin + Mädchen für Alles...
Beiträge: 2675 Registriert: 06.11.2000 SolidWorks Start 1999 ** CSWP 01/2008 ** ------------------ Zuletzt beruflich: - SWX2020 SP5; - SAP/PLM+ECTR; - DriveWorks Pro; - Programmierung: VBA, aktuell Visual Studio 2022/VB.Net ------------------ ab 2024 (privat): Onshape und anderes
|
erstellt am: 07. Okt. 2016 12:30 <-- editieren / zitieren --> Unities abgeben: Nur für Andreas Müller
Zitat: Original erstellt von HenryV: Hallo nochmalsHast du das Makro einer Symbolleistenschaltfläche zugewiesen? (Methode: Start.Start) Das Ausführen über den "Makro ausführen"-Befehl funktioniert bei diesem Makro nicht, weil SoldiWorks die falsche Methode (Sub) startet. Gruss Andreas
Das ist mal ein guter Hinweis. Woran orientiert sich SolidWorks, welche Methode aus welchem Modul wird ausgeführt, wenn ich es mit "Ausführen" aufrufe? Oder kann man das irgendwo definieren/einstellen? ------------------ Klaus http://www.al-ko.com/de/fahrzeugtechnik/ | mein Gästebuch Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
bk.sc Ehrenmitglied V.I.P. h.c. Konstrukteur Sondermaschinenbau
Beiträge: 2776 Registriert: 18.07.2012 -Solid Works 2019 SP5 -Pro Engineer WF 3
|
erstellt am: 07. Okt. 2016 12:34 <-- editieren / zitieren --> Unities abgeben: Nur für Andreas Müller
Hallo Klaus, mein Schulungsleiter hat es mir bei der SWX-API Schulung erzählt aber ich hab es leider schon wieder vergessen , ich glaube es war irgendetwas triviales wie alphabetisch oder so. Gruß Bernd ------------------ --- Man muß nicht alles wissen, man muß nur wissen wo es steht --- Staatlich anerkannte Deutschniete 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: 10. Okt. 2016 09:13 <-- editieren / zitieren --> Unities abgeben: Nur für Andreas Müller
Zitat: Original erstellt von KMassler: Woran orientiert sich SolidWorks, welche Methode aus welchem Modul wird ausgeführt, wenn ich es mit "Ausführen" aufrufe?Oder kann man das irgendwo definieren/einstellen?
Früher war das mal so, das es immer die letzte Prozedur (Sub) aus dem zuletzt hinzugefügten/erzeugten Modul war. Ich hatte mir seinerzeit deswegen angewöhnt eine Sub Main immer als letzte Prozedur im Modul zu haben und wenn ich bei Makros mit mehreren Modulen fertig war sicherheitshalber das Modul mit dieser Sub Main einmal zu exportieren, dann zu löschen und direkt wieder zu importieren. Ich hab es jetzt nicht getestet, aber ich argwöhne, dass ist immer noch so - vielleicht ist SolidWorks seit VBA7.1 zumindest so clever und schaut nach, ob es in dem Modul eine Sub Main gibt bevor es ansonsten einfach die letzte ausführt. Ciao, Stefan ------------------ Inoffizielle deutsche SolidWorks Hilfeseite http://solidworks.cad.de
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |