Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  SolidWorks
  Makro/VBA: SolidWorks aus Excel steuern

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:  Makro/VBA: SolidWorks aus Excel steuern (694 / mal gelesen)
Pete85
Mitglied



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

Beiträge: 156
Registriert: 09.05.2016

erstellt am: 21. Mrz. 2022 22:55    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 versuche gerade SolidWorks aus Excel zu steuern.

Das Dokument bekomme ich geöffnet.

das SolidWorks Dokument zu aktivieren klappt aber nicht

Die Declaration

Code:
Dim swComp As SldWorks.ModelDoc2
Set swComp = swApp.ActiveDoc

wird nicht akzeptiert..

Wie spreche ich das Dokument an?

Vielen Dank,

Gruß Pete

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

nahe
Ehrenmitglied



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

Beiträge: 1747
Registriert: 18.01.2001

arbeite mit:
Dell Precision 7750
i7 2,6 GHz 6 Kerne
32GB RAM
512GB SSD
NVIDIA Quadro RTX 4000
------------------------
SWX-2020 SP5.0
EPDM
----------------
Windows 10
----------------
VB.net
VB
VBA
ein wenig Swift am Mac

erstellt am: 22. Mrz. 2022 06:55    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 Pete85 10 Unities + Antwort hilfreich

Mit ActiveDoc bekommst Du, wie der Name sagt, dass aktive Dokument
und nicht unbedingt, dass was Du möchtest.
Schau einfach mal in der Online Hilfe unter ActivateDoc3

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

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

riesi
Mitglied
CAD-Admin


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

Beiträge: 1073
Registriert: 06.05.2002

SWX Premium 2020-Sp5

erstellt am: 23. Mrz. 2022 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 Pete85 10 Unities + Antwort hilfreich

Zuerst muss die SolidWorks-Instanz geholt oder angelegt werden, bevor man überhaupt irgend etwas macht.
z.B.:
Code:
Set swApp = GetObject(, "SldWorks.Application") ' Holt die laufende Instanz


Wenn SolidWorks nicht läuft, wird swApp zu nothing und wird eine neue Instanz benötigt. Entweder von Hand starten oder via Shell. Alternativ geht auch

Code:
Set swApp = New SldWorks.SldWorks


Allerdings werden in diesem Modus keine Addins geladen, weshalb ich den Aufruf direkt über den Pfad zur sldworks.exe gehe.

[Diese Nachricht wurde von riesi am 23. Mrz. 2022 editiert.]

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: 24. Mrz. 2022 09: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 Pete85 10 Unities + Antwort hilfreich

Moin,

wenn du die beiden Antworten zusammenbringst, könnte die Erklärung heissen
- du machst möglicherweise eine neue Instanz von SWX auf (parallel zur laufenden).
- und die neue Instanz hat natürlich noch kein active Doc ...

Gruß, Christian

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

riesi
Mitglied
CAD-Admin


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

Beiträge: 1073
Registriert: 06.05.2002

SWX Premium 2020-Sp5

erstellt am: 24. Mrz. 2022 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 Nur für Pete85 10 Unities + Antwort hilfreich

Richtig, der Anfang könnte so sein:
Code:

Sub main()
    Dim swApp As SldWorks.SldWorks
    Set swApp = GetObject(, "SldWorks.Application")
    Dim swModel As ModelDoc2
    Set swModel = swApp.ActiveDoc      'aktives Dokument
   
    If swModel Is Nothing Then                                'Wenn kein Dokument offen ist,
        Call swApp.SendMsgToUser("Kein Dokument geöffnet!")    'Meldung
        Exit Sub                                              'und raus
    End If
   
    Dim ModelPathName        As String
    ModelPathName = swModel.GetPathName      'kpl. Dateipfad incl. Dateiname und Extender
    ...


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

nahe
Ehrenmitglied



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

Beiträge: 1747
Registriert: 18.01.2001

arbeite mit:
Dell Precision 7750
i7 2,6 GHz 6 Kerne
32GB RAM
512GB SSD
NVIDIA Quadro RTX 4000
------------------------
SWX-2020 SP5.0
EPDM
----------------
Windows 10
----------------
VB.net
VB
VBA
ein wenig Swift am Mac

erstellt am: 28. Mrz. 2022 12:32    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 Pete85 10 Unities + Antwort hilfreich


ExcelToSwx.zip

 
Ich würd es so machen, wie im Anhang

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

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