| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für SOLIDWORKS |
| |
| FMB |
Autor
|
Thema: Makros mit SolidWorks 2001 und 2001Plus (252 mal gelesen)
|
Eric Mitglied Selbstständig / CAD Dienstleistungen
Beiträge: 4 Registriert: 06.05.2002
|
erstellt am: 06. Mai. 2002 09:54 <-- editieren / zitieren --> Unities abgeben:
Hallo, ich habe folgende Problem. Vor kurzem habe ich SolidWorks 2001Plus (SP 2.0) installiert, wobei die Installation von SolidWorks 2001 (SP 11) beibehalten wurde [ich arbeite für verschiedene Kunden]. Wenn jetzt ein bestehende Makro mit SolidWorks 2001Plus gestartet wird, wird diese Makro nicht mit SolidWorks 2001Plus ausgeführt sondern SolidWorks 2001 startet und es wird versucht damit diese Makro auszuführen. Ist jemanden dieses Problem bekannt? Danke 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: 06. Mai. 2002 11:04 <-- editieren / zitieren --> Unities abgeben: Nur für Eric
Hallo Eric, ich vermute mal, in dem Makro steht irgendwo hart verankert die SolidWorks Version drin. Such mal nach der Zeile ... CreateObject("SldWorks.Application"), da steht bei dir wahrscheinlich so etwas wie CreateObject("SldWorks.Application.9") , dadurch wird gezielt die Version 2001 gestartet. Einfach die Nummer zum Schluß wegmachen, dann sollte es wieder gehen. Ciao, Stefan ------------------ Inoffizielle deutsche SolidWorks Hilfeseite http://solidworks.cad.de Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Eric Mitglied Selbstständig / CAD Dienstleistungen
Beiträge: 4 Registriert: 06.05.2002
|
erstellt am: 06. Mai. 2002 12:39 <-- editieren / zitieren --> Unities abgeben:
Hallo Stefan, Ich habe in verschiedene Makro's die Zeile mit ...CreateObjekt("SldWorks.Application") gefunden und habe anstatt ...Application.9") ...Application.10") eingetragen und siehe da SolidWorks 2001Plus wird gestartet. Jedoch, in viele Makro's werden ".exe" Dateien gestartet die wiederum von meinen Kundschaft stammen. Ich muss mich erkundigen wie der Quelltext genau aussieht. Vielen Dank für den Hinweis. Eric Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Mike Mitglied Konstrukteur
Beiträge: 544 Registriert: 23.06.2000 SolidWorks Professional 2012 SP5, 64bit; Xenon 2,66MHz; NVidia Quadro FX 1500; 6GB RAM; Windows 7
|
erstellt am: 06. Mai. 2002 21:49 <-- editieren / zitieren --> Unities abgeben: Nur für Eric
Hallo Eric, Ich würde es machen wie Stefan beschrieben hat - nicht 10 anstatt 9 schreiben - sondern ganz weglassen - damits auch in allen Versionen funkt! oder ist es gewünscht, daß das Makro nur in der einen Version läuft ? Gruß Mike ------------------ Mathis Michael Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Eric Mitglied Selbstständig / CAD Dienstleistungen
Beiträge: 4 Registriert: 06.05.2002
|
erstellt am: 07. Mai. 2002 14:20 <-- editieren / zitieren --> Unities abgeben:
Hallo Mike, Grundsätzlich sind die Zeilen ohne 9 oder 10 (z.B. wie unten)! Das ist es ja gerade. Obwohl SolidWorks 2001Plus bereits läuft, wird trotzdem Solidworks 2001 gestartet. Ich habe gestern mit einem der die Makro geschrieben hat gesprochen. In seinen ".exe" Routinen wird auch abgefragt. Er wird sich drum kümmern und es mir mitteilen. Hoffentlich hat er eine Lösung. Eric ********************************************************************** Sub main() Dim swApp As Object Dim Model As Object Set swApp = CreateObject("SldWorks.Application") swApp.Visible = True Set Model = swApp.ActiveDoc If Model Is Nothing Then Call MsgBox("Keine Datei geöffnet", vbOKOnly, "Information") Exit Sub End If MyAppID = Shell("C:\makros\bin\datei.exe", 1) End Sub ********************************************************************** Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Armin B Mitglied Software Engineer ERP/PLM/CAD
Beiträge: 208 Registriert: 04.09.2000 Sw 2015 SP3
|
erstellt am: 07. Mai. 2002 15:34 <-- editieren / zitieren --> Unities abgeben: Nur für Eric
Eric, Es kommt halt immer drauf an, wer zuletzt seinen Eintrag in der Registry hinterlassen hat. Im Klartext: Jede Applikation kann dort eintragen, welchen exakten Applikationsnamen sie hat (z.B: "SolidWorks.Application.9") und welchen allgemeinen Applikationsnamen sie hat (also "SolidWorks.Application") zu jedem Eintrag gibt's dann jeweils einen Server, der in Deiner Registry dann "C:\Programme\SolidWorks2001\SldWorks.exe" (oder so ähnlich) ist. Möglicherweise hast Du nach entweder SolidWorks 2001 nach 2001 Plus nochmal drüberinstalliert, oder nach einer Aufräumaktion in der Registry hat sich der OLE-Server von SolidWorks 2001 erneut registriert (kann vorkommen). Du solltest also mal nach "SolidWorks.Application" in der Registry suchen und den InProcServer auf den richtigen Pfad respektive Version umbiegen. Hab jetzt keine Zeit Dir den Key rauszusuchen... Gruß, Armin Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Eric Mitglied Selbstständig / CAD Dienstleistungen
Beiträge: 4 Registriert: 06.05.2002
|
erstellt am: 10. Mai. 2002 09:45 <-- editieren / zitieren --> Unities abgeben:
Hallo Armin, Ich habe deinen Rat befolgt. Ich bin auf folgendeweise vorgegangen. 1. In C:\WINNT\regedit.exe nach Schlüssel "SldWorks.Application" gesucht. 2. Wert aus Schlüssel "CLSID" in die Zwischenablage gestellt. 3. Nach Schlüssel aus Wert von "CLSID" gesucht. (In meinen Fall "{B49E4B36-A1A9-46A4-A738-545948A64113}" 4. Wert (Pfadangabe) in Schlüssel "LocalServer32" auf entsprechende Verzeichnis von SolidWorks 2001Plus geändert. (In Meinen Fall "C:\PROGRA~1\SOLIDW~3\sldworks.exe") Nach Aufruf von Makros innerhalb von SolidWorks 2001Plus laufen die Routinen richtig. Vielen Dank für Eure Hilfe. Eric Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Armin B Mitglied Software Engineer ERP/PLM/CAD
Beiträge: 208 Registriert: 04.09.2000 Sw 2015 SP3
|
erstellt am: 13. Mai. 2002 09:09 <-- editieren / zitieren --> Unities abgeben: Nur für Eric
|