Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  SolidWorks
  VBA Problem

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
  
AMB
Autor Thema:  VBA Problem (2530 / mal gelesen)
darthkali
Mitglied
Konstrukteur Formenbau


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

Beiträge: 75
Registriert: 24.02.2010

Win 7 64Bit
Solid Works 2016
Intel Xeon CPU E3-1240 v5
16GB RAm
nvidia Quadro M2000 (4GB)

erstellt am: 14. Feb. 2017 11:07    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 Zusammen,

Ich hoffe das Thema VBA und SW ist hier richtig. Ich habe dazu kein seperates Unterforum gefunden. Wenn nicht bitte verschieben.

Nun zu meinem Problem:

Ich arbeite seit anfang des Jahres mit SolidWorks und habe zu meiner Freude entdeckt, dass man hie rmit VBA Programmieren kann.
Das habe ich gleich mal genutzt und mir ein Paar nützliche Tools zu basteln.
Jedoch bekomme ich immer wieder probleme mit VBA bzw den Makros!

Und zwar treten hier 2 verschiedene Phänomene auf:
Ich arbeite gerade an meinem Makro und kann es nicht mehr speichern. Wenn ich VBA schließe kommt die Meldung: Wollen Sie "Das Makro" speichern? Wenn man das bejat, wird    dennoch nicht gespeichert. Ich habe hier 2 vermutungen, woran es liegen könnte: Zum einen arbeite ich mit Excel zusammen. Hab hier die 14.0 Lib in verwendung. Zum anderen vermute ich, das es ggf dann passiert wenn ein anderer User das Toll auf hat bzw ich es in 2 Solid Works nutze.
Hat damit schon mal jemand erfahrung gesammelt?

Mein zweites und wesentlich schwerwigenderes Problem ist folgendes:
Warum auch immer, aber manchmal nach dem Speichern, zerstört sich das makro von selbst. Ich kann es dann weder bearbeiten noch ausführen noch den shortcut neu belegen. Entweder SW lädt sich nen Wolf und kommt auch nach 2 Stunden (habe ich getestet) immer noch nicht zu einem ergebnis. Oder es kommt direkt die Meldung Solid Woks ist abgestürzt.
Zu beginn dachte ich, dass es ebenfalls was mit Excel zu tun hat oder auch an einem Code den ich geschrieben habe.
Jedoch ist es heute wieder aufgetreten! ich habe eine neue Userform mit einem Textblock und 3 Button eingefügt. Alles ohne Code und sonstiges. Und auf einmal war das Tool tod.

Kennt jemand diese Probleme und hat ggf ein Paar Tips, woran es liegen kann?

Grüße Danny

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. Feb. 2017 11:13    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 darthkali 10 Unities + Antwort hilfreich

Hallo Danny,

ja, von diesen Phänomen habe ich schon gehört und du wirst hier auch im Brett einige Threads dazu finden, die ähnliches (Fehl) Verhalten schildern. Ich persönlich habe solche (oder ähnliche) Schwierigkeiten immer nur gehabt, wenn ich die Makros direkt auf einem Netzlaufwerk abgelegt, dort editiert und im schlimmsten Fall gleichzeitig jemand anderes die ausgeführt hat.

Woran das liegt kann ich dir nicht sagen. Meine Empfehlung ist recht eindeutig: Makros entwickeln/editieren ausschließlich auf der lokalen Maschine und nur auf der lokalen Platte speichern, dann ggf. zur Verwendung durch andere auf eine Netzwerkressource kopieren. Mit lokalen Makros habe ich noch nie solche Art Schwierigkeiten gehabt.

Aber vielleicht haben andere da auch noch andere Tipps und Erfahrungen, da kommt bestimmt noch was zusammen.

Ciao,
Stefan

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

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

Torsten Niemeier
Ehrenmitglied V.I.P. h.c.
Maschinenbau Ingenieur



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

Beiträge: 3682
Registriert: 21.06.2001

"ZUSE I.36", 8 BIT, 32 Lämpchen, Service-Ölkännchen "ESSO-Super", Software: AO auf Kuhlmann-Parallelogramm-Plattform
** CSWP 04/2011 **
** CSWE 08/2011 **

erstellt am: 14. Feb. 2017 11:25    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 darthkali 10 Unities + Antwort hilfreich

Wie Stefan schon schrieb, ist der plötzliche Makrotod hinlänglich bekannt, siehe z.B. Forensuche mit “makro schwerer fehler“.
Da hat sich offenbar seit mehreren SWX-Versionen nicht wirklich was verbessert.
Neben der Rettungsmaßnahme mit einer älteren Version kann ich noch empfehlen, gelegentlich bei noch funktionierendem Makro einmal alle Module und Forms zu exportieren und in einem ganz neuen Makro wieder zusammenzustöpseln.
Das neue Makro ist dann meist wesentlich kleiner als das alte und verhält sich zumindest eine Zeit lang unauffällig.
BTW: Der Makrotod tritt bei mir auch völlig lokal auf, allerdings vorwiegend bei relativ grossen Programmen. Bin aber auch noch auf 2013.


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

Torsten Niemeier
Ehrenmitglied V.I.P. h.c.
Maschinenbau Ingenieur



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

Beiträge: 3682
Registriert: 21.06.2001

"ZUSE I.36", 8 BIT, 32 Lämpchen, Service-Ölkännchen "ESSO-Super", Software: AO auf Kuhlmann-Parallelogramm-Plattform
** CSWP 04/2011 **
** CSWE 08/2011 **

erstellt am: 14. Feb. 2017 11:28    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 darthkali 10 Unities + Antwort hilfreich

Nachtrag:
Willkommen auf diesem Brett!

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: 14. Feb. 2017 11:35    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 darthkali 10 Unities + Antwort hilfreich

Zitat:
Ich arbeite gerade an meinem Makro und kann es nicht mehr speichern. .... Zum anderen vermute ich, das es ggf dann passiert wenn ein anderer User das Toll auf hat bzw ich es in 2 Solid Works nutze...

Beim Netzlaufwerk genügt es - zumindest mit swx2012 noch - wenn jemand das makro einmal ausgeführt _hat_. Es wird dann einfach nicht wieder freigegeben. Wer es zuerst aufgerufen hatte, behält es den ganzen Tag mit Schreibzugriff im Speicher ...
Es könnte sein, dass das mit neueren Versionen anders ist.

Wie Stefan schreibt: lokal editieren, dann passiert da nichts.
oder das Makro am Ende entladen lassen - hab ich mir so gemacht:

Code:
Sub Unload_me()
    Dim swApp As Object
    Dim boolstatus As Boolean
    Dim myMacroPathName As String
    Dim runMacroError As Long
    Set swApp = CreateObject("SldWorks.Application")  'Application.SldWorks
    myMacroPathName = swApp.GetCurrentMacroPathName
    boolstatus = swApp.RunMacro2(myMacroPathName, "tools", "ciao", swRunMacroUnloadAfterRun, runMacroError)
End Sub

Sub ciao()
    Rem nix tun ausser verschwinden ...
End Sub


Zitat:
... manchmal nach dem Speichern, zerstört sich das makro von selbst...

möglich, dass es mit dem Speichern zu tun hat, aber passiert mir relativ selten.
Praktisch ist dann, wenn man den Quelltext hat - also ab und an Exportieren als Sicherung.

Gruß, Christian

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: 14. Feb. 2017 13: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 Nur für darthkali 10 Unities + Antwort hilfreich

Hallo zusammen,

unsere Makros liegen auch alle im Netz. Bei uns (aktuell SWX2014) machen wir es grundsätzlich so dass immer wenn Änderungen am Makro notwendig sind ein neues Makro (die haben bei uns im Namen noch eine Versionsnummer) mit nächsthöherer Nummer erzeugt wird und da dann die Änderungen durchgezogen werden. Das kommt daher dass wir bei ca. 100 Usern nie sagen können wer es denn gerade im Zugriff hat.

BTW wenn es nur um ein paar User geht ist es einfach. Die müssen einfach einmal SWX schließen, dann ist auch der dabei der's quasi gesperrt hat.

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

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

Torsten Niemeier
Ehrenmitglied V.I.P. h.c.
Maschinenbau Ingenieur



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

Beiträge: 3682
Registriert: 21.06.2001

"ZUSE I.36", 8 BIT, 32 Lämpchen, Service-Ölkännchen "ESSO-Super", Software: AO auf Kuhlmann-Parallelogramm-Plattform
** CSWP 04/2011 **
** CSWE 08/2011 **

erstellt am: 14. Feb. 2017 13:38    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 darthkali 10 Unities + Antwort hilfreich

@Jörg:

Auch bei nur ein paar Usern halte ich Deine beschriebene Methode für sehr, sehr angesagt.

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: 14. Feb. 2017 13: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 darthkali 10 Unities + Antwort hilfreich

@Thorsten

es heißt ja so schön "aus Schaden wir man klug". Wenn man oft genug auf die Schnauze fällt dann sucht man eben eine andere Lösung. Es ist ja schon seit vielen Jahren so dass so arme Admins wie ich die meiste Zeit damit verbringen Probleme mit CAD-Software (das gilt allgemein für CAD) zu umschiffen da sich die Probleme nur vom Hersteller sauber beheben lassen und es hilft mir nichts wenn ich die Mitteilung bekomme in der Version XXX ist das dann im SPX behoben. Meine User schreien eben sofort.

Das mit den Makros machen wir schon seit Jahren so.

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

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: 15. Feb. 2017 09:31    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 darthkali 10 Unities + Antwort hilfreich

Hallo Danny,

Willkommen im WBF  

Das mit dem Speichern funktioniert auch in 2016 nicht, wenn das Makro schon von einem anderen Benutzer geladen wurde.

Entwickeln tu ich immer mit einer Kopie des Makros, die aktuelle Makroversion ist noch als .zip Datei als Sicherung vorhanden.

Wenn eine neue Version des Makros fertig ist, kopiere ich diese einfach und ersetzte die alte Version damit.

Das ersetzten funktioniert meistens auch wenn andere User das Makro geladen haben.
Zusätzlich laufen bei uns die am meisten genutzten Makros lokal auf jedem Rechner (wird per Batch-Datei kopiert), so konnten wir die meisten "Makrofehler" ausmertzen.


Gruß Christoph
------------------
Wer einen Fehler findet darf ihn behalten,
wer zwei findet kann beide behalten,
ab fünf Fehler gibs Rabatt :-)

[Diese Nachricht wurde von Christoph Weise am 15. Feb. 2017 editiert.]

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

darthkali
Mitglied
Konstrukteur Formenbau


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

Beiträge: 75
Registriert: 24.02.2010

Win 7 64Bit
Solid Works 2016
Intel Xeon CPU E3-1240 v5
16GB RAm
nvidia Quadro M2000 (4GB)

erstellt am: 23. Feb. 2017 09: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

So da bin ich wieder!
Sorry für die Späte Antwort, aber irgendwie hatte ich keinen Zugriff mehr auf mein Konto und konnte das Passwort auch nicht zurücksetzen. Jetzt gehts wieder! 

Ich hatte mir das schon fast gedacht, dass ich hier keine Saubere Lösung bekommen kann. Das Seperate Arbeiten habe ich auch schon eingeführt und es funktioniert soweit ganz gut. Mit einigen backupdateien ist bisher kein Verlist mehr aufgetreten.

Danke fürs Feedback!

Grüße Danny

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