| |
 | CATIA V5 Grundkurs | Einsteiger - 5 Std. 15 Min 48 |
| |
 | Schnell, effizient und günstig: Mit der Kisters 3DViewStation 3D Arbeits- und Reparaturanleitungen einfach erstellen und pflegen, eine Pressemitteilung
|
Autor
|
Thema: Dateiname über Makro ändern (1840 mal gelesen)
|
Studentler Mitglied

 Beiträge: 41 Registriert: 11.11.2013 Catia V5 (5.19), Service Pack 5, Windows XP
|
erstellt am: 11. Apr. 2014 16:53 <-- editieren / zitieren --> Unities abgeben:         
Hallo, ich möchte ein Makro schreiben, bei dem ich für alle Parts und Baugruppen den Dateiname ändere. Der bereits bestehende Dateiname soll dabei einfach mit "_test" ergänzt werden. Ist sowas möglich? Kenne mich leider in der Makro Programmierung nicht sooo aus. 2. Schritt: Der User wird über eine Eingabemaske gefragt, wie die Endung lauten soll. Grüße und Danke für Tipps Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Studentler Mitglied

 Beiträge: 41 Registriert: 11.11.2013 Catia V5 (5.19), Service Pack 5, Windows XP
|
erstellt am: 11. Apr. 2014 17:35 <-- editieren / zitieren --> Unities abgeben:         
Das hab ich hinbekommen: Code: Language="VBSCRIPT"Sub CATMain() strAnswer = InputBox("Please enter a name for your new file:", _ "Create File") MsgBox strAnswer For Each oDocument In CATIA.Documents
'Anweisung Next
End Sub
Aber wie ich auf jeden Dateinamen zugreifen kann ... hmm? Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
K.Siebert Mitglied Tech Zeichner
 
 Beiträge: 415 Registriert: 19.05.2007
|
erstellt am: 11. Apr. 2014 21:40 <-- editieren / zitieren --> Unities abgeben:          Nur für Studentler
Hallo, schau mal hier.  (weiter unten) und hier kannst du dich ja mal Durchklicken! Denke als Vorlagen sollte dieses ausreichend sein. ------------------
Sei Schlau bleib Dumm !!?!! Edit: Link verbessert [Diese Nachricht wurde von K.Siebert am 13. Apr. 2014 editiert.] [Diese Nachricht wurde von K.Siebert am 13. Apr. 2014 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Studentler Mitglied

 Beiträge: 41 Registriert: 11.11.2013 Catia V5 (5.19), Service Pack 5, Windows XP
|
erstellt am: 13. Apr. 2014 10:45 <-- editieren / zitieren --> Unities abgeben:         
|
bgrittmann Moderator Konstrukteur
       
 Beiträge: 12054 Registriert: 30.11.2006 CATIA V5R19
|
erstellt am: 13. Apr. 2014 10:52 <-- editieren / zitieren --> Unities abgeben:          Nur für Studentler
Servus Hier noch mal der Link. Im Prizip mss du nur für jedes Dokument ein SaveAs (mit neuem Dateinamen ausführen). Ich würde dir empfelen zuerst die CATParts zu speichern, dann die CATProducts (als letztes das Rootproduct) und dann die CATDrawings, damit die Links nicht zerschossen werden. Gruß Bernd ------------------ Warum einfach, wenn es auch kompliziert geht. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Studentler Mitglied

 Beiträge: 41 Registriert: 11.11.2013 Catia V5 (5.19), Service Pack 5, Windows XP
|
erstellt am: 13. Apr. 2014 17:20 <-- editieren / zitieren --> Unities abgeben:         
Hallo Bernd, Danke für deinen Beitrag. Wie gehe ich denn die einzelnen Parts und Products der Reihe nach durch? Wäre es für Dich möglich mir ein paar Zeilen Code zu schreiben? Bei mir dauert das sonst wohl ewig und ich bin etwas in Eile. Grüße Studentler Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
bgrittmann Moderator Konstrukteur
       
 Beiträge: 12054 Registriert: 30.11.2006 CATIA V5R19
|
erstellt am: 13. Apr. 2014 18:07 <-- editieren / zitieren --> Unities abgeben:          Nur für Studentler
Servus Anbei ein kleines (ungetestet, CATScript) Beispiel: Code: Sub CATMain()Dim StrAnswer As String Dim StrNewFileName As String Dim oDoc As Document Dim oRootDoc As Document StrAnswer = InputBox("Please enter a name for your new file:", "Create File") Set oRootDoc = CATIA.ActiveDocument 'Nur CATPart For Each oDoc In CATIA.Documents If TypeName(oDoc) = "PartDocument" Then StrNewFileName = Left(oDoc.FullName, Len(oDoc.FullName) - Len(".CATPart")) + StrAnswer + ".CATPart" oDoc.SaveAs StrNewFileName End If Next
'Nur CATProduct For Each oDoc In CATIA.Documents If TypeName(oDoc) = "ProductDocument" Then StrNewFileName = Left(oDoc.FullName, Len(oDoc.FullName) - Len(".CATProduct")) + StrAnswer + ".CATProduct" oDoc.SaveAs StrNewFileName End If Next oRootDoc.Save End Sub
Gruß Bernd ------------------ Warum einfach, wenn es auch kompliziert geht. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Studentler Mitglied

 Beiträge: 41 Registriert: 11.11.2013 Catia V5 (5.19), Service Pack 5, Windows XP
|
erstellt am: 14. Apr. 2014 09:38 <-- editieren / zitieren --> Unities abgeben:         
Super, das funktioniert (fast) perfekt. Danke Bernd!! Einziges Problem, für jedes Part und Product frägt mich nun Catia : xxxx.part E:\.... xxxx.catpart is referenced by other documents in session. 'Save As' will update the links in session on the new name.... Do you want to proceed? Hier muss ich als Nutzer nun für alle Parts (das sind ziemlich viele) immer auf JA klicken. Kann man das abschalten bzw. immer mit Ja beantworten?
Habe im Forum und Internet nichts gefunden dazu. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
bgrittmann Moderator Konstrukteur
       
 Beiträge: 12054 Registriert: 30.11.2006 CATIA V5R19
|
erstellt am: 14. Apr. 2014 09:40 <-- editieren / zitieren --> Unities abgeben:          Nur für Studentler
Servus Am Anfang: Code: CATIA.DisplayFileAlerts = False
einfügen. Und am Ende die Meldungen wieder mit Code: CATIA.DisplayFileAlerts = true
einschalten. Gruß Bernd ------------------ Warum einfach, wenn es auch kompliziert geht. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Studentler Mitglied

 Beiträge: 41 Registriert: 11.11.2013 Catia V5 (5.19), Service Pack 5, Windows XP
|
erstellt am: 14. Apr. 2014 09:55 <-- editieren / zitieren --> Unities abgeben:         
|
K.Siebert Mitglied Tech Zeichner
 
 Beiträge: 415 Registriert: 19.05.2007
|
erstellt am: 14. Apr. 2014 20:23 <-- editieren / zitieren --> Unities abgeben:          Nur für Studentler
Hallo, ja du kannst auch in einem catscript mit send keys arbeiten. http://www.administrator.de/forum/mit-vbscript-tastendruck-simulieren-19626.htmlIMHO Rate ich dieses in einem catscript nur in einem äußerstem Notfall einzusetzen. weil um sicherzustellen das du auch den Butten bestätigst den du auch wirklich bestätigen willst, solltest du diesen erst per code aktiv schalten und dann erst ein enter senden. Nun ist es so das jeder Butten in Windows seinen eigenen Namen hat und ohne diesen Namen genau zu kennen würde ich nicht mit send keys arbeiten. ------------------
Sei Schlau bleib Dumm !!?!! Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |