Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de
  CATIA V5 Allgemein
  Alle offenen Fenster schliessen

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 CATIA & Co.
  
Mit dem all4cad-Blog immer bestens informiert! - Neues zu Lösungen und Entwicklungen rund um ERP und PDM, eine Pressemitteilung
Autor Thema:  Alle offenen Fenster schliessen (5673 mal gelesen)
Klaus-Heinz
Mitglied



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

Beiträge: 219
Registriert: 30.10.2009

erstellt am: 20. Jan. 2012 12:42    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 !
Gibt es die Möglichkeit alle offenen Fenster auf einmal zu schliessen ?
mit freundlichen Grüssen KH

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

tberger
Mitglied
Application Manager CATIA V5 / V6


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

Beiträge: 1385
Registriert: 13.01.2007

WIN 7 64bit
V5R21SP3HF49
3DX/V6 R2016x

erstellt am: 20. Jan. 2012 12:49    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 Klaus-Heinz 10 Unities + Antwort hilfreich

Ja, per Makro:
[EDIT]: Dim's eingebaut für CATScript


Sub CATMain ()

Dim N As Long
N = CATIA.Documents.Count

If N = 0 Then
    MsgBox "Es befinden sich keine Dokumente in der Sitzung."
    Exit Sub
End If

Dim AllWindows
Set AllWindows = CATIA.Windows

Dim SelWindow
Dim WindowDocument

Dim Message

Message = "Es sind " & N & " Dokumente geöffnet" & Chr(10) & "Sollen jetzt alle ohne zu sichern geschlossen werden?"

answer = MsgBox(Message, vbYesNo)

If answer = vbYes Then

    For I = N To 1 Step -1
        Set SelWindow = AllWindows.Item(I)
   
        SelWindow.Activate
        Set WindowDocument = CATIA.ActiveDocument
        WindowDocument.Close

    Next

End If

End Sub

------------------
Grüße aus dem Thurgau
Thomas

+++++++++++++++++++++++++++++++++

CATIA - eine Laune der Natur ...

[Diese Nachricht wurde von tberger am 20. Jan. 2012 editiert.]

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

Klaus-Heinz
Mitglied



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

Beiträge: 219
Registriert: 30.10.2009

erstellt am: 20. Jan. 2012 13:19    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 Thomas
Habe dein Makro erzeugt.Beim ausführen bekomme ich leider ein Fehler.
die Zeile  --- Set SelWindow = AllWindows.Item(I)--
Zuvor schreibt es mir wieviel Fenster ohne speichern geschlossen werden sollen.
Vielleicht hast du eine Lösung dafür.
Gruss KH

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

tberger
Mitglied
Application Manager CATIA V5 / V6


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

Beiträge: 1385
Registriert: 13.01.2007

WIN 7 64bit
V5R21SP3HF49
3DX/V6 R2016x

erstellt am: 20. Jan. 2012 13:21    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 Klaus-Heinz 10 Unities + Antwort hilfreich

Ich habe bereits das Makro editiert, die Dim-Anweisungen waren für CATScript nötig.
Hatte es aus meinem vba-Projekt kopiert, da waren die nicht nötig.

------------------
Grüße aus dem Thurgau
Thomas

+++++++++++++++++++++++++++++++++

CATIA - eine Laune der Natur ...

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

Klaus-Heinz
Mitglied



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

Beiträge: 219
Registriert: 30.10.2009

erstellt am: 20. Jan. 2012 13:29    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 Thomas !!

Hat jetzt super geklappt.

Vielen Dank fü dieses zumindest für mich sehr nützliche Makro.

Super ! Danke !

mir freundlichen Grüssen KH

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

Klaus-Heinz
Mitglied



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

Beiträge: 219
Registriert: 30.10.2009

MS Windos 7 64 bit
V5 R19 SP9 64 bit
V5 R24 SP1

erstellt am: 20. Jan. 2012 13:42    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

Sorry Thomas !
Mein Kollege hatte die Anregung ob man nur ein bestimmtes Fenster
in diesem Fall das Oberprudukt doch noch offen lassen kann ??

Gruss KH

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

tberger
Mitglied
Application Manager CATIA V5 / V6


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

Beiträge: 1385
Registriert: 13.01.2007

erstellt am: 20. Jan. 2012 15:08    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 Klaus-Heinz 10 Unities + Antwort hilfreich

Wenn man das "Oberprodukt", was ich annehme, im ersten Fenster oder einem der ersten Fenster liegen hat, könnte man die Schleife manipulieren und nicht bis zum letzten ersten Fenster zurück alles schliessen lassen.

Also so was wie
For I = N to 2 Step -1

Dann würde das erste Fenster übrig bleiben.

Alles andere ist dann schon wieder mit mehr Programmieraufwand möglich. Ebenso habe ich mal das so programmiert, dass nur wirklich auch gesicherte Dokumente geschlossen wurden und andere "nur offene" ohne Rückfrage geschlossen wurden.

------------------
Grüße aus dem Thurgau
Thomas

+++++++++++++++++++++++++++++++++

CATIA - eine Laune der Natur ...

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

Klaus-Heinz
Mitglied



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

Beiträge: 219
Registriert: 30.10.2009

MS Windos 7 64 bit
V5 R19 SP9 64 bit
V5 R24 SP1

erstellt am: 23. Jan. 2012 07:57    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 Thomas !
Danke für die neue Möglichkeit ein Fenster noch offen zu lassen.
Ich musste heute morgen feststellen das wenn ich die von dir geschriebene Zeile austausche funktioniert es leider nicht.
Als ich dann versuchte das ,,alte,, wieder zu erzeugen ging das auch nicht mehr.Bitte kann du mir nochmal sagen als was ich es erzeugen muss.  MS VB Script    oder    CAT Script
Bekomme immer wieder diese Zeile - Set SelWindow = AllWindows.Item(I-
vielen Dank im voraus  KH

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

tberger
Mitglied
Application Manager CATIA V5 / V6


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

Beiträge: 1385
Registriert: 13.01.2007

erstellt am: 23. Jan. 2012 14:38    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 Klaus-Heinz 10 Unities + Antwort hilfreich


Fenster_Minus_1.CATScript.txt

 
Hallo KH,

also bei mir geht es ganz normal. Es muss als .CATScript gesichert sein.

Anbei das Makro, das dann das erste Fenster übrig lässt (runterladen, .txt entfernen).

------------------
Grüße aus dem Thurgau
Thomas

+++++++++++++++++++++++++++++++++

CATIA - eine Laune der Natur ...

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

Klaus-Heinz
Mitglied



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

Beiträge: 219
Registriert: 30.10.2009

MS Windos 7 64 bit
V5 R19 SP9 64 bit
V5 R24 SP1

erstellt am: 24. Jan. 2012 09:29    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


Fensterschliessen.pdf

 
Hallo Thomas !
Habe wirklich umprobiert (beide Scripts) und wenn ich es nicht schon mal hingekriegt hätte , fängt man an an sich zu zweifeln.
Habe dir mal eine PDF angehangen.
Vielleicht kannst du daraus lesen warum es nicht funktioniert.
Gruss und Danke KH

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

tberger
Mitglied
Application Manager CATIA V5 / V6


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

Beiträge: 1385
Registriert: 13.01.2007

erstellt am: 24. Jan. 2012 10: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 Klaus-Heinz 10 Unities + Antwort hilfreich

Hast du evtl. auch den "Schreibtisch" als Fenster auf?

Da habe ich festgestellt, läuft es nicht durch und schliesst Fenster nur bis zum Schreibtischfenster und bleibt dann hängen.

Füge einfach zu Beginn des Codes nach dem Sub CATMain()
On error resume next

ein. Dann sollten die Fenster geschlossen werden und das Schreibtischfenster bleibt übrig.

------------------
Grüße aus dem Thurgau
Thomas

+++++++++++++++++++++++++++++++++

CATIA - eine Laune der Natur ...

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

Klaus-Heinz
Mitglied



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

Beiträge: 219
Registriert: 30.10.2009

MS Windos 7 64 bit
V5 R19 SP9 64 bit
V5 R24 SP1

erstellt am: 24. Jan. 2012 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

Hallo Thomas !
Nein ich habe bei den Produkten und Parts nicht noch den Schreibtisch offen.Habe die Zeile -On error resume next-eingefügt in beide
Scripts (alle schliessen und eins offen lassen).
Gute Nachricht : Es gehen beide Scripts wieder ,bis auf die Kleinigkeit das dieses welches ein Fenster noch offen lassen soll, trotzdem alle schliesst.
Frage : Wie wähle ich denn welches Fenster noch offen sein soll ?
Oder ist es das Fenster was ich auch als erstes ( Oberprodukt) öffne ?

Gruss Klaus-Heinz



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

tberger
Mitglied
Application Manager CATIA V5 / V6


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

Beiträge: 1385
Registriert: 13.01.2007

erstellt am: 24. Jan. 2012 12: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 Klaus-Heinz 10 Unities + Antwort hilfreich

Tja, ich habe keine weitere zündende Idee. Dafür bräuchte man auch die Fensterzusammenstellung, bei der es bei dir nicht geht.
Das Makro "works as designed" bei mir. Ich habe aber auch die R19SP5.

Lass dir doch mal die Anzahl der Fenster per MsgBox ausgeben um einen Anhalt zu bekommen, wieviele wirklich von deiner Session "gezählt" werden.
Z.B. zu Beginn einbauen:

MsgBox " Anzahl zu schliessender Fenster = " & CATIA.Windows.Count


Wenn du ein spez. Fenster zum Beispiel das gerade aktive behalten möchtest und alle anderen schliessn, liesse sich das auch bewerkstelligen.
Wie auch immer: für eine saubere Programmierung hilft eine saubere Spec.

Ich bin aber hier nur im Forum tätig um Ideen zu geben oder einfache Scriptansätze aufzuzeigen (und natürlich auch abzuholen ;-) ). Ab einem gewissen Zeitpunkt sehe ich das aber als "Auftrag" mit "Aufwand" und dann ziehe ich mich - ohne Auftrag - wieder aus dem Forum zurück.

Wenn ich schreibe, dass es eine einfache Möglichkeit wäre die Schleife zu reduzieren wie oben und man etwas Programmier-Kenntnisse hat kann man daraus erkennen, dass bei einem N To 2 STEP -1    die 1 und damit das erste Fenster hier übrig bleiben sollte.

Bleibt es nicht übrig, stimmt vlt. die Anzahl der Fenster nicht.

------------------
Grüße aus dem Thurgau
Thomas

+++++++++++++++++++++++++++++++++

CATIA - eine Laune der Natur ...

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

Klaus-Heinz
Mitglied



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

Beiträge: 219
Registriert: 30.10.2009

MS Windos 7 64 bit
V5 R19 SP9 64 bit
V5 R24 SP1

erstellt am: 24. Jan. 2012 12:57    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

Danke sehr für die bisherige Hilfe und Bereitstellung dieses Scripts.
Habe mich ein bisschen in diese Sache verrannt.Leider nicht beachtet das Du und andere die ,,Arbeit,, haben und ich nur die Probleme und Wünsche äussere.
Werde deinen neuen Lösungsvorschlag probieren und sehen was event. das Problem sein könnte.

mit freundlichen Grüssen Klaus-Heinz

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

Bemue
Mitglied
Mechanic Application Engineer

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

Beiträge: 4
Registriert: 16.10.2003

erstellt am: 02. Feb. 2012 11: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 Nur für Klaus-Heinz 10 Unities + Antwort hilfreich

Hallo Thomas

ich habe dein Script auch ausprobiert, da ich genau so etwas auch gesucht habe. Dabei bin ich auf den gleichen Fehler gestossen, den Karl-Heinz auch hatte.
Das Programm bleibt bei der Zeile  Set SelWindow = AllWindows.Item(I) hängen.
Mit Hilfe eines Debuggers habe ich dann herausgefunden, woher der Fehler kommt.
Mein Test: Ich hatte 4 Produkte geöffnet, so dass 4 Fenster in Catia vorhanden waren.
Ziel: Alle 4 Fenster sollten ohne Speichern geschlossen werden.
Die Message, die das Programm rausschreibt, sagte, dass 186 Dokumente geöffnet sind. Anscheinend werden alle Dokumente gezählt, sprich alle CATParts und CATProducts.
Durch die hohe Zahl funktioniert dann die Schleife nicht mehr, weil N viel höher ist als Fenster vorhanden sind.
Ich habe daraufhin nur die Zeile geändert  N=Catia.Documents.Count  in N=Catia.Windows.Count
Damit läuft das Programm durch und alle Fenster werden geschlossen.

Vielleicht nützt euch dieser Hinweis etwas.

Viele Grüße
Bernhard

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