| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für SOLIDWORKS |
| |
| PLM TechnologieForum Bamberg |
Autor
|
Thema: Makro ausführen ohne Funktion? (1476 mal gelesen)
|
goofy_ac Mitglied Produktentwickler
Beiträge: 1130 Registriert: 20.06.2006 Dell Precision 7740; i7/9850@2,6GHz Quadro RTX5000; 32GB; Win10x64 prof. SWX2022 SP5; dbWorks R20
|
erstellt am: 17. Nov. 2014 18:14 <-- editieren / zitieren --> Unities abgeben:
Hallo allerseits wir arbeiten hier zu dritt (2x identisches Laptop, 1x Workstation, zu der ich momentan keinen Zugriff habe), der Fehler (?) tritt auf beiden Laptops identisch auf Ich habe mir von einem Zulieferer ein Part als Makro (SWX >= 2001x 3D) herunter geladen, gespeichert, wollte es über Extras -> Makro -> Ausführen ablaufen lassen. Leider passiert GAR NICHTS. Ich bekomme weder von SWX, noch von Windows irgendeine Reaktion, geschweige denn eine Fehlermeldung / Popup - DBWorks habe ich testweise entladen, SWX (auch den kompletten PC ohne DBWorks) neu gestartet - gleicher Effekt - In den letzten 4 Jahren herunter geladene, ausgeführte und zu der Zeit funktionsfähige Makros - gleicher Effekt Mit Drag&Drop zu starten habe ich getestet, habe diesen Weg aber schon damals nicht zum Laufen gebracht - 0 Reaktion VBA lässt sich starten (auch in Word / Excel), Version 7.1 Das letzte Mal bewusst ein Makro gestartet habe ich vor der Implementierung von DBWorks vor anderthalb Jahren, möchte aber nicht beschwören, das es damit zusammenhängt... Tiefer, als in das Ausführen heruntergeladener Dateien bin ich leider nicht in die Makro-Programmierung eingedrungen, dass ich auch nicht weiß, was ich wo nachschauen / umstellen / testen kann Hat jemand einen Rat für mich? Danke im voraus und einen schönen Abend Axel Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
The Trooper Mitglied Konstrukteur, Maschinenbautechniker
Beiträge: 23 Registriert: 29.09.2006
|
erstellt am: 18. Nov. 2014 08:17 <-- editieren / zitieren --> Unities abgeben: Nur für goofy_ac
Moin Moin Frage: Kommt beim Starten des Teile Makros "Ordner suchen"? ------------------ Klaus [Diese Nachricht wurde von The Trooper am 18. Nov. 2014 editiert.] [Diese Nachricht wurde von The Trooper am 18. Nov. 2014 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
THSEFA Mitglied Konstrukteur/CAD-Admin
Beiträge: 1141 Registriert: 27.11.2002 SWX 2020 SP5.0 Premium Windows 10 Pro 64Bit Citrix VM Intel(R) XEON(R) Gold 6146 CPU @ 3.20GHz 24 GB Ram<P>Windows 10 Pro 64Bit
|
erstellt am: 18. Nov. 2014 08:21 <-- editieren / zitieren --> Unities abgeben: Nur für goofy_ac
Wenn du kannst, lade das Teil doch mal hoch. Vielleicht gelingt es ja hier, den Fehler zu finden... ------------------ Viele Grüße, THSEFA "Nichts ist so hart wie das Leben! Wenn man sagt, was man denkt, muss man mehr als alles geben!..." Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
goofy_ac Mitglied Produktentwickler
Beiträge: 1130 Registriert: 20.06.2006 Dell Precision 7740; i7/9850@2,6GHz Quadro RTX5000; 32GB; Win10x64 prof. SWX2022 SP5; dbWorks R20
|
erstellt am: 18. Nov. 2014 10:01 <-- editieren / zitieren --> Unities abgeben:
Hi, guten Morgen und ein Danke für Eure Reaktion! Im Anhang sind 3 Dateien, jeweils mit OK (funzt) bzw. NOK (funzt nicht) im Namen. Ich habe heute früh nochmal etliche ausprobiert, die in der Vergangenheit ALLE definitiv funktioniert haben, da ich deren erzeugte SWX Pendants im Stamm habe. Von der minimal verbleibenden Anzahl an funktionsfähigen Makros habe ich das eines Schaltkastens (AE_1...) beigelegt. Dieses springt normal an (auch Drag&Drop läuft), SWX BG/Part wird erzeugt. Die anderen beiden ... SWX bleibt stumm wie ein Fisch, absolut gar keine Reaktion. Und zumindest bei der Feder (0e0094...) hätte es anspringen müssen - SWX Teil liegt zum Vergleich bei. Aufgefallen ist mir das Ganze durch ein neu heruntergeladenes Teil (2477PJP...). Die Laufrolle hat zwar ein "_MAC" im Namen, im Download Bereich wurde aber keinerlei Auswahl getroffen auf Betriebssystem oder Rechnertyp. Ich kann mir ehrlich gesagt nicht vorstellen, dass dies ein derart "spezialisiertes" Makro wäre (andere Laufrollen des gleichen Herstellers haben wir in der Vergangenheit erzeugen können). Und da es nicht das einzige bei uns tote Makro ist... Alle Makros sind mit der Einstellung "Solidworks >= 2001" gezogen worden. Falls Ihr weitere Fagen habt, meldet Euch Viele Grüße - Axel 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: 18. Nov. 2014 10:10 <-- editieren / zitieren --> Unities abgeben: Nur für goofy_ac
|
The Trooper Mitglied Konstrukteur, Maschinenbautechniker
Beiträge: 23 Registriert: 29.09.2006
|
erstellt am: 18. Nov. 2014 10:12 <-- editieren / zitieren --> Unities abgeben: Nur für goofy_ac
|
goofy_ac Mitglied Produktentwickler
Beiträge: 1130 Registriert: 20.06.2006 Dell Precision 7740; i7/9850@2,6GHz Quadro RTX5000; 32GB; Win10x64 prof. SWX2022 SP5; dbWorks R20
|
erstellt am: 18. Nov. 2014 10:12 <-- editieren / zitieren --> Unities abgeben:
Hi Andreas das klingt mal nach einem guten Gedanken Danke für die Antwort! Stellt sich jetzt die Frage - könnte man verschiedene Runtime Umgebungen parallel nebeneinander aufsetzen, damit die "alten" Makros wieder Ihren Dienst antreten? Oder müssten wir schlicht damit leben, dass diverse Makros nicht lauffähig sind? Viele Grüße - Axel Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
goofy_ac Mitglied Produktentwickler
Beiträge: 1130 Registriert: 20.06.2006 Dell Precision 7740; i7/9850@2,6GHz Quadro RTX5000; 32GB; Win10x64 prof. SWX2022 SP5; dbWorks R20
|
erstellt am: 18. Nov. 2014 10:14 <-- editieren / zitieren --> Unities abgeben:
Hi Klaus die Teile stammen von verschiedenen: Sofern ich die hier nennen darf (sonst bitte Bescheid geben, wird umgehend gelöscht): Rittal, Febrotec, Tente, Rollon - sind aber noch über ein halbes Dutzend weitere Viele Grüße - Axel Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
The Trooper Mitglied Konstrukteur, Maschinenbautechniker
Beiträge: 23 Registriert: 29.09.2006
|
erstellt am: 18. Nov. 2014 10:24 <-- editieren / zitieren --> Unities abgeben: Nur für goofy_ac
Hi Axel, Ich würde mir die Teile als Step, Sat oder einem anderen Format runterladen, wenn das Makro nicht funktioniert. Ist mir bis dato auch noch nicht untergekommen, dass die Partmakros nicht laufen!! ------------------ Klaus 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: 18. Nov. 2014 10:52 <-- editieren / zitieren --> Unities abgeben: Nur für goofy_ac
Zitat: Original erstellt von goofy_ac: ...Stellt sich jetzt die Frage - könnte man verschiedene Runtime Umgebungen parallel nebeneinander aufsetzen, damit die "alten" Makros wieder Ihren Dienst antreten? Oder müssten wir schlicht damit leben, dass diverse Makros nicht lauffähig sind?...
Hallo Alex Damit das Makro in VBA6 und VBA7 läuft, muss man das Makro anpassen. Näheres dazu findes du hier https://forum.solidworks.com/docs/DOC-2141 und hier http://msdn.microsoft.com/de-de/library/ee691831%28office.14%29.aspx In deinen Makros ist das Problem der BrowsForFolder-Dialog, den man anders Deklarieren muss. Quick and Dirty Lösung für Makro "NOK 0e0094_0110880m_le_22_35_" Code: Option ExplicitDim swApp Dim storePath Dim sw2003api Private Type BROWSEINFO hwndOwner As Long pIDLRoot As Long pszDisplayName As Long lpszTitle As String ulFlags As Long lpfnCallback As Long lParam As Long iImage As Long End Type Private Declare Function SHBrowseForFolder Lib "Shell32" (lpbi As BROWSEINFO) As Long Private Declare Function SHGetPathFromIDList Lib "Shell32" (ByVal pidList As Long, ByVal lpBuffer As String) As Long Private Declare Sub CoTaskMemFree Lib "ole32" (ByVal hMem As Long) Private Const MAX_PATH = 260 'Directories only Private Const BIF_RETURNONLYFSDIRS = &H1& 'Windows 2000 (Shell32.dll 5.0) extended dialog Private Const BIF_NEWDIALOGSTYLE = &H40 ' show edit box Private Const BIF_EDITBOX = &H10&
ersetzen mit Code: Option ExplicitDim swApp Dim storePath Dim sw2003api Dim sw2007api Dim docVisible #If VBA7 Then Private Type BROWSEINFO hwndOwner As LongPtr pIDLRoot As Long pszDisplayName As String lpszTitle As String ulFlags As Long lpfnCallback As LongPtr lParam As LongPtr iImage As Long End Type Private Declare PtrSafe Function SHBrowseForFolder Lib "Shell32" (lpbi As BROWSEINFO) As Long Private Declare PtrSafe Function SHGetPathFromIDList Lib "Shell32" (ByVal pidList As Long, ByVal lpBuffer As String) As Long Private Declare PtrSafe Sub CoTaskMemFree Lib "ole32" (ByVal hMem As Long) #Else Private Type BROWSEINFO hwndOwner As Long pIDLRoot As Long pszDisplayName As Long lpszTitle As String ulFlags As Long lpfnCallback As Long lParam As Long iImage As Long End Type Private Declare Function SHBrowseForFolder Lib "Shell32" (lpbi As BROWSEINFO) As Long Private Declare Function SHGetPathFromIDList Lib "Shell32" (ByVal pidList As Long, ByVal lpBuffer As String) As Long Private Declare Sub CoTaskMemFree Lib "ole32" (ByVal hMem As Long) #End If Private Const MAX_PATH = 260 'Directories only Private Const BIF_RETURNONLYFSDIRS = &H1& 'Windows 2000 (Shell32.dll 5.0) extended dialog Private Const BIF_NEWDIALOGSTYLE = &H40 ' show edit box Private Const BIF_EDITBOX = &H10&
Gruss Andreas ------------------ 21 ist nur die halbe Antwort. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
goofy_ac Mitglied Produktentwickler
Beiträge: 1130 Registriert: 20.06.2006 Dell Precision 7740; i7/9850@2,6GHz Quadro RTX5000; 32GB; Win10x64 prof. SWX2022 SP5; dbWorks R20
|
erstellt am: 18. Nov. 2014 11:18 <-- editieren / zitieren --> Unities abgeben:
Hallo Klaus unsere Teile versuchen wir so selten wenn möglich als Step zu bekommen - macht es schneller und leichter, was die spätere Modifizierung angeht. Die meisten bieten ja schon ClickToCAD an aber eben nicht alle Und wenn sich dann so ein Problem an der Basis beseitigen lassen sollte - ziehe ich das allemal vor! Viele Grüße - Axel Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
GWS Ehrenmitglied V.I.P. h.c. Konstrukteur Sondermaschinenbau
Beiträge: 2401 Registriert: 23.07.2001 Nach drei Jahren Inventor wieder zurück zu SolidWorks: SWX 23 SP4, PDM Professionell.
|
erstellt am: 18. Nov. 2014 11:26 <-- editieren / zitieren --> Unities abgeben: Nur für goofy_ac
Nur meinen Senf dazu: STEP ist schon ganz nett, aber noch netter ist ein File als Parasolid. Das muss SWX nicht groß wandeln, weil es selbst intern die Solids als Parasolid abspeichert. Grüße Günter Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
goofy_ac Mitglied Produktentwickler
Beiträge: 1130 Registriert: 20.06.2006 Dell Precision 7740; i7/9850@2,6GHz Quadro RTX5000; 32GB; Win10x64 prof. SWX2022 SP5; dbWorks R20
|
erstellt am: 18. Nov. 2014 11:31 <-- editieren / zitieren --> Unities abgeben:
Hallo Andreas meinen herzlichen Dank! Das ist, denke ich, DIE Lösung für uns! Hast Du jetzt aber hoffentlich nicht aus dem Stehgreif programmiert? Habs an mehreren anderen Teilen ausprobiert - klappt tadellos Heute Abend werde ich mir in Ruhe mal beide Codes ansehen, wie sie sich in Funktion unterscheiden - meine letzten Programmierungen liegen ein paar zig Jahre zurück Ü´s sind unterwegs! Einen erfolgreichen Tag wünsche ich Euch Viele Grüße - Axel Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |