Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  SolidWorks
  VBA: Makro beim Öffnen eines Parts automatisch starten

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: Makro beim Öffnen eines Parts automatisch starten (4205 mal gelesen)
pi-design
Mitglied
Design Engineer


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

Beiträge: 950
Registriert: 09.08.2002

WIN 10 / 64bit
SWX 2018 SP5 64 Bit
MS Office 2013
HP Z420
Intel Xeon E5-1620 3,66GHz
16 GB RAM
2x HP LA2405wg (24")
NVIDIA Quadro 2000
Space Explorer

erstellt am: 16. Nov. 2009 08: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

Hi,
ich möchte gerne beim Öffnen eines Parts ein Makro automatisch starten. Geht sowas, und wenn ja, wie?
Hintergrung: Sofort nach dem Öffnen eines Parts soll die Konfigurationstabelle geöffnet werden. Das Makro zum Öffnen der Tabelle habe ich mit dem Recorder aufgezeichnet.

------------------
Gruß Pille

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: 1366
Registriert: 20.12.2003

erstellt am: 16. Nov. 2009 08: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 pi-design 10 Unities + Antwort hilfreich

Hallo Pille,

dreh das Ganze doch um  . Erzeuge dir ein Makro, dass dir dein Teil öffnet (1. Schritt)
und dann die Konfigurations-Tabelle (2. Schritt). Ich glaube nicht, dass
du es mit "einfachen" Mitteln schaffst, ein Makro beim Öffnen eines Teiles
ausführen zu lassen. Da gab es aber schon mal etwas, muss mal schauen, ob
ich es nachher wiederfinde. Muss jetzt erst mal in 'ne Besprechung.

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

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

pi-design
Mitglied
Design Engineer


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

Beiträge: 950
Registriert: 09.08.2002

WIN 10 / 64bit
SWX 2018 SP5 64 Bit
MS Office 2013
HP Z420
Intel Xeon E5-1620 3,66GHz
16 GB RAM
2x HP LA2405wg (24")
NVIDIA Quadro 2000
Space Explorer

erstellt am: 16. Nov. 2009 08: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 Andreas,
das Part wird über ein Excel-Makro geöffnet. Könnte ich dieses dann weiter verwenden?

Public Sub Hof_Kapsel_3D_Part()
Dim swApp As SldWorks.SldWorks
Dim swModel As SldWorks.ModelDoc2
Dim fileerror  As Long
Dim filewarning As Long
Dim swxDatei As String

'  Pfad Solidworks-Modell
swxDatei = ActiveWorkbook.Path & "\" & "Formhöfe\Hof_Kapsel.SLDPRT"

'  Objekt
Set swApp = CreateObject("SldWorks.Application")

swApp.Visible = True

'  Modell öffnen
swApp.OpenDoc6 swxDatei, swDocPART, swOpenDocOptions_Silent, "", fileerror, filewarning

'  zur Startseite wechseln
Sheets("Startseite").Select

End Sub

------------------
Gruß Pille

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

HenryV
Mitglied
Konstrukteur, Engineering


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

Beiträge: 813
Registriert: 18.05.2005

SolidWorks 2022 x64 SP5.0
Dell Precision 5820
Intel Xeon W-2125 4x4GHz
NVIDIA Quadro P2000 5GB
32GB RAM
2x Dell U2412M, 24" TFT
Windows 10 Enterprise x64 22H2
Microsoft 365 E5
Microsoft Visual Studio Enterprise 2022

erstellt am: 16. Nov. 2009 08:53    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 pi-design 10 Unities + Antwort hilfreich

Hallo Pille

Ich würde es mal so probieren

Code:
Dim boolstatus As Boolean
boolstatus = swApp.RunMacro("<path\macro-name>", "<ModuleName>", "<ProcedureName>")

Gruss Andreas

------------------
21 ist nur die halbe Antwort.

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

pi-design
Mitglied
Design Engineer


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

Beiträge: 950
Registriert: 09.08.2002

WIN 10 / 64bit
SWX 2018 SP5 64 Bit
MS Office 2013
HP Z420
Intel Xeon E5-1620 3,66GHz
16 GB RAM
2x HP LA2405wg (24")
NVIDIA Quadro 2000
Space Explorer

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

Hallo Andreas,
habe jetzt das Problem,
daß ich außer einer Makro-Aufzeichnung keinen blassen Schimmer von der Geschichte habe. Könntest Du mir eventuell zeigen, wie mein obiges Makro dann letzlich sein muß? Den Pfad zu den Dateien kann ich dann schon selbst Eintragen

------------------
Gruß Pille

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

MWN
Mitglied
Dipl.-Ing.


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

Beiträge: 492
Registriert: 14.02.2007

erstellt am: 16. Nov. 2009 10: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 pi-design 10 Unities + Antwort hilfreich

Hey Leute,

soweit ich mich erinnern kann, gab es dazu hier auf CAD.de schon mal eine Diskusion und dort kam auch der Vorschlag, das Makro gleich über den Pfad in der Verknüpfung zur Sldworks.exe mit anzugeben. Es gibt wohl eine Möglichkeit, gleich das Makro dort mit starten zu lassen, so als Art "Startparameter"!
Und dann ist es ja ein leichtes, auf das Event zu warten, welches nach dem öffnen eines Teils ausgelöst wird.
Einfacher wäre natürlich die Programmierung einer Zusatzanwendung, die auf den entsprechenden Event lauscht!
Grüße

Tobias

------------------
Besucht mich doch mal in meiner Tischlerei

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: 1366
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: 16. Nov. 2009 10: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 Nur für pi-design 10 Unities + Antwort hilfreich

Hallo Pille,

probier doch mal folgendes:

'  Modell öffnen
swApp.OpenDoc6 swxDatei, swDocPART, swOpenDocOptions_Silent, "", fileerror, filewarning

' Konfigtabelle öffnen
Set swModel = swApp.ActiveDoc
boolstatus = swModel.Extension.SelectByID2("Tabelle", "DESIGNTABLE", 0, 0, 0, False, 0, Nothing, 0)
swModell.InsertFamilyTableEdit

'  zur Startseite wechseln
Sheets("Startseite").Select

Ich weiß nicht, wie Excel reagiert, da du ja aus Excel heraus über SWXSolidWorks im Endeffekt wieder ein Excel-Sheet aufrufst... 

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

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

pi-design
Mitglied
Design Engineer


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

Beiträge: 950
Registriert: 09.08.2002

WIN 10 / 64bit
SWX 2018 SP5 64 Bit
MS Office 2013
HP Z420
Intel Xeon E5-1620 3,66GHz
16 GB RAM
2x HP LA2405wg (24")
NVIDIA Quadro 2000
Space Explorer

erstellt am: 16. Nov. 2009 10: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

Hallo Tobias,
meintest Du diesen hier?
Wenn ich das dort richtig verstehe, dann muß SWX jedes mal komplett neu gestartet werden. In meinem Fall ist SWX bereits offen. Vielleicht muß ich noch ein wenig ausholen:
In der Excel-Tabelle sind mehrere Blattregister (für jedes SWX-Part ein Blatt), in dem jeweils Werte eingetragen werden. Sobald die Werte eingetragen sind, öffnet der User mit einem Button (siehe obiges Makro) das SWX-Part. Damit dort die Werte aus Excel in der SWX-Tabelle eingetragen werden können, muß diese erstmal geöffnet werden. Und genau dieses öffnen der SWX-Tabelle hätte ich gerne automatisiert.

------------------
Gruß Pille

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

pi-design
Mitglied
Design Engineer


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

Beiträge: 950
Registriert: 09.08.2002

WIN 10 / 64bit
SWX 2018 SP5 64 Bit
MS Office 2013
HP Z420
Intel Xeon E5-1620 3,66GHz
16 GB RAM
2x HP LA2405wg (24")
NVIDIA Quadro 2000
Space Explorer

erstellt am: 16. Nov. 2009 10:37    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


Makro01.jpg

 
Hallo Andreas,

folgende Fehler zeigt er mir dann an

------------------
Gruß Pille

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

HenryV
Mitglied
Konstrukteur, Engineering


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

Beiträge: 813
Registriert: 18.05.2005

SolidWorks 2022 x64 SP5.0
Dell Precision 5820
Intel Xeon W-2125 4x4GHz
NVIDIA Quadro P2000 5GB
32GB RAM
2x Dell U2412M, 24" TFT
Windows 10 Enterprise x64 22H2
Microsoft 365 E5
Microsoft Visual Studio Enterprise 2022

erstellt am: 16. Nov. 2009 10: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 pi-design 10 Unities + Antwort hilfreich

Hallo Pille

Schreib mal swModel nur mit einem "l".

Gruss Andreas

------------------
21 ist nur die halbe Antwort.

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: 1366
Registriert: 20.12.2003

erstellt am: 16. Nov. 2009 10: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 pi-design 10 Unities + Antwort hilfreich

Hallo Pille,

änder das swModell mal in swModel (da war der Finger zu lange auf der
Tastatur   ).

EDIT: Mann, ich werde alt  Schon wieder jemand schneller...
------------------
==========
Gruß
Andreas
==========

[Diese Nachricht wurde von ad_man am 16. Nov. 2009 editiert.]

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

MWN
Mitglied
Dipl.-Ing.


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

Beiträge: 492
Registriert: 14.02.2007

erstellt am: 16. Nov. 2009 10:48    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 pi-design 10 Unities + Antwort hilfreich

Hey Pille,

genau den Thread meinte ich!
  

Zitat:
Sobald die Werte eingetragen sind, öffnet der User mit einem Button (siehe obiges Makro) das SWX-Part

Bis hierhin ist es User - Interaktion! Also User drückt Button und Teil öffnet sich.
  
Zitat:
Damit dort die Werte aus Excel in der SWX-Tabelle eingetragen werden können, muß diese erstmal geöffnet werden. Und genau dieses öffnen der SWX-Tabelle hätte ich gerne automatisiert.

Jetzt schreibst du dir noch ein Zweites Makro, was du mit Hilfe dieses Threads beim Starten von SolidWorks ausführen lässt! Und dieses Makro macht jetzt nichts anderes, als auf den FileOpenNotify - Event von SolidWorks zu warten (nachher noch prüfen, ob es sich auch um ein Part handelt) und wenn es durch diesen Event ausgelöst wird, dann die Tabelle zu öffnen!
Grüße

Tobias

PS: Andreas und Andreas haben recht!  

------------------
Besucht mich doch mal in meiner Tischlerei

[Diese Nachricht wurde von MWN am 16. Nov. 2009 editiert.]

[Diese Nachricht wurde von MWN am 16. Nov. 2009 editiert.]

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

pi-design
Mitglied
Design Engineer


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

Beiträge: 950
Registriert: 09.08.2002

WIN 10 / 64bit
SWX 2018 SP5 64 Bit
MS Office 2013
HP Z420
Intel Xeon E5-1620 3,66GHz
16 GB RAM
2x HP LA2405wg (24")
NVIDIA Quadro 2000
Space Explorer

erstellt am: 16. Nov. 2009 11: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

Hallo Andreas's (Mehrzahl) und Tobias,

Juch hu, es funktioniert schon mal fast so, wie ich es gern möchte.
Aaaber, gibt es noch die Möglichkeit, daß die Tabelle in SWXSolidWorks und nicht in Excel aufgemacht wird?
Wenn nicht, ist es auch nicht so schlimm. Ihr habt mir auch so schon super geholfen.

------------------
Gruß Pille

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: 1366
Registriert: 20.12.2003

erstellt am: 16. Nov. 2009 12:00    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 pi-design 10 Unities + Antwort hilfreich

Hallo Pille,

dann musst du deinen Code wie folgt ändern:

Public Sub Hof_Kapsel_3D_Part()
Dim swApp As SldWorks.SldWorks
Dim swModel As SldWorks.ModelDoc2

Dim swDTable As SldWorks.DesignTable

...

'  Modell öffnen
swApp.OpenDoc6 swxDatei, swDocPART, swOpenDocOptions_Silent, "", fileerror, filewarning

' Interne Designtabelle aufrufen
Set swModel = swApp.ActiveDoc
Set swDTable = swModel.GetDesignTable
swDTable.Attach

'  zur Startseite wechseln
Sheets("Startseite").Select

End Sub

Mahlzeit zusammen 

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

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

pi-design
Mitglied
Design Engineer


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

Beiträge: 950
Registriert: 09.08.2002

WIN 10 / 64bit
SWX 2018 SP5 64 Bit
MS Office 2013
HP Z420
Intel Xeon E5-1620 3,66GHz
16 GB RAM
2x HP LA2405wg (24")
NVIDIA Quadro 2000
Space Explorer

erstellt am: 16. Nov. 2009 12: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

Hallo Andreas,
super, jetzt habe ich durch Dich (Euch) die ultimative Lösung.
Nochmals Danke an alle.

------------------
Gruß Pille

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