| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für SOLIDWORKS |
| |
| Nahe an industriellen Realbedingungen |
Autor
|
Thema: Änderung an aktiven Makro (939 / mal gelesen)
|
Pete85 Mitglied
Beiträge: 156 Registriert: 09.05.2016
|
erstellt am: 06. Dez. 2021 07:46 <-- editieren / zitieren --> Unities abgeben:
Hallo zusammen, wie kann ich ein Makro anpassen, wenn es von Usern im Schreibzugriff ist. Kann ich den schreibzugriff über eine Zeile entfernen oder musss ich die Leute bitten SolidWorks zu schließen? Vielen Dank,
Gruß Pete Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
deckelmaho Mitglied Konstrukteur
Beiträge: 239 Registriert: 03.03.2020 SolidWorks 2023 SP5 Windows 10 64bit Office 2019
|
erstellt am: 06. Dez. 2021 07:57 <-- editieren / zitieren --> Unities abgeben: Nur für Pete85
|
Pete85 Mitglied
Beiträge: 156 Registriert: 09.05.2016
|
erstellt am: 06. Dez. 2021 08:47 <-- editieren / zitieren --> Unities abgeben:
Kann man diesen Zugriff nicht noch irgendwie entfernen? einen Schreibschutz kann ich ja an einer Datei auch über ein Makro setzen oder entfernen. kann man hier nicht den Zugriff entziehen? Gruß Pete Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Christoph Weise Mitglied Technischer Produktdesigner / Konstruktion / CAD-Admin
Beiträge: 204 Registriert: 22.03.2015 Dell 3650 Intel I7 11700k 32 GB RAM Nvidia RTX A4000 16GB Win 10 22H2 64-bit SolidWorks 2022SP5 QuickPress 6.3.3 PortaX 2.27 SAP ERP 6.0
|
erstellt am: 06. Dez. 2021 09:07 <-- editieren / zitieren --> Unities abgeben: Nur für Pete85
Hallo Pete, ich kenne leider auch keinen anderen weg wie Kevin. Aber du kannst das Makro kopieren, deine Änderung machen und am nächsten Tag in der Früh das Makro austauschen...in der Hoffung keiner hat das Makro bis dahin verwendet... Ab und zu geht auch das speichern nicht, aber das überschreiben der originalen Datei mit der geänderten Kopie im Explorer. Gruß Christoph ------------------ Wer einen Fehler findet darf ihn behalten, wer zwei findet kann beide behalten, ab fünf Fehler gibs Rabatt :-) Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Lueghi Mitglied Admin für alle Systeme ....
Beiträge: 416 Registriert: 01.07.2005 CAD...: SWX2022 SP5, ACAD 2019, Tacton / LINO PDM...: PRO.FILE 8.6 ERP...: proAlpha 6.2e / 7.1 BS....: Win10, HP ZBook G5
|
erstellt am: 06. Dez. 2021 12:44 <-- editieren / zitieren --> Unities abgeben: Nur für Pete85
Wenn man die Rechte hat kann man auch die Dateisperre der User aufheben .... verstehe sowieso nicht, warum die Makros gesperrt werden wenn sie mal von SolidWorks genutzt worden sind . Grundsätzlich aber immer auf einer Kopie die Anderungen testen ist schon mal eine gute Idee . ------------------ Gruß Stefan Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Christoph Weise Mitglied Technischer Produktdesigner / Konstruktion / CAD-Admin
Beiträge: 204 Registriert: 22.03.2015 Dell 3650 Intel I7 11700k 32 GB RAM Nvidia RTX A4000 16GB Win 10 22H2 64-bit SolidWorks 2022SP5 QuickPress 6.3.3 PortaX 2.27 SAP ERP 6.0
|
erstellt am: 06. Dez. 2021 14:14 <-- editieren / zitieren --> Unities abgeben: Nur für Pete85
Hallo Stefan, Die Makros sind schon mal geladen und somit geht der nächste Zugriff schneller. Ich hatte mir versuchweise Makro alsMakro Starter geschrieben, um genau dieses Problem zu umgehen. In dieserm Makro wird jedes andere Makro geladen, gestartet und wieder entladen -> Keiner hat schreibrechte auf das eigentliche Makro. Aber dieses Makro hatte so oft zu problemen und Abstürzen geführt das ich das projekt relativ schnell überworfen habe. Funktion: Code: value = instance.RunMacro2(FilePathName, ModuleName, ProcedureName, Options, Error)
Option: swRunMacroUnloadAfterRun = 1 Die funktion ansich verwende ich öfters z.b Beim Drucken wird hier der Printman angesteuert. Allerdings ohne anschließendem entlanden des Makros. Die Versuche waren mir SWX 2016...vieleicht ist es inzwischen stabiler. Defekte Makros kommen seit der 2020 Version bei mir auch nicht mehr vor... Gruß Christoph ------------------ Wer einen Fehler findet darf ihn behalten, wer zwei findet kann beide behalten, ab fünf Fehler gibs Rabatt :-) Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Andi Beck Ehrenmitglied V.I.P. h.c. Konstrukteur
Beiträge: 2572 Registriert: 02.10.2006 Firma: SW 2023-4.0 + PDM Prof. Windows 10 Pro 64bit, i9-11900 32 GbRAM, Quadro P2200 Home: SW 2022-5.0 Passungstabelle von Heinz Windows 11 Pro 64bit, i7-12700K, 32 GbRAM, GeForce GTX 1050Ti Samsung C34H892, 3440x1440 Pixel
|
erstellt am: 06. Dez. 2021 14:15 <-- editieren / zitieren --> Unities abgeben: Nur für Pete85
Hallo, ich habe unsere Makros mit ins PDM genommen. Bedeutet, dass die User mit einer eigenen lokalen Version arbeiten und ich die Rechte an meiner lokalen Version holen kann. Erst wenn ich das geänderte Makro in den Tresor einchecke, können die User ihr Makro aktualisieren. Außerdem kann ich die Makros im Tresor Versionieren, ohne den Dateinamen ändern zu müssen. So könnte man nach Bedarf auch mal eine ältere Variante des Makros aufrufen. Grüße, Andi ------------------ Hast du kein Problem? Such dir eins. ( Und löse es ) Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Christian_W Ehrenmitglied V.I.P. h.c. Konstrukteur (Dipl-Ing)
Beiträge: 3189 Registriert: 04.04.2001 CSWP 12/2015<P>SWX2021sp5 Win10/11 (SWX2016, SWX2012) proAlpha6.2e00/calinkV9 (Tactonworks) (Medusa7, NesCAD2010, solidEdge19)
|
erstellt am: 06. Dez. 2021 14:19 <-- editieren / zitieren --> Unities abgeben: Nur für Pete85
Hallo, Stichwort "unload" den code von hier einbauen, dann werden die Makros nach der Arbeit entladen und du kannst sie ändern und speichern. Andere Kollegen arbeiten mit login-Scripten, die die Makros immer auf den lokalen Rechner kopieren um sie von da zu starten. Die werden dann automatisch beim nächsten login aktualisiert. Zum Kopieren und editieren - dabei kommt es mir immer mal wieder zu abstürzen, weil SolidWorks die Makro Module intern anscheinend trotzdem gleich identifiziert oder so. Gruß, Christian Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
riesi Mitglied CAD-Admin
Beiträge: 1073 Registriert: 06.05.2002 SWX Premium 2020-Sp5
|
erstellt am: 06. Dez. 2021 14:23 <-- editieren / zitieren --> Unities abgeben: Nur für Pete85
Ich habe es mit SolidWorks-Makros nie probiert, aber mit unserem Excel-Addon mach' ich es so: Auf dem File-Server setze ich es mit Schreibschutz und wenn ich es bearbeiten möchte, hebe ich es auf. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Pete85 Mitglied
Beiträge: 156 Registriert: 09.05.2016
|
erstellt am: 07. Dez. 2021 08:21 <-- editieren / zitieren --> Unities abgeben:
|
Lueghi Mitglied Admin für alle Systeme ....
Beiträge: 416 Registriert: 01.07.2005 CAD...: SWX2022 SP5, ACAD 2019, Tacton / LINO PDM...: PRO.FILE 8.6 ERP...: proAlpha 6.2e / 7.1 BS....: Win10, HP ZBook G5
|
erstellt am: 07. Dez. 2021 16:38 <-- editieren / zitieren --> Unities abgeben: Nur für Pete85
Zitat: Original erstellt von Christoph Weise: ... Die Makros sind schon mal geladen und somit geht der nächste Zugriff schneller. ...
Das mit der Geschwindigkeit ist mir schon klar, aber warum muss die Datei gesperrt werden? Reicht da nicht auch ein RO-Zugriff? Oder sperrt der auch schon die Datei?
------------------ Gruß Stefan Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Lueghi Mitglied Admin für alle Systeme ....
Beiträge: 416 Registriert: 01.07.2005 CAD...: SWX2022 SP5, ACAD 2019, Tacton / LINO PDM...: PRO.FILE 8.6 ERP...: proAlpha 6.2e / 7.1 BS....: Win10, HP ZBook G5
|
erstellt am: 07. Dez. 2021 16:39 <-- editieren / zitieren --> Unities abgeben: Nur für Pete85
|
Pete85 Mitglied
Beiträge: 156 Registriert: 09.05.2016
|
erstellt am: 09. Dez. 2021 08:11 <-- editieren / zitieren --> Unities abgeben:
Ich hab mich für das entschieden.
Code:
Option Explicit Dim swApp As Object Dim boolstatus As Boolean Dim filename As String Dim runMacroError As LongSub Unload_me() Set swApp = Application.SldWorks 'swApp.SendMsgToUser "gleich schließe ich ..." filename = swApp.GetCurrentMacroPathName boolstatus = swApp.RunMacro2(filename, "unload_makro_1", "ciao", swRunMacroUnloadAfterRun, runMacroError) End Sub Sub ciao() Rem swApp.SendMsgToUser "bin dann mal weg ..." End Sub
Gruß Pete Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Pete85 Mitglied
Beiträge: 156 Registriert: 09.05.2016
|
erstellt am: 09. Dez. 2021 08:11 <-- editieren / zitieren --> Unities abgeben:
Ich hab mich für das entschieden.
Code:
Option Explicit Dim swApp As Object Dim boolstatus As Boolean Dim filename As String Dim runMacroError As LongSub Unload_me() Set swApp = Application.SldWorks 'swApp.SendMsgToUser "gleich schließe ich ..." filename = swApp.GetCurrentMacroPathName boolstatus = swApp.RunMacro2(filename, "unload_makro_1", "ciao", swRunMacroUnloadAfterRun, runMacroError) End Sub Sub ciao() Rem swApp.SendMsgToUser "bin dann mal weg ..." End Sub
Gruß Pete Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |