Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  SolidWorks
  Einklinken in Standard Buttons

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
  
7 Tipps für die Konstruktion von Kunststoffteilen und Spritzgussformen, ein Webinar am 27.06.2025
Autor Thema:  Einklinken in Standard Buttons (1828 mal gelesen)
CBon
Mitglied
Dipl.-Ing. (FH) Maschinenbau


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

Beiträge: 56
Registriert: 28.05.2004

erstellt am: 20. Nov. 2006 08: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

Moin moin, SolidWorksler,

wollt mal fragen, wie ich am geschicktesten mich beim Speichern und Drucken einer SolidWorks-Zeichnung dazwischen klemmen kann, das zuvor noch ein anderes Makro ausgeführt wird und dann erst gespeichert, bzw. gedruckt wird?

Möchte dabei aber die NORMALEN Buttons verwenden.
Oder sollte ich mir EIGENE Buttons erstellen und diese anstelle der Normalen setzen? Hoffe aber, es gibt noch eine bessere, elegantere Lösung.

Danke euch im voraus

------------------
Gruß aus Braunschweig
Carsten 

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

tbd
Mitglied
Teamleiter


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

Beiträge: 825
Registriert: 26.01.2006

Dell Percision T5400
Intel(R) Xeon(R) CPU
X5460 @ 3.16GHz
3,25 GB RAM
Nvidia Quadro FX 4600
-----
Win XP Prof SP 3
SW 2008 SP 5.0
PARTsolutions 8.1.08
Cideon SAP PLM 5.103.5.17
Visual Studio 2008

erstellt am: 20. Nov. 2006 09: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 CBon 10 Unities + Antwort hilfreich

Guten Morgen Carsten,

da musst du einfach die Events der SolidWorks Objekte nutzen.
Diese Events bekommt man durch folgende Deklaration:

Dim WithEvents SwApp as SldWorks.SldWorks

Welches Event du benutz kannst du ja in der API Hilfe nachschauen!

------------------
Mfg Daniel

Brauchen Sie Hilfe, sind Sie in Not? Wir retten Sie mit unseren Code!
----------------------------------------------
SolidWorks API-Programmierung | Makros | Tools | Addins | Schulung

SolidWorks API Programmierung; Schuler Design Automation GmbH
|    kontakt@schuler-da.de

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

CBon
Mitglied
Dipl.-Ing. (FH) Maschinenbau


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

Beiträge: 56
Registriert: 28.05.2004

erstellt am: 20. Nov. 2006 11:33    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

Danke für die Info,

aber irgendwie tue ich mich heut ein wenig schwer herrauszufinden, welche Events ich wo finde, bzw. einsetzen kann ...?!?
Könntest du mir ggf. schnell mal helfen die Events für:
- Speichern
- Drucken
zu schicken?

Desweiteren wollt ich fragen, wie ich ggf. den Druckbefehl verwenden kann, so das auch das Dialogfenster sich öffnet und er nicht automatisch an den Standarddrucker druckt.

Danke nochmals ...

------------------
Gruß aus Braunschweig
Carsten 

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

VBSpawn
Mitglied
Programmierer


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

Beiträge: 514
Registriert: 23.08.2005

Sorgfältige Planung ersetzt niemals pures Glück.

erstellt am: 20. Nov. 2006 11: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 CBon 10 Unities + Antwort hilfreich

Hi,

kannst ja mal hier schauen
http://www.eng-tips.com/viewthread.cfm?qid=166303&page=9  , hier hat 'handleman' ein schönes kleines Beispiel erstellt bzgl Events, da kannste bestimmt etwas von gebrauchen (5 Oct 06 17:45 ziemlich weit unten)...


Gruß
Micha

------------------
Stell dir vor, es geht, und keiner kriegts hin.

Zitat:
Interpunktion und Orthographie des Postings sind frei erfunden.
Eine Übereinstimmung mit aktuellen oder ehemaligen Regeln wäre rein zufällig und ist nicht beabsichtigt.

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

tbd
Mitglied
Teamleiter


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

Beiträge: 825
Registriert: 26.01.2006

Dell Percision T5400
Intel(R) Xeon(R) CPU
X5460 @ 3.16GHz
3,25 GB RAM
Nvidia Quadro FX 4600
-----
Win XP Prof SP 3
SW 2008 SP 5.0
PARTsolutions 8.1.08
Cideon SAP PLM 5.103.5.17
Visual Studio 2008

erstellt am: 20. Nov. 2006 11: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 CBon 10 Unities + Antwort hilfreich


Bild2.jpg


Bild3.jpg

 
Ich habe dir die API Hilfe mal als Bild mitgeschickt, in welcher ich die Events des SldWorks Und PartDoc Objekts mal abfotografiert habe.

Es kommt halt darauf an wo du dich einklinken willst, habe z.B. für das Speichern eines Teil das Event FileSaveNotify - PartDoc Event vorgeschlagen. Wie du aber im Inhalt der Hilfe siehst, gibt es noch mehrere Events, welche mit dem Speichern zutun haben.

Beim Drucken bin ich leider überfragt ob es dort ein Event gibt!
Ich würde das mit den Events einfach mal ausprobieren, welches am besten zu deiner Aufgabe passt!

------------------
Mfg Daniel

Brauchen Sie Hilfe, sind Sie in Not? Wir retten Sie mit unserem Code!
----------------------------------------------
SolidWorks API-Programmierung | Makros | Tools | Addins | Schulung

SolidWorks API Programmierung; Schuler Design Automation GmbH
|     kontakt@schuler-da.de

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

CBon
Mitglied
Dipl.-Ing. (FH) Maschinenbau


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

Beiträge: 56
Registriert: 28.05.2004

erstellt am: 20. Nov. 2006 13: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

Vielen Dank für eure rege Anteilnahme...
Habe auch die Hilfe in der API gefunden ...aber ...

wie binde ich nun erfolgreich mein Makro in das SPEICHERN-EVENT zB ein?

Nochmal in KurzForm: Der User klickt auf den SPEICHER-BUTTON und bevor gespeichert wird, soll ein anderes Externes Makro gestartet werden, dann erst soll er speichern.

Danke nochmals

------------------
Gruß aus Braunschweig
Carsten 

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

tbd
Mitglied
Teamleiter


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

Beiträge: 825
Registriert: 26.01.2006

Dell Percision T5400
Intel(R) Xeon(R) CPU
X5460 @ 3.16GHz
3,25 GB RAM
Nvidia Quadro FX 4600
-----
Win XP Prof SP 3
SW 2008 SP 5.0
PARTsolutions 8.1.08
Cideon SAP PLM 5.103.5.17
Visual Studio 2008

erstellt am: 20. Nov. 2006 15:02    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 CBon 10 Unities + Antwort hilfreich


Bild1.jpg

 
Wie bereits erwähnt muss du dein SolidWorks Objekt in einer Klasse einfach wie folgt deklarieren:

Code:
Dim WithEvents SwApp As SldWorks.SldWorks
Dim WithEvents SwPart As SldWorks.PartDoc

Diese Deklaration ermöglicht dir in einer Klasse das Hinzufügen von Ereignissen (siehe Bild)
Wenn man nun ein Teil speichert wird dieses Ereignis von SolidWorks aufgerufen und man kann in diesem Aufgaben bestimmen und ausführen lassen, so z.B. ein Makro aufrufen

Code:
Private Function SwPart_FileSaveNotify(ByVal FileName As String) As Long

    MsgBox "Tu irgendwas"
   
End Function


Die SolidWorks Objekte muss du dann noch richtig befüllen, aber wie man ein PartDoc Objekt belegt wirst du sicherlich wissen.

------------------
Mfg Daniel

Brauchen Sie Hilfe, sind Sie in Not? Wir retten Sie mit unserem Code!
----------------------------------------------
SolidWorks API-Programmierung | Makros | Tools | Addins | Schulung

SolidWorks API Programmierung; Schuler Design Automation GmbH
|     kontakt@schuler-da.de

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

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



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: 3864
Registriert: 29.09.2004

SOLIDWORKS 2024 SP3.1
SOLIDWORKS 2023 SP5.0
SOLIDWORKS 2022 SP5.0
SOLIDWORKS 2021 SP5.1

erstellt am: 20. Nov. 2006 18: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 CBon 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von tbd:
Die SolidWorks Objekte muss du dann noch richtig befüllen, aber wie man ein PartDoc Objekt belegt wirst du sicherlich wissen.

Hab mal danach gesucht, aber nichts gefunden was mir weitergeholfen hat. Kannst du mal kurz durchgeben wo man da suchen muss, bez. ob und wenn ja wo das in der Hilfe steht?

------------------
  The Power Of Dreams

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

VBSpawn
Mitglied
Programmierer


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

Beiträge: 514
Registriert: 23.08.2005

Sorgfältige Planung ersetzt niemals pures Glück.

erstellt am: 20. Nov. 2006 19: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 CBon 10 Unities + Antwort hilfreich

Hi,

Wenn du Events bearbeiten / verarbeiten möchtest dann Deklarierst du entweder in einer Klasse oder in eine Form die Variable mit WithEvents (vorrausgesetzt das Objekt feuert auch events)

d.h. Erzeuge dir eine UserForm und füge direkt nach dem Option Explicit ein Dim WithEvents pDoc as PartDoc....

sobald du diese Zeile eingefügt hast kannst du oben in den VBA ComboBoxen des Editors aufeinmal pDoc auswählen und erhälts rechts in der Box dann die entsprechenden Events (ähnlich wie beim CommandButton_Click)
und er meint einfach nur die Zuweisung
(Set pDoc = swApp.ActiveDoc wenn denn das Aktice Doc ein sldprt ist)

Gruß
Micha

------------------
Stell dir vor, es geht, und keiner kriegts hin.

Zitat:
Interpunktion und Orthographie des Postings sind frei erfunden.
Eine Übereinstimmung mit aktuellen oder ehemaligen Regeln wäre rein zufällig und ist nicht beabsichtigt.

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

tbd
Mitglied
Teamleiter


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

Beiträge: 825
Registriert: 26.01.2006

Dell Percision T5400
Intel(R) Xeon(R) CPU
X5460 @ 3.16GHz
3,25 GB RAM
Nvidia Quadro FX 4600
-----
Win XP Prof SP 3
SW 2008 SP 5.0
PARTsolutions 8.1.08
Cideon SAP PLM 5.103.5.17
Visual Studio 2008

erstellt am: 21. Nov. 2006 09: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 CBon 10 Unities + Antwort hilfreich


EventMacro.zip

 
Guten Morgen,

ich habe mal schnell ein Beispielmakro erstellt.
Damit wird das Ganze hoffentlich deutlich.
Das Makro befindet sich im Zip-Archiv.
Hier auch der Code für die Download-Faulen:

Inhalt des Moduls mit dem Namen MakroBas:

Code:

Dim SwApp As SldWorks.SldWorks
Dim SwModel As SldWorks.ModelDoc2
Dim EventKlasse As EventCls
Dim bStatus As Boolean

Sub main()

    'SolidWorks Objekte belegen
    Set SwApp = Application.SldWorks
    Set SwModel = SwApp.ActiveDoc
       
    If Not SwModel Is Nothing Then
        'Eventklasse belegen
        Set EventKlasse = New EventCls
        'Dokumenttyp überprüfen
        If SwModel.GetType = SwConst.swDocPART Then
            'PartyDoc in der Klasse belegen
            bStatus = EventKlasse.PartDocBelegen(SwModel)
            'Fehlerbehandlung
            If bStatus = False Then Debug.Assert (False)
        End If
    End If

End Sub


Inhalt der Klasse mit dem Namen EventCls:

Code:

Dim WithEvents SwPart As SldWorks.PartDoc

Public Function PartDocBelegen( _
    SwModelDoc As SldWorks.ModelDoc2) As Boolean

    On Error GoTo Fehler
    'PartDoc mit dem ModelDoc belegen
    'Überprüfung des Dokumententyp im Modul
    Set SwPart = SwModelDoc
    PartDocBelegen = True
    Exit Function
Fehler:
    PartDocBelegen = False
   
End Function

'Speichern Unter Event
Private Function SwPart_FileSaveAsNotify2( _
            ByVal FileName As String) As Long
    MsgBox "Speichern Unter Event. Filename: " & FileName
End Function

'Speicher Event
Private Function SwPart_FileSaveNotify( _
            ByVal FileName As String) As Long
    MsgBox "Speicher Event. Filename: " & FileName
End Function


Viel Spaß beim Ausprobieren.

------------------
Mfg Daniel

Brauchen Sie Hilfe, sind Sie in Not? Wir retten Sie mit unserem Code!
----------------------------------------------
SolidWorks API-Programmierung | Makros | Tools | Addins | Schulung

SolidWorks API Programmierung; Schuler Design Automation GmbH
|     kontakt@schuler-da.de

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

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



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: 3864
Registriert: 29.09.2004

SOLIDWORKS 2024 SP3.1
SOLIDWORKS 2023 SP5.0
SOLIDWORKS 2022 SP5.0
SOLIDWORKS 2021 SP5.1

erstellt am: 21. Nov. 2006 11: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 CBon 10 Unities + Antwort hilfreich

Schönes Makro, ungefähr soweit bin ich auch gekommen.

Nun kommt aber genau diese Sache, welche ich nicht verstehe.

Wie soll jetzt SWX darauf kommen, dass in einem Makro eine solche Funktion hinterlegt ist? Liest SWX beim Starten alle Makros ein?

Bei mir tut sich jedenfalls nichts, wenn ich dieses Makro im Makroordner ablege und dann einen Part speichere.

Muss man in SWX noch etwas aktivieren?

------------------
  The Power Of Dreams

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

tbd
Mitglied
Teamleiter


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

Beiträge: 825
Registriert: 26.01.2006

Dell Percision T5400
Intel(R) Xeon(R) CPU
X5460 @ 3.16GHz
3,25 GB RAM
Nvidia Quadro FX 4600
-----
Win XP Prof SP 3
SW 2008 SP 5.0
PARTsolutions 8.1.08
Cideon SAP PLM 5.103.5.17
Visual Studio 2008

erstellt am: 21. Nov. 2006 11: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 CBon 10 Unities + Antwort hilfreich

Man muss dieses Makro in SolidWorks starten, dann funktioniert es.
Am bessten läßt sich so etwas mit einem SolidWorks Addin realisieren, da sich ja dieses immer automatisch startet, sobald man es in SolidWorks aktiviert hat.

------------------
Mfg Daniel

Brauchen Sie Hilfe, sind Sie in Not? Wir retten Sie mit unserem Code!
----------------------------------------------
SolidWorks API-Programmierung | Makros | Tools | Addins | Schulung

SolidWorks API Programmierung; Schuler Design Automation GmbH
|     kontakt@schuler-da.de

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: 21. Nov. 2006 11: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 CBon 10 Unities + Antwort hilfreich

Du könntest auch Solidworks gleich mit einem Makro starten.

So!

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

[Diese Nachricht wurde von Lutz Federbusch am 21. Nov. 2006 editiert.]

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

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



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: 3864
Registriert: 29.09.2004

SOLIDWORKS 2024 SP3.1
SOLIDWORKS 2023 SP5.0
SOLIDWORKS 2022 SP5.0
SOLIDWORKS 2021 SP5.1

erstellt am: 21. Nov. 2006 11: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 Nur für CBon 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von tbd:
Man muss dieses Makro in SolidWorks starten, dann funktioniert es.
Am bessten läßt sich so etwas mit einem SolidWorks Addin realisieren, da sich ja dieses immer automatisch startet, sobald man es in SolidWorks aktiviert hat.

Alles klar. Danke. Bei Microsoft gibt es die Möglichkeit, z.B. für Excel, eine *.xla Datei im Ordner XLStart abzulgen, welche Makros enthält. Diese Makros werden automatisch beim Start von Excel aktiviert und stehen zur Verfügung.

------------------
  The Power Of Dreams

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

VBSpawn
Mitglied
Programmierer


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

Beiträge: 514
Registriert: 23.08.2005

Sorgfältige Planung ersetzt niemals pures Glück.

erstellt am: 21. Nov. 2006 11: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 CBon 10 Unities + Antwort hilfreich


CheckPropsb4SaveV2.zip

 
Hi,

Mach mal aus Dim EventKlasse As EventCls eine Public ...

es ist auch mehr ein VBA Bug das nach dem durchlaufen der Sub noch Klassen Aktiv sein können

ansonsten hier noch ein kleines bsp... nicht schön aber witzig...

Ein Addin mit Konfig-Tool gibts auch, wenn denn jmd meint er müsse seine Kollegen dazu zwingen die Props Richtig und Vollständig auszufüllen ...

Gruß
Micha

------------------
Stell dir vor, es geht, und keiner kriegts hin.

Zitat:
Interpunktion und Orthographie des Postings sind frei erfunden.
Eine Übereinstimmung mit aktuellen oder ehemaligen Regeln wäre rein zufällig und ist nicht beabsichtigt.

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

tbd
Mitglied
Teamleiter


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

Beiträge: 825
Registriert: 26.01.2006

Dell Percision T5400
Intel(R) Xeon(R) CPU
X5460 @ 3.16GHz
3,25 GB RAM
Nvidia Quadro FX 4600
-----
Win XP Prof SP 3
SW 2008 SP 5.0
PARTsolutions 8.1.08
Cideon SAP PLM 5.103.5.17
Visual Studio 2008

erstellt am: 21. Nov. 2006 11:50    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 CBon 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von VBSpawn:
Mach mal aus Dim EventKlasse As EventCls eine Public ...

es ist auch mehr ein VBA Bug das nach dem durchlaufen der Sub noch Klassen Aktiv sein können


Hallo Micha, da muss ich dich leider verbessern!
Wie so sollte man die Variable als Public deklarieren. Ich benötige sie doch nur innerhalb des Moduls!!!
Und das die Klasse noch aktiv ist, ist kein Bug.
Wenn ich das Objekt der EventCls nicht zerstöre ist Sie aktiv!
Nur Set EventKlasse  = Nothing beendet das Makro wirklich!

------------------
Mfg Daniel

Brauchen Sie Hilfe, sind Sie in Not? Wir retten Sie mit unserem Code!
----------------------------------------------
SolidWorks API-Programmierung | Makros | Tools | Addins | Schulung

SolidWorks API Programmierung; Schuler Design Automation GmbH
|     kontakt@schuler-da.de

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

VBSpawn
Mitglied
Programmierer


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

Beiträge: 514
Registriert: 23.08.2005

Sorgfältige Planung ersetzt niemals pures Glück.

erstellt am: 21. Nov. 2006 11:59    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 CBon 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von tbd:
Hallo Micha, da muss ich dich leider verbessern!
Wie so sollte man die Variable als Public deklarieren. Ich benötige sie doch nur innerhalb des Moduls!!!
Und das die Klasse noch aktiv ist, ist kein Bug.
Wenn ich das Objekt der EventCls nicht zerstöre ist Sie aktiv!
Nur Set EventKlasse  = Nothing beendet das Makro wirklich!


Ich glaub nicht das der VBA Editor dafür gemacht ist:
das Klassen oder Objekt Instanzen dauerhaft überleben sollen ...
dafür sollte man AddIns verwenden
damit man den SPeicher auch wieder 'sauber' freigeben kann.
Es fehlt ja schon eine Möglichkeit für 'unbedarfte Benutzer' das Progg zu stoppen

Das mit dem Public meinte ich auch nur weil Mike sooft er will speichern klicken kann und bei Ihm nix passiert... wird daran liegen das das modul vom VBA entladen wurde somit auch die Klasse indirekt Terminiert wurde ..

Wenn diese Public ist dann kommt zumindest eine Meldung beim Speichern.

Gruß
Micha

------------------
Stell dir vor, es geht, und keiner kriegts hin.

Zitat:
Interpunktion und Orthographie des Postings sind frei erfunden.
Eine Übereinstimmung mit aktuellen oder ehemaligen Regeln wäre rein zufällig und ist nicht beabsichtigt.

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

VBSpawn
Mitglied
Programmierer


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

Beiträge: 514
Registriert: 23.08.2005

Sorgfältige Planung ersetzt niemals pures Glück.

erstellt am: 21. Nov. 2006 12: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 Nur für CBon 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von VBSpawn:
[QUOTE]Original erstellt von tbd:
[i] Hallo Micha, da muss ich dich leider verbessern!
Wie so sollte man die Variable als Public deklarieren. Ich benötige sie doch nur innerhalb des Moduls!!!
Und das die Klasse noch aktiv ist, ist kein Bug.
Wenn ich das Objekt der EventCls nicht zerstöre ist Sie aktiv!
Nur Set EventKlasse  = Nothing beendet das Makro wirklich!


Ich glaub nicht das der VBA Editor dafür gemacht ist:
das Klassen oder Objekt Instanzen dauerhaft überleben sollen ...
dafür sollte man AddIns verwenden
damit man den SPeicher auch wieder 'sauber' freigeben kann.
Es fehlt ja schon eine Möglichkeit für 'unbedarfte Benutzer' das Progg zu stoppen

Das mit dem Public meinte ich auch nur weil Mike sooft er will speichern klicken kann und bei Ihm nix passiert... wird daran liegen das das modul vom VBA entladen wurde somit auch die Klasse indirekt Terminiert wurde ..

Wenn diese Public ist dann kommt zumindest eine Meldung beim Speichern.

EDIT... hast recht muss nicht Public sein gerade nochmal getestet

Gruß
Micha

[/i][/QUOTE]

------------------
Stell dir vor, es geht, und keiner kriegts hin.

Zitat:
Interpunktion und Orthographie des Postings sind frei erfunden.
Eine Übereinstimmung mit aktuellen oder ehemaligen Regeln wäre rein zufällig und ist nicht beabsichtigt.

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

tbd
Mitglied
Teamleiter


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

Beiträge: 825
Registriert: 26.01.2006

Dell Percision T5400
Intel(R) Xeon(R) CPU
X5460 @ 3.16GHz
3,25 GB RAM
Nvidia Quadro FX 4600
-----
Win XP Prof SP 3
SW 2008 SP 5.0
PARTsolutions 8.1.08
Cideon SAP PLM 5.103.5.17
Visual Studio 2008

erstellt am: 21. Nov. 2006 12: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 CBon 10 Unities + Antwort hilfreich

Hallo Micha,

du hast in diesem Fall absolut recht.
Ich habe aber weiter oben geschrieben das es sich nur um ein Beispielmakro handelt und für eine solche Aufgabe ein Addin am besten geeignet ist!
Somit hatten wir ja beide recht und hoffen mal das es alle anderen verstanden haben!
In diesem Sinne ein frohes weiter programmieren!

------------------
Mfg Daniel

Brauchen Sie Hilfe, sind Sie in Not? Wir retten Sie mit unserem Code!
----------------------------------------------
SolidWorks API-Programmierung | Makros | Tools | Addins | Schulung

SolidWorks API Programmierung; Schuler Design Automation GmbH
|     kontakt@schuler-da.de

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


Ex-Mitglied

erstellt am: 21. Nov. 2006 14:37    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat

Hallo, hab das Problem hier mal verfolgt.
Ich hab was ähnliches, wo es feststeckt.
Wenn ein User das BOM Feature anklickt (Stückliste per Feature erzeugen) möchte ich mich einklinken und fragen ob die Stückliste auf ein extra Blatt soll oder auf die aktive Zeichnung.
Hab leider keine passenden Events gefunden-ich plane grad auf Events im FeatureManager zu hören und im Fall, nur wenn ich da eine BOMTable finde ist es schon zu spät - dann ist die schon platziert.
Weiß jemand Rat sich da einzuklinken ? Ich hab versucht mal ein Makro aufzuzeichnen um an den Code zu kommen (ich hab eine Baugruppe genommen und auf Einfügen->Tabelle->Stückliste geklickt und sie auf die Zeichnung platziert). Leider zeichnet der Makro-Reorder das nicht auf!

Andreas

CBon
Mitglied
Dipl.-Ing. (FH) Maschinenbau


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

Beiträge: 56
Registriert: 28.05.2004

erstellt am: 23. Nov. 2006 14:46    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

Moin moin

eine kleine Frage hätte ich noch mal:

WIE erstelle ich ein AddIn mit VBA?
Benötige ich unbedingt VB dazu, um .dll's zu erstellen, oder kann ich das auch mit dem normalen VBA machen?

Danke erneut im voraus an alle Grübler und Grüblerinnen :-)

------------------
Gruß aus Braunschweig
Carsten 

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

tbd
Mitglied
Teamleiter


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

Beiträge: 825
Registriert: 26.01.2006

Dell Percision T5400
Intel(R) Xeon(R) CPU
X5460 @ 3.16GHz
3,25 GB RAM
Nvidia Quadro FX 4600
-----
Win XP Prof SP 3
SW 2008 SP 5.0
PARTsolutions 8.1.08
Cideon SAP PLM 5.103.5.17
Visual Studio 2008

erstellt am: 23. Nov. 2006 15:02    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 CBon 10 Unities + Antwort hilfreich

Ganz einfach JA und dann NEIN!
Addins, also dlls sind mit der VBA nicht möglich!

------------------
Mfg Daniel

Brauchen Sie Hilfe, sind Sie in Not? Wir retten Sie mit unserem Code!
----------------------------------------------
SolidWorks API-Programmierung | Makros | Tools | Addins | Schulung

SolidWorks API Programmierung; Schuler Design Automation GmbH
|      kontakt@schuler-da.de 

[Diese Nachricht wurde von tbd am 23. Nov. 2006 editiert.]

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

CBon
Mitglied
Dipl.-Ing. (FH) Maschinenbau


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

Beiträge: 56
Registriert: 28.05.2004

erstellt am: 23. Nov. 2006 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

Danke Daniel.

Ein paar aller-, aller-, alllerletzte Fragen hätt ich da noch:

Wenn ich schon keine .dll erzeugen kann (da wir kein VB habven), möchte ich SolidWorks beim Starten eine Makrodatei mitgeben (im Batch, wie Stefan Berlitz es vorgeschlagen hat).
Jedoch funzt da nicht so wirklich .... warum nicht?

1. Kann es sein das es Unterschiede gibt, zwischen einer *.swp und einer *.swb Datei? Oder hat sich Stefan in seiner FAQ verschrieben?)
2. Oder muss ich den Inhalt von meiner Makrodatei noch irgendwie anders bearbeiten, das das Makto auch SOFORT mit SolidWorks gestartet wird?

Danke Leute

------------------
Gruß aus Braunschweig
Carsten 

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: 23. Nov. 2006 16: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 CBon 10 Unities + Antwort hilfreich

SWB ist eine Textdatei, in der lesbar der Makrotext steht. SWP ist das gespeicherte Makro aus der Entwicklungsumgebung, nicht mehr lesbar. Probiere mal beides aus...

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

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

CBon
Mitglied
Dipl.-Ing. (FH) Maschinenbau


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

Beiträge: 56
Registriert: 28.05.2004

erstellt am: 23. Nov. 2006 16: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

Moin Lutz,

doch WIE sieht dann lesbare Teil aus, wenn ich im (nichtlesbaren) Makro doch ein MODUL und ein KLASSENMODUL habe.
Wie trenn ich das, oder ist es DIREKT aus VBA ableitbar?

Gruß

------------------
Gruß aus Braunschweig
Carsten 

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

tbd
Mitglied
Teamleiter


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

Beiträge: 825
Registriert: 26.01.2006

Dell Percision T5400
Intel(R) Xeon(R) CPU
X5460 @ 3.16GHz
3,25 GB RAM
Nvidia Quadro FX 4600
-----
Win XP Prof SP 3
SW 2008 SP 5.0
PARTsolutions 8.1.08
Cideon SAP PLM 5.103.5.17
Visual Studio 2008

erstellt am: 23. Nov. 2006 16:40    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 CBon 10 Unities + Antwort hilfreich

Kleiner Tipp noch von mir.
Microsoft bietet mit Visual Basic Express eine kostenlose VB.Net IDE mit welcher man propblemlos dlls erstellen kann!
Der Link für die ISO-Images: http://www.microsoft.com/germany/msdn/vstudio/products/express/manuelleinstallation.mspx
Alternativ der Link für einen "normalen" download: http://www.microsoft.com/germany/msdn/vstudio/products/express/download.mspx

Kann ich nur jedem empfehlen, der Komfortunterschied zwischen der SolidWorks VBA (Makro) und Visual Studio Express sind Welten!

------------------
Mfg Daniel

Brauchen Sie Hilfe, sind Sie in Not? Wir retten Sie mit unserem Code!
----------------------------------------------
SolidWorks API-Programmierung | Makros | Tools | Addins | Schulung

SolidWorks API Programmierung; Schuler Design Automation GmbH
|     kontakt@schuler-da.de

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

tbd
Mitglied
Teamleiter


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

Beiträge: 825
Registriert: 26.01.2006

Dell Percision T5400
Intel(R) Xeon(R) CPU
X5460 @ 3.16GHz
3,25 GB RAM
Nvidia Quadro FX 4600
-----
Win XP Prof SP 3
SW 2008 SP 5.0
PARTsolutions 8.1.08
Cideon SAP PLM 5.103.5.17
Visual Studio 2008

erstellt am: 23. Nov. 2006 16:49    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 CBon 10 Unities + Antwort hilfreich

Zum Thema swb:

API Online Hilfe:
NOTE: You can also edit .swb files, which are older-style SolidWorks macro files. When you run or edit a .swb file, it is automatically converted to a .swp file.

Auf kurz deutsch, swb ist halt ein altes Makroformat von SW. Die Umwandlung ist nur von swb in swp möglich, bzw automatisch.

------------------
Mfg Daniel

Brauchen Sie Hilfe, sind Sie in Not? Wir retten Sie mit unserem Code!
----------------------------------------------
SolidWorks API-Programmierung | Makros | Tools | Addins | Schulung

SolidWorks API Programmierung; Schuler Design Automation GmbH
|     kontakt@schuler-da.de

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