Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  CATIA V5 Programmierung
  Makro über VBA 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
Autor Thema:  Makro über VBA starten (7281 mal gelesen)
donbastiano
Mitglied



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

Beiträge: 19
Registriert: 17.01.2011

Intel Core 2 Duo 3.00 Ghz
3 GB Arbeitsspeicher
Windows XP Professional SP3
Catia V5 R18

erstellt am: 17. Jan. 2011 16:01    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 Leute,

ich möchte gerne ein Makro über den Button in einer VBA userform starten lassen.
Was für einen Befehl muss ich dafür verwenden?

danke schon mal, donbastiano

------------------
bau den sofa grade

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

Christian.O
Mitglied
Konstrukteur


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

Beiträge: 1212
Registriert: 17.07.2009

erstellt am: 17. Jan. 2011 16:22    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 donbastiano 10 Unities + Antwort hilfreich

Servus,

und Willkommen im Forum.

Was willst du den mit dem VBA Makro starten? Ein anderes VBA, ein Modul innerhalb des gleichen Projektes (VBA), ein Modul innerhalb des gleichen Projektes oder ein CATSript/ CATVBS? Mehr Infos wären hier nötig.
Ansonsten die SuFu hier verwenden oder einen Blick in die V5Automation werfen (Hinweis: ExecuteScript)

PS: Bitte Systeminfo ausfüllen

------------------
Mit freundlichen Grüßen aus Tirol
Christian Obholzer

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

donbastiano
Mitglied



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

Beiträge: 19
Registriert: 17.01.2011

Intel Core 2 Duo 3.00 Ghz
3 GB Arbeitsspeicher
Windows XP Professional SP3
Catia V5 R18

erstellt am: 17. Jan. 2011 16: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

Also. Ich habe ein Makro aufgenommen, in dem ich einen Körper generiere. Quelltext ist in  VBScript verfasst. Jetzt möchte ich dieses Makro über eine mit VBA erstellte Userform, mittels eines Knopfes aufrufen lassen.

------------------
bau den sofa grade

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

Christian.O
Mitglied
Konstrukteur


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

Beiträge: 1212
Registriert: 17.07.2009

erstellt am: 17. Jan. 2011 16:47    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 donbastiano 10 Unities + Antwort hilfreich

Servus,

warum kopierst du den Quellcode nicht einfach in ein neues Modul von deinem VBA hinein?

Ansonsten könnte das so aussehen. Dieser Text wird in den Button hinterlegt mit dem du dein Makro starten willst.

Code:
    '***Deklarationen für Function-Aufruf
    strProjekt = "OC_GUI.catvba" '*** VBA Project
    strMakro = "Start_Excel" '***Makroname
    strMakrostart = "CatMain" '***Welcher Teil vom Makro gestartet wird
    strProjektpfad = strOC_Pfad & "\" & strProjekt '***hier steht der Pfad drinnen wo die Datei (CATSript, CATVBS) liegt + das Project
   
    '***Function aufrufen
    Run_CatVBA strProjektpfad, strMakro, strMakrostart

Damit wird das Makro dann gestartet und die nötigen Variablen übergeben. Dieser Code steht dort drinnen mit dem du deine Userform startest.

Code:
Public Sub Run_CatVBA(strPfad As String, strMakro As String, strMakrostart As String)

    '***Deklarationen
    Dim vntParameter() As Variant
    Dim vntSystemService As Variant
   
    '***Makro aufrufen
    Set vntSystemService = CATIA.SystemService
    Call vntSystemService.ExecuteScript(strPfad, catScriptLibraryTypeVBAProject, strMakro, strMakrostart, vntParameter)
   
End Sub



Mit der SuFu findet man sonst noch so einiges zu dem Thema. Sonst einfach mal in der V5Automation nach ExecuteScript suchen. Dort ist auch ein nettes Beispiel dazu.

------------------
Mit freundlichen Grüßen aus Tirol
Christian Obholzer

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

MichaelTreiber
Mitglied
Technischer Produktdesigner


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

Beiträge: 63
Registriert: 26.01.2011

Win XP/7 (64 Bit)
Catia V5R18

erstellt am: 09. Mrz. 2011 15: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 donbastiano 10 Unities + Antwort hilfreich

Hallo, da dieser Thread ja schon offen ist , schreibe ich auch mal hier rein.

Habe das gleiche Anliegen, habe ein Modul (modMain), das eine UserForm (UFKugeldoppelzapfen) aufruft.

Dieses Modul (Datei: "M:\TreiberM\CATVBA\kugeldoppelzapfen.catvba") möchte ich über eine komplett andere Oberfläche eines anderen Moduls mit Klick auf ein Image öffnen, da ich ein Menü erstellen möchte, wo man sich zwischen verschiedenen Makros entscheiden kann.

Habe mir die beiden oberen Codes mal angesehen und verstehe nur Bahnhof, wie genau muss meine ImageClick Procedure aussehen?

Eine etwas simplere Antwort, bzw. eine etwas leichtere Erklärung wäre sehr hilfreich 

Danke im Vorraus

------------------
Grüße aus dem schönen Düsseldorf
Michael

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

Christian.O
Mitglied
Konstrukteur


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

Beiträge: 1212
Registriert: 17.07.2009

erstellt am: 10. Mrz. 2011 08: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 donbastiano 10 Unities + Antwort hilfreich

Servus,

warum willst du zur Makroauswahl eine eigenes *.catvba erstellen?
Ich hab alle Makros in einer einzigen VBA Datei drinnen und rufe die Makros wie weiter oben erwähnt, auf. Wenn es sich dann um einer Userform handelt brauchst du nur Userformname.Show.

------------------
Mit freundlichen Grüßen aus Tirol
Christian Obholzer

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

MichaelTreiber
Mitglied
Technischer Produktdesigner


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

Beiträge: 63
Registriert: 26.01.2011

Win XP/7 (64 Bit)
Catia V5R18

erstellt am: 14. Mrz. 2011 08:10    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 donbastiano 10 Unities + Antwort hilfreich

Die Sache ist die, nicht alle .catvba dateien sind von mir und ich erstelle für die anderen Mitarbeiter eine Benutzeroberfläche, wo sie leichter auf sämtliche Makros zugreifen können.

Ich habe also von manchen Makros keine Rechte, um das Skript zu verwenden, kann die Prozedur lediglich starten und das versuche ich halt nun zu bewerkstelligen.

Also muss ich irgendwie eine catvba datei über eine Benutzeroberfläche starten.

------------------
Grüße aus dem schönen Düsseldorf
Michael

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

Christian.O
Mitglied
Konstrukteur


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

Beiträge: 1212
Registriert: 17.07.2009

erstellt am: 14. Mrz. 2011 15: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 Nur für donbastiano 10 Unities + Antwort hilfreich

Servus,

hab den obigen Code von mir nochmals probiert. Der läuft einwandfrei. In deiner fremden catvba Datei mußt du doch auch ein Modul haben, dass die anderen Makros (die in dieser catvba Datei drinnen sind) mit Userformname.Show aufruft. Genau dieses Modul mußt du dann in meinem obigen Code angeben.

------------------
Mit freundlichen Grüßen aus Tirol
Christian Obholzer

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

MichaelTreiber
Mitglied
Technischer Produktdesigner


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

Beiträge: 63
Registriert: 26.01.2011

Win XP/7 (64 Bit)
Catia V5R18

erstellt am: 14. Mrz. 2011 15:22    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 donbastiano 10 Unities + Antwort hilfreich

Habs mittlerweile mit dem Code hinbekommen,
war nur etwas verwirrt, wegen den Variablen 
Vielen Dank 

------------------
Grüße aus dem schönen Düsseldorf
Michael

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)2023 CAD.de | Impressum | Datenschutz