Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  SolidWorks
  Schriftfeld Makro

Antwort erstellen  Neues Thema erstellen
CAD.de Login | Logout | Profil | Profil bearbeiten | Registrieren | Voreinstellungen | Hilfe | Suchen

Anzeige:

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen nächster neuer Beitrag | nächster älterer Beitrag
  
Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für SOLIDWORKS
  
Intertool 2024
Autor Thema:  Schriftfeld Makro (4657 mal gelesen)
Tortos
Mitglied
Konstrukteur


Sehen Sie sich das Profil von Tortos an!   Senden Sie eine Private Message an Tortos  Schreiben Sie einen Gästebucheintrag für Tortos

Beiträge: 86
Registriert: 20.01.2003

erstellt am: 14. Nov. 2003 10:06    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo

Ich hab leider mit der Suchfunktion die passende Antwort auf mein Problem nicht gefunden.

Ich hab 2003 SP5 und 2004 SP1 installiert. Wenn ich jetzt mein Schriftfeld in einer 2003 Zeichnung ausfüllen will, Öffnet das Makro 2004 und sagt es wäre keine Datei geöffnet.
Ich kenn mich leider nicht so gut mit Makros Programmieren aus und weiß nicht was ich ändern muß.

Mfg
Tortos

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

StefanBerlitz
Guter-Geist-Moderator
IT Admin (CAx)



Sehen Sie sich das Profil von StefanBerlitz an!   Senden Sie eine Private Message an StefanBerlitz  Schreiben Sie einen Gästebucheintrag für StefanBerlitz

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: 14. Nov. 2003 10:19    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Tortos 10 Unities + Antwort hilfreich

Hallo Tortos,

normalerweise sollte es gehen, wenn du vorher die SoldiWorks-Version öffnest, mit der du arbeiten willst. Du sagst "Makro", das SolidWorks öffnet ... also ist es wohl kein SolidWorks Makro, oder doch?

Wenn trotz vorigem Öffnen noch ein weiteres SW2004 dann aufgeht steht irgendwo im Makro hart die Nummer mit drin (da muss es ein oder mehrere Aufruf CreateObject oder GetObject geben, da kann man bei SldWorks.Application auch eine Nummer mitgeben, aber das sollte man nur tun, wenn man wirklich eine bestimmte Version haben will).

Falls du das damit nicht finden kannst müßtest du das Makro mal mit anhängen, damit das hier einer suchen kann. 

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

Tortos
Mitglied
Konstrukteur


Sehen Sie sich das Profil von Tortos an!   Senden Sie eine Private Message an Tortos  Schreiben Sie einen Gästebucheintrag für Tortos

Beiträge: 86
Registriert: 20.01.2003

erstellt am: 14. Nov. 2003 10:52    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hi Stefan

Es ist ein SWXSolidWorks Makro und Ich starte es aus 2003, dann öffnet er 2004.
es steht ein CreateObject drin. Allerdings ohne Versionsnummer und ich weiß nicht was Ich hinschreiben muß damit es mit 2003 SP5 funtioniert.

Mfg
Tortos

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

StefanBerlitz
Guter-Geist-Moderator
IT Admin (CAx)



Sehen Sie sich das Profil von StefanBerlitz an!   Senden Sie eine Private Message an StefanBerlitz  Schreiben Sie einen Gästebucheintrag für StefanBerlitz

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: 14. Nov. 2003 11:22    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Tortos 10 Unities + Antwort hilfreich

Hallo Tortos,

hm, das ist wirklich merkwürdig 

Kannst du das Makro anhängen?

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

Tortos
Mitglied
Konstrukteur


Sehen Sie sich das Profil von Tortos an!   Senden Sie eine Private Message an Tortos  Schreiben Sie einen Gästebucheintrag für Tortos

Beiträge: 86
Registriert: 20.01.2003

erstellt am: 14. Nov. 2003 11:29    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities


Schriftfeld.zip

 

Hier das Makro. Ich hab gerade nochmal reingeschaut.
Es müsste dir eigentlich sehr bekannt vorkommen :-)

Mfg
Tortos

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Tortos
Mitglied
Konstrukteur


Sehen Sie sich das Profil von Tortos an!   Senden Sie eine Private Message an Tortos  Schreiben Sie einen Gästebucheintrag für Tortos

Beiträge: 86
Registriert: 20.01.2003

erstellt am: 14. Nov. 2003 11:36    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hi

Falsche Datei.
hab die falsche Datei angehängt.
Ist doch kein Makro sondern ne .exe Datei
Ich glaub die is von einem unserer Kunden. ich wend mich erst mal an den

trotzdem Danke

Mfg
Tortos

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

McT
Mitglied



Sehen Sie sich das Profil von McT an!   Senden Sie eine Private Message an McT  Schreiben Sie einen Gästebucheintrag für McT

Beiträge: 76
Registriert: 02.09.2003

XP64+CATIAV5R18
W764+SWX2012

erstellt am: 14. Nov. 2003 14:51    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Tortos 10 Unities + Antwort hilfreich

Hallo Tortos,

ich hatte früher mal so ein Problem mit Excel.
Die Lösung war damals "CreateObject" durch "GetObjetct" ersetzen !
Vielleicht klappts.

Uwe

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

DaBa
Mitglied
Entwickler Medizintechnik


Sehen Sie sich das Profil von DaBa an!   Senden Sie eine Private Message an DaBa  Schreiben Sie einen Gästebucheintrag für DaBa

Beiträge: 50
Registriert: 27.10.2000

WIN XP SP1
SWX 2004
SWX 2005
Dell Precision 350
nvidia Ouadro4 900XGL
512 MB Rambus

erstellt am: 01. Mrz. 2007 15:27    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Tortos 10 Unities + Antwort hilfreich

Hallo Stefan,

dieser Thread ist zwar alt, aber ich hab genau das Problem. Leider läßt sich das Problem bei mir nicht lösen wenn ich "CreateObject" durch "GetObject" ersetze. Mein Kollege, der mir das Makro von dir auf unsere Firma angepasst hat ist leider nicht mehr in der Firma.

Deshalb die Frage:  gibt es noch eine andere Lösung für das Problem, oder was mach ich Falsch?

der anhang funktioniert nicht, beim Upload kam die Meldung: unerlaubter dateityp. Wie kann ich eine Swp datei Anhängen?

gruß
Daniel

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Lutz Federbusch
Ehrenmitglied V.I.P. h.c.
Dipl.-Ing. Maschinenbau



Sehen Sie sich das Profil von Lutz Federbusch an!   Senden Sie eine Private Message an Lutz Federbusch  Schreiben Sie einen Gästebucheintrag für Lutz Federbusch

Beiträge: 3094
Registriert: 03.12.2001

alle SW seit 97+
AutoCAD2016-2022
ERP ProAlpha + CA-Link
Intel Core i7-7820K 32GB
Win10x64 Quadro K5000
SpacePilot

erstellt am: 01. Mrz. 2007 16:15    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Tortos 10 Unities + Antwort hilfreich

    Set SwApp = CreateObject("SldWorks.Application.10") 'SW2001+
    'Set SwApp = CreateObject("SldWorks.Application.13")'SW2005
    'Set SwApp = CreateObject("SldWorks.Application.14") 'SW2006

Das funktioniert bei mir.

------------------
Lutz Federbusch
Mein Gästebuch
Der Mensch, Herr oder Sklave der Technik?

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Oberli Mike
Ehrenmitglied V.I.P. h.c.
Dipl. Maschinen Ing.



Sehen Sie sich das Profil von Oberli Mike an!   Senden Sie eine Private Message an Oberli Mike  Schreiben Sie einen Gästebucheintrag für Oberli Mike

Beiträge: 3814
Registriert: 29.09.2004

SOLIDWORKS 2024 SP1.0
SOLIDWORKS 2023 SP5.0
SOLIDWORKS 2022 SP5.0
SOLIDWORKS 2021 SP5.1
SOLIDWORKS 2020 SP5
SOLIDWORKS 2019 SP5 (VM)

erstellt am: 01. Mrz. 2007 16:17    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Tortos 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von DaBa:
Wie kann ich eine Swp datei Anhängen?

Du kannst die Datei in ein zip - File packen
oder du kannst du Datei auf *.swp.txt umbenennen.

Gruss
Mike

------------------

The Power Of Dreams Schreib mal wieder

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

DaBa
Mitglied
Entwickler Medizintechnik


Sehen Sie sich das Profil von DaBa an!   Senden Sie eine Private Message an DaBa  Schreiben Sie einen Gästebucheintrag für DaBa

Beiträge: 50
Registriert: 27.10.2000

WIN XP SP1
SWX 2004
SWX 2005
Dell Precision 350
nvidia Ouadro4 900XGL
512 MB Rambus

erstellt am: 02. Mrz. 2007 08:30    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Tortos 10 Unities + Antwort hilfreich

Danke Mike,
das ist ja peinlich, da hät ich auch selbst drauf kommen müssen. Da hat wohl das eigentliche problem den rest vom hirn mal wieder ausgeschaltet.

gruß daniel

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

DaBa
Mitglied
Entwickler Medizintechnik


Sehen Sie sich das Profil von DaBa an!   Senden Sie eine Private Message an DaBa  Schreiben Sie einen Gästebucheintrag für DaBa

Beiträge: 50
Registriert: 27.10.2000

WIN XP SP1
SWX 2004
SWX 2005
Dell Precision 350
nvidia Ouadro4 900XGL
512 MB Rambus

erstellt am: 02. Mrz. 2007 08:44    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Tortos 10 Unities + Antwort hilfreich

Hallo Lutz,

vielen Dank für deinen Hinweis. Leider kann ich immer noch kein VBA.

Ich find zwar den Code wo ich das wahrscheinlich eingeben müßte.( ich habs auch gemacht aber es hat nicht funktioniert). Aber was ich nicht weiß, wo muß ich dem Makro sagen, dass die Anweisung:

  Set SwApp = CreateObject("SldWorks.Application.14") 'SW2006

Solidworks 2006 meint. Die 14 Steht bei mir im Code nicht drin. Ich denke es müßte ja dann irgendwo ein Verweis stehen, das damit SW2006 gemeint ist.

Bestimmt habe ich jetzt nicht die richtigen Terminologie verwendet.
Na ja,ich denke ich muß meinen lieben Exkollegen erreichen. Wir können ja jetzt kein VBA-Kurs übers Forum machen.
Aber ich weiß jetzt wenigsten wo das Makro einen Mangel hat und kann da weitersuchen.

Trotzdem nochmals vielen Dank für deine Hilfe.

Gruß Daniel

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

DaBa
Mitglied
Entwickler Medizintechnik


Sehen Sie sich das Profil von DaBa an!   Senden Sie eine Private Message an DaBa  Schreiben Sie einen Gästebucheintrag für DaBa

Beiträge: 50
Registriert: 27.10.2000

WIN XP SP1
SWX 2004
SWX 2005
Dell Precision 350
nvidia Ouadro4 900XGL
512 MB Rambus

erstellt am: 02. Mrz. 2007 09:14    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Tortos 10 Unities + Antwort hilfreich

Hurra, danke lutz ich habs rausbekommen.

die 14 ist die nummer aus der registry. mit "14" klappts ja ganz einfach.

nochmals tausend dank, manchmal sind halt nur kleinigkeiten die einen aufhalten.

gruß daniel

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Christoph Weise
Mitglied
Technischer Produktdesigner / Konstruktion / CAD-Admin


Sehen Sie sich das Profil von Christoph Weise an!   Senden Sie eine Private Message an Christoph Weise  Schreiben Sie einen Gästebucheintrag für Christoph Weise

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: 22. Jun. 2016 07:43    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Tortos 10 Unities + Antwort hilfreich

ACHTUNG! Sie antworten auf einen Beitrag der älter als 1 Jahr ist!

So 10 Jahre Später gleiches Problem
Solidworks 2014 Installiert und im Zuge der Umstellung im Urlaub 2016 installiert bekommen. Welch wunder nach dem Urlaub gibs Probleme 

Bei den meisten Makros hab ichs in griff bekommen indem ich das

Code:
Set swApp = CreateObject("SldWorks.Application")
durch
Code:
Set swApp = Application.SldWorks
ersetzt habe.

Allerdings habe ich auch ein Makro das Solidworks bei bedarf beendet und selbst neu startet. Hier funktioniert die Lösung nicht 

Meine Frage hierzu ist:

Kann ich abfragen welche Version von SolidWorks geöffnet ist und dann anschließend die gleiche wieder öffnen?

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

Manfred Kern
Mitglied
Softwareentwicklung CAD/CAM-Systembetreuung


Sehen Sie sich das Profil von Manfred Kern an!   Senden Sie eine Private Message an Manfred Kern  Schreiben Sie einen Gästebucheintrag für Manfred Kern

Beiträge: 86
Registriert: 25.05.2000

** CSWP 06/2004 **
DELL Precision 7530
SW 2020 SP5
SW 2019 SP3
Visual Studio 2017 pro

erstellt am: 23. Jun. 2016 13:41    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Tortos 10 Unities + Antwort hilfreich

Das sollte dir weiterhelfen :

        Debug.Print("SOLIDWORKS Version = " & swApp.RevisionNumber)
        swApp.GetBuildNumbers2(BaseVersion, CurrentVersion, HotFixes)
        Debug.Print("SOLIDWORKS major revision number: " & BaseVersion)
        Debug.Print("SOLIDWORKS build number: " & CurrentVersion)
        Debug.Print("SOLIDWORKS hot fix numbers: " & HotFixes)

dementsprechend dann die Versionsnummer eintragen

        Set SwApp = CreateObject("SldWorks.Application.24") 'SW2016

Gruß
Manfred

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Christoph Weise
Mitglied
Technischer Produktdesigner / Konstruktion / CAD-Admin


Sehen Sie sich das Profil von Christoph Weise an!   Senden Sie eine Private Message an Christoph Weise  Schreiben Sie einen Gästebucheintrag für Christoph Weise

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: 28. Jun. 2016 08:41    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Tortos 10 Unities + Antwort hilfreich

Guten Morgen,

Danke Manfred ich werds bei nächster Gelegenheit ausprobieren.

Das seltsame ist nur seit heute funktionieren an meinem Arbeitsplatz die "alten" Makro wieder an anderen Plätzen nicht. Eine bewusste Änderung gab es von mir aber nicht.
Weiß jemand worauf der Befehl

Code:
Set swApp = CreateObject("SldWorks.Application")

zugreift wenn keine Version angegeben ist?
Oder warum er die vorhandene SolidWorks Sitzung nicht erkennt und eine neue (dann mit der neueren Version) startet?

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

bk.sc
Ehrenmitglied V.I.P. h.c.
Konstrukteur Sondermaschinenbau



Sehen Sie sich das Profil von bk.sc an!   Senden Sie eine Private Message an bk.sc  Schreiben Sie einen Gästebucheintrag für bk.sc

Beiträge: 2776
Registriert: 18.07.2012

-Solid Works 2019 SP5
-Pro Engineer WF 3

erstellt am: 28. Jun. 2016 13:23    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Tortos 10 Unities + Antwort hilfreich


lastrunsolidworks_reg.PNG

 
Hallo Christoph,

ich glaub SWX legt irgendwo in der Regestry die Information der zuletzt beendeten Version ab auf die VBA beim CreateObject zurückgreift wenn keine Version mitgegeben wird.

Zitat:
Oder warum er die vorhandene SolidWorks Sitzung nicht erkennt und eine neue (dann mit der neueren Version) startet?

Hast du es auch mal mit GetObject an Stelle von CreateObject versucht?


Gruß
Bernd

------------------
--- Man muß nicht alles wissen, man muß nur wissen wo es steht ---

Staatlich anerkannte Deutschniete  

[Diese Nachricht wurde von bk.sc am 28. Jun. 2016 editiert.]

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Christoph Weise
Mitglied
Technischer Produktdesigner / Konstruktion / CAD-Admin


Sehen Sie sich das Profil von Christoph Weise an!   Senden Sie eine Private Message an Christoph Weise  Schreiben Sie einen Gästebucheintrag für Christoph Weise

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: 28. Jun. 2016 14:05    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Tortos 10 Unities + Antwort hilfreich

Hallo Bernd,

GetObject hab ich auch ausprobiert. In diesem Fall findet er keine laufende Sitzung (obwohl SolidWorks Makro und von SolidWorks aus gestartet) und bringt eine Fehlermeldung.

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

StefanBerlitz
Guter-Geist-Moderator
IT Admin (CAx)



Sehen Sie sich das Profil von StefanBerlitz an!   Senden Sie eine Private Message an StefanBerlitz  Schreiben Sie einen Gästebucheintrag für StefanBerlitz

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: 29. Jun. 2016 08:58    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Tortos 10 Unities + Antwort hilfreich


04273_clsid-und-versionen.png

 
Hallo Christoph,

Zitat:
Original erstellt von Christoph Weise:
Weiß jemand worauf der Befehl
Code:
Set swApp = CreateObject("SldWorks.Application")

zugreift wenn keine Version angegeben ist?
Oder warum er die vorhandene SolidWorks Sitzung nicht erkennt und eine neue (dann mit der neueren Version) startet?

Das mutet zwar wie Hexenwerk an, ist aber eigentlich recht einfach. Ich versuch es mal auseinander zu puzzeln:

SolidWorks trägt sich beim Installieren in die Registry ein, und zwar auf den "neutralen" Ast HKEY_CLASSES_ROOT\SldWorks.Application und auf den versionsabhängigen Ast HKEY_CLASSES_ROOT\SldWorks.Application.23, im Beispiel die SolidWorks 2015, die hat die interne Nummer 23. In diesem Ast gibt es jetzt immer einen Unterschlüssel namens CLSID und dieser hat als Standardwert eben die CLSID (ClassIdentifier) des eingetragenen Programms, beispielsweise {F16137AD-8EE8-4D2A-8CAC-DFF5D1F67522}

Wenn du jetzt mit einem Tool oder Makro per GetObject (an vorhandenes Objekt anklinken) oder CreateObject (anklinken oder dieses Objekt neu erstellen) die entsprechende Klasse aufrufen/erzeugen willst schaut Windows (nicht SolidWorks, nicht VB/VBA oder die Sprache deines Tools) in der Registry nach, findet die CLSID dieser Klasse, sucht wiederum in der Registry nach der CLSID im Ast HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID und darin dann im Unterschlüssel LocalServer32 nach dem Standardeintrag, in dem dann der Pfad zum aufrufenden Objekt steht, also der Pfad zur SolidWorks Exe.

Im angehängten Bild wird das vielleicht etwas deutlicher, wie das in der Registry aussieht. So funktioniert das meines Wissens nach mit dem CreateObject / GetObject.

Jetzt kommt der "Trick" von SolidWorks mit dem neutralen Ast: sobald SolidWorks gestartet wird trägt die gestartete Version ihre CLSID auch im neutralen Ast ein! Eh voila, per CreateObject/GetObject wird immer die Version aufgerufen, die zuletzt gestartet wurde. Das passiert(e) z.B. auch, wenn du ein SolidWorks im Explorer doppelklickst 


Warum taucht aber jetzt ein Problem auf, wenn das jahrelang gut geklappt hat?

Microsoft hat in seiner unendlichen Weisheit beschlossen, dass es für mündige Anwender viel zu gefährlich ist, wenn die Programme, die sie starten auch Änderungen in der Registry machen können, die die Maschine betreffen. Sicherheit vor allem 

Also haben Sie beginnend mit Windows 7 den kompletten Bereich HKLM schreibgeschützt für normale Anwender und Hauptbenutzer gemacht. Wie du oben gesehen hast steht aber der neutrale Ast auch in HKLM und das umschreiben on-the-fly klappt dann nicht mehr, weil du keine Schreibrechte hast. Du musst also lokaler Admin sein, damit dieses wieder funktioniert, und selbst das reicht nicht, du musst dein SolidWorks mit der rechten Maustaste anklicken und "Als Administrator ausführen" benutzen, damit sich deine gewünschte SolidWorks Version auch wieder in der Registry im neutralen Ast eintragen kann.

Unterm Strich wird also immer die Version gestartet, die als letztes von einem Administrator ausgeführt wurde. Oft passiert das nur ein einziges Mal: bei der Installation einer neuen Version.

Gemein wird es jetzt wenn du mehrere Versionen auf deinem Rechner hast und eine davon deinstallierst: das machst du ja als Admin, der neutrale Ast wird dabei auch "geleert", und wenn du danach keine der verbliebenen Versionen wieder als Admin startest ... Deswegen wird auch immer empfohlen, erst die alte Version zu deinstallieren und dann die neue zu Installieren, andersrum kann es schon mal doof enden.

Es gibt natürlich auch eine einfache Lösung, wenn man Zugriff auf die Registry hat: einfach den Schlüssel HKEY_CLASSES_ROOT\SldWorks.Application wieder schreibberechtigt für alle machen und der Spuk ist gegessen. Warum SolidWorks das nicht bei der Installation macht hab ich noch nie so wirklich verstanden ...

Ich hoffe, ich hab dich jetzt nicht noch weiter verwirrt - ich würde bei deinen Problemmaschinen mal in diesen Schlüssel schauen, ob bzw. was da eingetragen ist und ggf. einfach die gewünschte SolidWorks einmal als Admin starten, dann sollte es wieder klappen.

Ciao,
Stefan


------------------
Inoffizielle deutsche SolidWorks Hilfeseite    http://solidworks.cad.de

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Christoph Weise
Mitglied
Technischer Produktdesigner / Konstruktion / CAD-Admin


Sehen Sie sich das Profil von Christoph Weise an!   Senden Sie eine Private Message an Christoph Weise  Schreiben Sie einen Gästebucheintrag für Christoph Weise

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: 30. Jun. 2016 09:04    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Tortos 10 Unities + Antwort hilfreich

Guten Morgen Stefan,
Danke für die super Erklärung und du lagst wie immer goldrichtig mit dem Problem.

Der Registry Schlüssel ist nicht richtig gesetzt und wird auch vom normalen User nicht gesetzt. Deswegen kommt es je nach Installationsweise zu Problemen oder eben nicht.
Jetzt muss sich nur noch ein Admin drum kümmern das der richtige Schlüssel eingetragen ist.

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

jörg.jwd
Ehrenmitglied V.I.P. h.c.
CAD-PDM Administrator


Sehen Sie sich das Profil von jörg.jwd an!   Senden Sie eine Private Message an joerg.jwd  Schreiben Sie einen Gästebucheintrag für joerg.jwd

Beiträge: 3109
Registriert: 05.11.2003

erstellt am: 30. Jun. 2016 09:24    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Tortos 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von StefanBerlitz:
Microsoft hat in seiner unendlichen Weisheit beschlossen, dass es für mündige Anwender viel zu gefährlich ist, wenn die Programme, die sie starten auch Änderungen in der Registry machen können, die die Maschine betreffen. Sicherheit vor allem   

...davon kann ich auch ein Lied singen   Unsere Netzwerker sind standhaft bei ihre Meinung dass der UAC eigentlich noch höher als Maximum sein müsste. Ergo ballern sie den Usern den UAC mit Minimum Standard oder höchste Stufe mit dem Ergebnis dass die nicht mal mehr in den Current User schreiben können. Und die Krönung von dem Ganzen wenn UAC auf Standard oder höher steht und du versuchst eine .reg Datei auszuführen die nur in den CU schreibt bekommst du von Windows die Antwort du hättest erfolgreich in die Registriy geschrieben. Wenn du dann kontrollierst wirst du feststellen dass absolut nichts geschrieben wurde.  

Soviel zu Windows-Sicherheit  

Edit

mit CU meine ich natürlich Current User und nicht see you     

------------------
Grüße

Jörg

da ich weiß daß ich nichts weiß weiß ich immer noch mehr als die die nicht wissen daß sie nichts wissen (weiß nicht von wem)

[Diese Nachricht wurde von jörg.jwd am 30. Jun. 2016 editiert.]

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Christoph Weise
Mitglied
Technischer Produktdesigner / Konstruktion / CAD-Admin


Sehen Sie sich das Profil von Christoph Weise an!   Senden Sie eine Private Message an Christoph Weise  Schreiben Sie einen Gästebucheintrag für Christoph Weise

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: 01. Jul. 2016 09:10    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Tortos 10 Unities + Antwort hilfreich

Hallo Jörg

das mit den Registry Einträgen ist mir auch zu gut bekannt. Seltsamerweise selbst wenn die Rechte vorhanden sind trägt er nicht immer alles ein, erst nach mehrmaligen ausführender reg Datei.

Und die Windows Meldung ist auch umsonst da hier keine Überprüfung stattfindet. 

wär vlt. was für ein kleines Makro "Reg sicher eintragen" 

------------------
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

Anzeige.:

Anzeige: (Infos zum Werbeplatz >>)

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen

nächster neuerer Beitrag | nächster älterer Beitrag
Antwort erstellen


Diesen Beitrag mit Lesezeichen versehen ... | Nach anderen Beiträgen suchen | CAD.de-Newsletter

Administrative Optionen: Beitrag schliessen | Archivieren/Bewegen | Beitrag melden!

Fragen und Anregungen: Kritik-Forum | Neues aus der Community: Community-Forum

(c)2024 CAD.de | Impressum | Datenschutz