| |
 | 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
 
 Beiträge: 232 Registriert: 26.04.2006 Celsius Workstation / WIN XP / AIP 2008 SP2
|
erstellt am: 22. Sep. 2010 15:40 <-- editieren / zitieren --> Unities abgeben:         
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))
   
 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 / zitieren --> Unities abgeben:          Nur für Scoopa
|
mkkk Mitglied
 
 Beiträge: 105 Registriert: 04.03.2005
|
erstellt am: 23. Sep. 2010 08:33 <-- editieren / zitieren --> Unities abgeben:          Nur für Scoopa
|
Scoopa Mitglied MB Techniker
 
 Beiträge: 232 Registriert: 26.04.2006 Celsius Workstation / WIN XP / AIP 2008 SP2
|
erstellt am: 23. Sep. 2010 09:31 <-- editieren / zitieren --> Unities abgeben:         
|
StefanBerlitz Guter-Geist-Moderator IT Admin (CAx)

 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 / zitieren --> Unities abgeben:          Nur für Scoopa
|
Scoopa Mitglied MB Techniker
 
 Beiträge: 232 Registriert: 26.04.2006 Celsius Workstation / WIN XP / AIP 2008 SP2
|
erstellt am: 23. Sep. 2010 10:28 <-- editieren / zitieren --> Unities abgeben:         
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)

 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 / zitieren --> Unities abgeben:          Nur für Scoopa
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
 
 Beiträge: 232 Registriert: 26.04.2006 Celsius Workstation / WIN XP / AIP 2008 SP2
|
erstellt am: 23. Sep. 2010 10:55 <-- editieren / zitieren --> Unities abgeben:         
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
 
 Beiträge: 105 Registriert: 04.03.2005
|
erstellt am: 23. Sep. 2010 10:58 <-- editieren / zitieren --> Unities abgeben:          Nur für Scoopa
|
StefanBerlitz Guter-Geist-Moderator IT Admin (CAx)

 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 / zitieren --> Unities abgeben:          Nur für Scoopa
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 |