Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  SolidWorks
  Adminrechte schränken VBA zugriff ein, sind aber zum öffnen großer Baugruppen nötig

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
  
16. mav Innovationsforum 2024
Autor Thema:  Adminrechte schränken VBA zugriff ein, sind aber zum öffnen großer Baugruppen nötig (2353 mal gelesen)
Hassi
Mitglied
Mechatronik Ingenieur (B.Eng) - Metallbau_Konstruktionstechniker_Meister (HWK)


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

Beiträge: 71
Registriert: 04.01.2010

Solidworks 2022

erstellt am: 09. Jul. 2018 16:26    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

Langer Titel, der hoffentlich nicht zu verwirrend ist.
Um was es geht:
Wir benutzen (noch) Solidworks 2013 auf Windows 7 und haben damit zu kämpfen große Baugruppen (z.B. mit 80 eindeutigen Komponenten und vielen Gleichungen) zu öffnen. Es stürzt immer ab... Es sei denn ich lasse das Programm als Administrator laufen. Dann klappt es wunderbar wenn ich erst die Zeichnung (im Modus Vollständig) öffne und anschließend die Baugruppe.
Edit1: Sehr verwirrend: ich habe das nochmal getestet und jetzt stürzt es wieder immer ab wenn ich die Baugruppe öffne und ich kann nie von Excel auf Solidworks zugreifen

Um unsere Arbeit zu beschleunigen habe ich einige Makros in VBA programmiert die auch wunderbar funktionieren, solange sie in Solidworks ausgeführt werden.
Da aber Daten nach Excel exportiert werden müssen und von dort (aufbereitet) weiter in ein anderes Programm sollen die Makros in Excel laufen. Das Funktioniert auch so lange ich Solidworks NICHT mit Administratorrechte ausführe  

Ich denke das Problem ist verständlich rübergebracht. Kurz:
Ohne Adminrechte kann ich die Baugruppe nicht öffnen, mit Adminrechte kann ich die Makros nicht extern ausführen.

Was ich benötige ist eine Lösung für mindestens eines der Beiden Probleme. Habt ihr Ideen was ich machen kann?

Hier der Code, der Probleme macht:

    Dim swApp As SldWorks.SldWorks
    Dim swModel As SldWorks.ModelDoc2
    Dim swConf As SldWorks.Configuration
    Dim swRootComp As SldWorks.Component2
    Dim nStart As Long
    Dim bRet As Boolean

    Set swApp = CreateObject("SldWorks.Application.21")
    Set swModel = swApp.ActiveDoc

Das Problem beim Makro ist, dass swApp.ActiveDoc "Nothing" zurück gibt, so, als ob kein Dokument geöffnet wäre. Allerdings kann ich mit z.B. swApp.FrameHeight ohne Probleme anzeigen lassen. Daher denke ich liegt das an den Zugriffsrechten. Aber selbst wenn ich Excel als Administrator laufen lasse (was wiederum andere Probleme mit sich zieht - etwa dass ich keine Arbeitsmappen öffnen kann, die auf einem Netzlaufwerk liegen) funktioniert swApp.ActiveDoc nicht richtig. 

[Diese Nachricht wurde von Hassi am 09. Jul. 2018 editiert.]

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: 10. Jul. 2018 06: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 Nur für Hassi 10 Unities + Antwort hilfreich

Hallo,

hat statt CreateObject (neue Instanz erstellen) GetObject (vorhandene Instanz nutzen) nicht funktioniert, bzw. hast du das schon probiert?

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)



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: 10. Jul. 2018 08: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 Hassi 10 Unities + Antwort hilfreich


31512_sldworks-startet-adm.png

 
Hallo Hassi,

das klingt für mich eher so, dass du ein separates Administratorkonto hast - und das könnte beide Probleme erklären.

Zu dem VBA-Problem: wenn du als Administrator (sagen wir, es ist der Account SuperHasi   ) das SolidWorks startest bekommst du einen sldworks.exe Prozess, mit dem die Prozesse aus dem Prozessraum von SuperHasi kommunizieren können. Wenn du also Excel dann als SuperHasi startest sieht der das sldworks.exe und kann darauf zugreifen.

Wenn du als normaler Anwender (sagen wir der heißt Hassi) SolidWorks startest ist es dasselbe; im Prozessraum von Hassi wird es ein sldworks.exe geben und ein Excel, das als Hassi gestartet wurde, sieht das und kann darauf zugreifen.

Jetzt startest du SolidWorks als SuperHasi, um das Problem mit dem Absturz zu umgehen (siehe unten), lädst da deine Baugruppe rein und startest dann ein Excel als Hassi. Wenn das Excel jetzt die "normale" Prozedur durchläuft, und sich per CreateObjekt an ein SolidWorks anhängen will, sieht es in seinem Prozessraum keines und startet ein neues. Jetzt hast du zwei sldworks.exe Prozesse, eines von SuperHasi mit der Baugruppe und eines von Hassi, in dem kein Dokument geöffnet ist und das du auf dem Bildschirm normalerweise auch nicht siehst, weil es (noch) nicht sichtbar ist. In diesem "leeren" SolidWorks greift das Excelmakro jetzt auf das aktuelle Dokument, da ist logischerweise keins, die Objektvariable wird "Nothing" und das Makro bricht ab.

Siehe Screenshot, da hab ich das mal nachgestellt.

Du musst also dafür sorgen, dass dein Excel und dein SolidWorks im selben Prozessraum laufen, entweder beides als Hassi oder SuperHasi starten.

Kommen wir zu dem Absturzproblem: wenn es unter dem einen Anwender abstürzt (Hassi) und unter dem anderen nicht (SuperHasi) könnte es an den Einstellungen in SolidWorks liegen. Du kannst versuchen die zurückzusetzen, in der Registry zu löschen, von einem Anwender, bei dem es klappt, übertragen (z.B. mit dem Assistenten).

Das würde zumindest alle deine Beobachtungen erklären, vielleicht kannst du in die Richtung weiter forschen.

Ciao,
Stefan


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

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

Hassi
Mitglied
Mechatronik Ingenieur (B.Eng) - Metallbau_Konstruktionstechniker_Meister (HWK)


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

Beiträge: 71
Registriert: 04.01.2010

Solidworks 2022

erstellt am: 10. Jul. 2018 08:34    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

Super, Danke Stefan!
Das werd ich gleich mal ausprobieren  

Edit1:
Mit swApp.Visible = True im normalen Excel wird mir doch tatsächlich ein neues SWX Fenster angezeigt obwohl ich schon eine Instanz mit Adminrechte laufen hab. Mach ich das gleiche mit Excel als Administrator greift er auf das als Administrator laufende SWX zu 

[Diese Nachricht wurde von Hassi am 10. Jul. 2018 editiert.]

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: 10. Jul. 2018 08: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 Hassi 10 Unities + Antwort hilfreich

[OT]
Zitat:
sagen wir, es ist der Account SuperHasi :D

Zitat:
sagen wir der heißt Hassi

Made my day 
[/OT]

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

Hassi
Mitglied
Mechatronik Ingenieur (B.Eng) - Metallbau_Konstruktionstechniker_Meister (HWK)


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

Beiträge: 71
Registriert: 04.01.2010

Solidworks 2022

erstellt am: 10. Jul. 2018 09:08    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 Bernd, das hatte ich probiert, allerdings immer einen Runtimerror erhalten. Den bekomme ich nicht mehr wenn ich sowohl Excel, als auch Solidworks, als Administrator laufen lasse.

als kleine Wertetabelle dargestellt:
Admin in      getObject
Excel SWX    Funktioniert 
  0    0          0
  0    1          0
  1    0          0
  1    1          1

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

Christian_W
Ehrenmitglied V.I.P. h.c.
Konstrukteur (Dipl-Ing)


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

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: 11. Jul. 2018 16:47    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 Hassi 10 Unities + Antwort hilfreich

Zitat:
... große Baugruppen (z.B. mit 80 eindeutigen Komponenten und vielen Gleichungen) zu öffnen. Es stürzt immer ab...

Hallo,

sieht für mich nicht nach einer großen Baugruppe aus.
viele Gleichungen kann zu unstimmigkeiten führen, wenn man da potenzielle oder tatsächliche Kreisreferenzen produziert.
hast du auch noch externe Referenzen in den Gleichungen?
(funktioniert die automatische Lösungsreihenfolge?)

wenn jetzt ein Benutzerprofil einen Eintrag hat "Fehler ignorieren" oder "keinen neuaufbau", kann es sein, dass es damit klaptt und mit dem anderen nicht.

Gruß, Christian

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