Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  SolidWorks
  SWX steuern mit Excel VBA

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
  
SOLIDWORKS Visualize Grundlagen Schulung, ein Seminar am 14.07.2025
Autor Thema:  SWX steuern mit Excel VBA (2362 mal gelesen)
Scoopa
Mitglied
MB Techniker


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

Beiträge: 232
Registriert: 26.04.2006

Celsius Workstation / WIN XP / AIP 2008 SP2

erstellt am: 22. Sep. 2010 15: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

Hallo zusammen habe folgenden Tip ausprobiert.
http://www.solidworkstips.com/content/index.php/api-tips/49-model-parameters-using-excel-vba

Beim Debuggen bleibt man aber ständig an folgender Stelle hängen:

Sub main() 

Set swApp = CreateObject("SldWorks.Application")
Set Part = swApp.ActiveDoc
Part.Parameter("ShaftDia1@ Sketch1@bevelgear.Part ").SystemValue = 0.0254 'in dieser Zeile bleit der Debugger hängen!?
Part.Parameter("ShaftDia2@ Sketch1@bevelgear2.Part ").SystemValue = 0.0254
Part.Parameter("BevDia1@ Sketch1@bevelgear.Part ").SystemValue = 0.1016
Part.Parameter("BevDia2@ Sketch1@bevelgear2.Part ").SystemValue = 0.0762
Part.EditRebuild
Part.ClearSelection
End Sub


Die Fehlermeldung heisst:
Objektvariable oder With Blockanweisung nicht definiert.

Weiss vielleicht jemand was die genaue Ursache ist und wie man dies beheben kann?

Vorab vielen Dank für jede hilfe!

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

ad_man
Mitglied
freiberuflicher Entwicklungsing. (Fahrzeugtechnik, CSWP, CPPA))


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

Beiträge: 1384
Registriert: 20.12.2003

SolidWorks 2023 SP5 mit Enterprise PDM , Windows 11, Dell Precision 3660, i7-12700K, 96 GB DDR-Ram, Quadro RTX A4000

erstellt am: 22. Sep. 2010 20: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 Scoopa 10 Unities + Antwort hilfreich

Hallo Scoopa,

hast du denn in Excel VBA auch die Verweise auf die Solidworks-DLL#s drin?

------------------
==========
Gruß
Andreas
==========

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

mkkk
Mitglied



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

Beiträge: 105
Registriert: 04.03.2005

erstellt am: 23. Sep. 2010 08: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 Nur für Scoopa 10 Unities + Antwort hilfreich

Du hattest bestimmt auch ein Dokument offen, sonst ist Part nicht definiert.

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

Scoopa
Mitglied
MB Techniker


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

Beiträge: 232
Registriert: 26.04.2006

Celsius Workstation / WIN XP / AIP 2008 SP2

erstellt am: 23. Sep. 2010 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

Habe das Musterbauteil bzw Baugruppe geöffnet.
Ebenso habe ich die Verweise gesetzt.
Daher wundert es mich, dass es nicht geht. Hat es bei Euch funktioniert?

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: 23. Sep. 2010 10: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 Scoopa 10 Unities + Antwort hilfreich

Hallo Scoopa,

hast du deine Variablen auch alle deklariert - so was wie Dim Part as Object? Wenn ja würde ich vorschlagen, dass du einfach dein Makro/Excelsheet hier hochlädst, dann ist es einfacher nachzuvollziehen ..

Ciao,
Stefan

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

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

Scoopa
Mitglied
MB Techniker


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

Beiträge: 232
Registriert: 26.04.2006

Celsius Workstation / WIN XP / AIP 2008 SP2

erstellt am: 23. Sep. 2010 10: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


BevelGearbox.pdf

 
Hier nochmal der ganze Code

die Dateiendung von pdf auf xls ändern!

Code:
Option Explicit
Dim part As Object
Dim swApp As Object


Private Sub CommandButton1_Click()
Set swApp = CreateObject("SldWorks.Application")
Set part = swApp.ActiveDoc
part.Parameter("ShaftDia1@ Sketch1@bevelgear.Part ").SystemValue = 0.0254
part.Parameter("ShaftDia2@ Sketch1@bevelgear2.Part ").SystemValue = 0.0254
part.Parameter("BevDia1@ Sketch1@bevelgear.Part ").SystemValue = 0.1016
part.Parameter("BevDia2@ Sketch1@bevelgear2.Part ").SystemValue = 0.0762
part.EditRebuild
part.ClearSelection
End Sub


[Diese Nachricht wurde von Scoopa am 23. Sep. 2010 editiert.]

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: 23. Sep. 2010 10: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 Scoopa 10 Unities + Antwort hilfreich

Hallo Scooba,

die Parameternamen haben IRL bestimmt keine Leerzeichen ...

Code:

part.Parameter("ShaftDia1@ Sketch1@bevelgear.Part ").SystemValue = 0.0254
                          ^                      ^
                          |                      |


Die sind bestimmt beim Copy/Paste von der Seite aus reingekommen, und du hast vorher nicht selbst das Makro aufgenommen ...

Ciao,
Stefan

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

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

Scoopa
Mitglied
MB Techniker


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

Beiträge: 232
Registriert: 26.04.2006

Celsius Workstation / WIN XP / AIP 2008 SP2

erstellt am: 23. Sep. 2010 10: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

Vielen Dank für die Antwort.

ja ich habe den Code kopiert. Diese Sonderzeichen habe ich aber nicht mit dabei. Evlt ist beim Upload was scheif gegangen.

Hab den Code jetzt mal abgetippt und nicht kopiert.
Der Debugger bleibt aber wieder an selber Stelle stehen.

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

mkkk
Mitglied



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

Beiträge: 105
Registriert: 04.03.2005

erstellt am: 23. Sep. 2010 10: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 Scoopa 10 Unities + Antwort hilfreich

Vielleicht gibt es keinen Skizze "Sketch1" und/oder kein Maß "ShaftDia1".

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: 23. Sep. 2010 11:03    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 Scoopa 10 Unities + Antwort hilfreich

Hallo Scoopa,

du musst da schon den richtigen Namen des Maßes stehen haben, den du ändern willst. Ich hab es logischerweise auch nicht abgetippt, weil ich diese Baugruppe und das Teil gar nicht habe; also hab ich mir wie auf der Seite beschrieben ein Makro aufgezeichnet, während ich ein Maß editiert habe und daraus dann den Namen des Maßes rüberkopiert.

Da sind so blinde, taube und geschmacklose Codezeilen schon eigen, wenn man denen nicht genau sagt, was man will, meckern die rum 

Ciao,
Stefan

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

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