Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  SolidWorks
  API: Macro im Macro ausführen?

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
  
Wie Produktkonfiguratoren Ihren Vertriebsprozess nachhaltig unterstützen
Autor Thema:  API: Macro im Macro ausführen? (562 mal gelesen)
HaPe
Mitglied
Dipl. Ing Maschinenbau, Konstrukteur, CAD-Admin


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

Beiträge: 1096
Registriert: 27.11.2001

i7 CPU 960@3.20GHz
8GB Ram
Quadro 2000 4GB
70GB Raid 0
WIN7 prof. SP1 64 bit
SWX 2010 SP5.0
SWX 2012 SP5.0
SWX 2013 SP5.0

erstellt am: 11. Mrz. 2005 10:05    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,

ich beginne gerade mit der Macroprogrammiererei und hätte da folgendes Problem: Ist es möglich, aus einem Macro heraus ein auf der Festplatte befindliches Macro zu starten? Hintergrund ist, ich möchte die ganzen einzelnen Macros nicht immer einzeln einbinden müssen, sondern gesammelt in einer Buttonleiste haben. Das mit der Buttonleiste hat soweit auch funktioniert. Läßt sich das irgendwie in der untenstehenden Form verwirklichen?

Private Sub imgButt_Click()
    imgButt.ControlTipText = "Tooltip was das Macro macht"
    Starte Macro("Pfad+Macroname)
End Sub

vielen Dank


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: 11. Mrz. 2005 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 Nur für HaPe 10 Unities + Antwort hilfreich

Hallo HaPe,

ja, das geht, alles nur Einbahnstrasse. Die API Funktion die du suchst heißt SldWorks.RunMacro ( filePathName, moduleName, procedureName )

Ciao,
Stefan

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

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

HaPe
Mitglied
Dipl. Ing Maschinenbau, Konstrukteur, CAD-Admin


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

Beiträge: 1096
Registriert: 27.11.2001

i7 CPU 960@3.20GHz
8GB Ram
Quadro 2000 4GB
70GB Raid 0
WIN7 prof. SP1 64 bit
SWX 2010 SP5.0
SWX 2012 SP5.0
SWX 2013 SP5.0

erstellt am: 11. Mrz. 2005 10: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

Hallo Stefan,

vielen Dank für die schnelle Antwort.
Ich habe das in der folgenden Form versucht, SWXSolidWorks hat mir aber nicht
das Macro ausgeführt, sondern im VB-Editor den Quelltext des Macros
von der Festplatte dazugeladen !?

retval = swApp.RunMacro("C:\SW-Macros\Test.swp", "Module1", "frmAusgabe.Show")

Was habe ich da noch falsch gemacht? Gibt es noch eine Möglichkeit,
ohne das man in die zu ladenden Macros reinschauen muß? Wir bekommen öfters Updates von Kundenmacros, ich wollte sie dann nur in den Macroordner schieben und fertig.

viele Grüße HaPe

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: 11. Mrz. 2005 11:23    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 HaPe 10 Unities + Antwort hilfreich

Hallo HaPe,

du musst als letzten Parameter die Prozedur in deinem Module1 aufrufen, mit der das Makro gestartet werden soll, also typischerweise "Main". Das bei deinem Aufruf überhaupt was passiert ist  ist schon lustig 

Ciao,
Stefan

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

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

HaPe
Mitglied
Dipl. Ing Maschinenbau, Konstrukteur, CAD-Admin


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

Beiträge: 1096
Registriert: 27.11.2001

i7 CPU 960@3.20GHz
8GB Ram
Quadro 2000 4GB
70GB Raid 0
WIN7 prof. SP1 64 bit
SWX 2010 SP5.0
SWX 2012 SP5.0
SWX 2013 SP5.0

erstellt am: 11. Mrz. 2005 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

Hallo Stefan,

vielen Dank, das war der entscheidende Tip, jetzt funktioniert es.

ein schönes Wochenende
Tschüß HaPe

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

cimbom
Mitglied



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

Beiträge: 13
Registriert: 21.04.2005

erstellt am: 12. Mai. 2006 10: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 HaPe 10 Unities + Antwort hilfreich

Hallo HaPe,

ich würde gerne ein Makro aus VB heraus starten. geht das mit deinem Code? Wenn ja, wie sieht der Code genau aus. Damit konnte ich leider nichts anfangen  :

>retval = swApp.RunMacro("C:\SW->Macros\Test.swp", "Module1", "frmAusgabe.Show")
Stefan:
>du musst als letzten Parameter die Prozedur in deinem Module1 >aufrufen, mit der das Makro gestartet werden soll, also >typischerweise "Main".

Danke im Voraus
Gruß

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



Entwicklungsingenieur Maschinenbau (m/w/d)
Du teilst unsere Leidenschaft für Innovationen und Technologien und willst dich den Herausforderungen der Zukunft stellen? Dann komm zu FERCHAU: als ambitionierte:r Kolleg:in, der:die wie wir Technologien auf die nächste Stufe bringen möchte. Wir realisieren spannende Projekte für namhafte Kunden des Maschinenbaus und übernehmen Verantwortung für komplexe Entwicklungsprojekte. Du möchtest dein Potenzial ...
Anzeige ansehenEntwicklung
HaPe
Mitglied
Dipl. Ing Maschinenbau, Konstrukteur, CAD-Admin


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

Beiträge: 1096
Registriert: 27.11.2001

i7 CPU 960@3.20GHz
8GB Ram
Quadro 2000 4GB
70GB Raid 0
WIN7 prof. SP1 64 bit
SWX 2010 SP5.0
SWX 2012 SP5.0
SWX 2013 SP5.0

erstellt am: 15. Mai. 2006 21: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

Hallo cimbom,

ich habe damals versucht aus SolidWorks heraus Macros aufzurufen, die auf der Festplatte liegen, damit ich nur ein Macro als Schaltfläche in der Buttonleiste installieren muß. Falls Du etwas ähnliches vorhast kann ich Dir die Hilfeseite von Stefan Berlitz empfehlen http://solidworks.cad.de/mm_index.htm
dort mal die Macros Nr.3 und Nr.4 anschauen. Oder auf der Seite http://webpages.charter.net/mkikstra/SolidWorks.html
das Macro MacroLaunch. Wenn Du Dir den Quelltext anschaus, wird es klar werden. Die Codezeile, macht nicht anderes als das angegebene Macro zu starten und retval ist der Rückgabewert (Return Value) zur Fehlerauswertung ob der Start erfolgreich war.

Gruß HaPe

[Diese Nachricht wurde von HaPe am 16. Mai. 2006 editiert.]

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