Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  CATIA V5 Programmierung
  PDF in Zielordner speichern

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:  PDF in Zielordner speichern (2113 mal gelesen)
ThomasTeoma
Mitglied
Konstrukteur


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

Beiträge: 27
Registriert: 13.03.2015

Win7 Enterprise 64Bit
Intel Xeon CPU E5-1620 3,6GHz
32GB RAM

erstellt am: 16. Mrz. 2015 10:56    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 bin neu hier bei euch und eine absolute Null im Makro programieren 

In meiner Arbeit ist es öfters notwending viele Daten möglichst schnell bereitzustellen, dafür hab ich eine kleinen Makro, welches mir File-SaveAs-PDF auf einen Button legt, so weit so gut:

Sub CATMain()

   
    Set oDoc = CATIA.ActiveDocument
   
    DocName = left(oDoc.Name,len(oDoc.Name)-11)

    DocPath = oDoc.Path
    PDFPath = "C:\Users\thstehr\Desktop\"
   
    oDoc.ExportData PDFPath&DocName, "pdf"

End Sub

Es funktioniert einwandfrei, was ich nun bräuchte, ich aber einfach nicht zusammen bringe ist, das nur Sheet1(.ActiveSheet) gedruckt wird, weil alle anderen Blätter sowieso nur DetailSheets sind..

Und die Krönung des ganzen wäre ein Makro das alle geöffneten Zeichnungen durch geht und das Makro bei jeder Datei macht, das würde mir wirklich sehr weiterhelfen! Würde mich sehr über Hilfe freuen! 

Lg
Thomas

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

bgrittmann
Moderator
Konstrukteur


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

Beiträge: 11780
Registriert: 30.11.2006

CATIA V5R19

erstellt am: 16. Mrz. 2015 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 Nur für ThomasTeoma 10 Unities + Antwort hilfreich

Servus
Willkommen im Forum.
Schau dir mal diese Diskussion an.
AFAIR geht das nur wenn du in CATIA eingestellt hast das pro Seite ein einzelnes PDF erstellt wird.

Gruß
Bernd

------------------
Warum einfach, wenn es auch kompliziert geht.

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

ThomasTeoma
Mitglied
Konstrukteur


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

Beiträge: 27
Registriert: 13.03.2015

Win7 Enterprise 64Bit
Intel Xeon CPU E5-1620 3,6GHz
32GB RAM

erstellt am: 16. Mrz. 2015 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

Hui, das ging ja fix!

Also im Moment ist es bei mir so, dass das makro pro sheet ein PDF erstellt und ich dann halt sheet2 wieder lösche..

Also das erste was mich mal verwirrt, ist dieses dubiose "Dim" (ist wohl zum deklarieren von Variablen, oder? Warum mag das aber mein (oder eh jedes?) Catia nicht?)

Ich muss gestehen das Makro von Michael Rösch ist mir gleich schon wieder zu kompliziert..
Kann ich nicht einfach  etwas in die richtung einbauen:

Set oDoc = CATIA.ActiveDocument
Set oSheets = oDoc.Sheets
Set oSheet = oSheets.ActiveSheet

um mich somit nur auf Sheet1 zu beziehen?
Das mit dem ihnalt eines ganzen ordner auf einen schlag umwandeln haut bei mir leider nicht hin, da die Daten leider nicht lokal sondern auf einem server gespeichert sind auf den ich mit einem Programm zugreife..

Lg
Thomas

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

bgrittmann
Moderator
Konstrukteur


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

Beiträge: 11780
Registriert: 30.11.2006

CATIA V5R19

erstellt am: 16. Mrz. 2015 11: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 Nur für ThomasTeoma 10 Unities + Antwort hilfreich

Servus
Das "Dim" wird bei CATScript und VBA benötigt nicht bei CATVbs.
Leider kann nicht nur einzelne Seite als PDF exportieren. (ggf geht das über einen PDF-Drucker, wird mit Sicherheit aber auch komplexer)

Gruß
Bernd

------------------
Warum einfach, wenn es auch kompliziert geht.

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

RSchulz
Moderator²
Head of CAD, Content & Collaboration / IT-Manager



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

Beiträge: 5541
Registriert: 12.04.2007

@Work
Lenovo P510
Xeon E5-1630v4
64GB DDR4
Quadro P2000
256GB PCIe SSD
512GB SSD
SmarTeam V5-6 R2016 Sp04
CATIA V5-6 R2016 Sp05
E3.Series V2019
Altium Designer/Concord 19
Win 10 Pro x64

erstellt am: 16. Mrz. 2015 17: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 ThomasTeoma 10 Unities + Antwort hilfreich

Hallo zusammen,

das sollte deinen Anforderungen entsprechend funktionieren...

Code:

Sub CATMain()

    Dim oDrawingDoc As DrawingDocument
    Dim oDoc As Document
    Dim oSheets As DrawingSheets
    Dim oSheet As DrawingSheet
   
    Dim strActDocName As String
    Dim strActDocExt As String
    Dim strFileName As String
    Dim strDrwFileExt As String
    Dim strSaveFolderPDF As String
    Dim strActSheetName As String
    Dim iFileExtLen As Integer
    On Error Resume Next
   
    strSaveFolderPDF = "C:\Users\thstehr\Desktop\"
    'strSaveFolderPDF = "D:\"
   
    Set oDoc = CATIA.ActiveDocument
       
    'Check for drawing Document
    strActDocName = oDoc.FullName
    strDrwFileExt = ".CATDrawing"
    iFileExtLen = Len(strDrwFileExt)
    strActDocExt = VBA.Right(strActDocName, iFileExtLen)
   
    If InStr(strActDocExt, strDrwFileExt) = 1 Then
   
        Set oDrawingDoc = oDoc
        strFileName = Left(oDoc.Name, InStr(oDoc.Name, strDrwFileExt) - 1)
        oDrawingDoc.ExportData strSaveFolderPDF & strFileName, "pdf"
        DoEvents
       
        Set oSheets = oDoc.Sheets
        Set oSheet = oSheets.ActiveSheet
        strActSheetName = oSheet.Name
        DelAllExceptNamedSheet strActSheetName, strSaveFolderPDF, strFileName
       
        Set oDrawingDoc = Nothing
        Set oDoc = Nothing
                       
    Else
       
        'The active document is not a drawing document
        MsgBox "Das aktive Dokument ist keine Zeichnung und kann nicht verarbeitet werden.", vbCritical
       
    End If

End Sub

Sub DelAllExceptNamedSheet(SheetName As String, Path As String, FileName As String)
   
    Dim oDoc As Document
    Dim oSheets As DrawingSheets
    Dim oSheet As DrawingSheet
   
    Dim strFileToDel As String
    Dim strSheetName As String
    Dim i As Integer
   
    Set oDoc = CATIA.ActiveDocument
    Set oSheets = oDoc.Sheets
   
    For i = 1 To oSheets.Count
        Set oSheet = oSheets.Item(i)
        strSheetName = oSheet.Name
        If strSheetName <> SheetName Then
            strSheetName = Replace(strSheetName, ".", "_")
            strSheetName = Replace(strSheetName, "/", "_")
            strSheetName = Replace(strSheetName, "\", "_")
            strFileToDel = Path & FileName & "_" & strSheetName & ".pdf"
            If FileExists(strFileToDel) Then
                Kill strFileToDel
            End If
        End If
    Next
   
End Sub

Function FileExists(ByVal FileToTest As String) As Boolean
  FileExists = (Dir(FileToTest) <> "")
End Function


------------------
MFG
Rick Schulz

Nettiquette (CAD.de)  -  Was ist die Systeminfo?  -  Wie man Fragen richtig stellt.  -  Unities

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

ThomasTeoma
Mitglied
Konstrukteur


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

Beiträge: 27
Registriert: 13.03.2015

Win7 Enterprise 64Bit
Intel Xeon CPU E5-1620 3,6GHz
32GB RAM

erstellt am: 17. Mrz. 2015 08:06    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

Wow, du bist ja der Wahnsinn!!! vielen vielen dank für deine mühe,
also ich schäme mich echt für meine fragen,
also, hier in dem Fall ist ja wieder alles mit "Dim" declariert,
wenn ich das ganze nun enfach in Catia in dem MakroEditor rein kopiere, funzt es natürlich wieder nicht 
Wass soll ich den nun damit machen? es tut mir wirklich sehr leid das ich soo dumme Fragen stelle    =( 

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

bgrittmann
Moderator
Konstrukteur


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

Beiträge: 11780
Registriert: 30.11.2006

CATIA V5R19

erstellt am: 17. Mrz. 2015 08:18    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 ThomasTeoma 10 Unities + Antwort hilfreich

Servus
Vermutlich ist das Makro in VBA geschrieben.
testweise kannst du das Makro auch mal als CATScript probieren (Text-File erstellen, Code reinkopieren, Dateiendung auf CATScript ändern)

Gruß
Bernd

------------------
Warum einfach, wenn es auch kompliziert geht.

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

RSchulz
Moderator²
Head of CAD, Content & Collaboration / IT-Manager



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

Beiträge: 5541
Registriert: 12.04.2007

@Work
Lenovo P510
Xeon E5-1630v4
64GB DDR4
Quadro P2000
256GB PCIe SSD
512GB SSD
SmarTeam V5-6 R2016 Sp04
CATIA V5-6 R2016 Sp05
E3.Series V2019
Altium Designer/Concord 19
Win 10 Pro x64

erstellt am: 17. Mrz. 2015 09:09    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 ThomasTeoma 10 Unities + Antwort hilfreich

Hallo,

vorab es gibt keine dummen Fragen  Wenn überhaupt nur dreiste und dumme Formulierungen 

Wie auch immer, was für ein Fehler kommt denn? Ja es handelt sich um ein VBA-Programm. Hierfür musst du natürlich die VBA-Umgebung installiert haben und unter Tools > Options > Allgemein > Makros >>> MS VBA als Standardeditor definiert sein.

------------------
MFG
Rick Schulz

Nettiquette (CAD.de)  -  Was ist die Systeminfo?  -  Wie man Fragen richtig stellt.  -  Unities

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

ThomasTeoma
Mitglied
Konstrukteur


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

Beiträge: 27
Registriert: 13.03.2015

Win7 Enterprise 64Bit
Intel Xeon CPU E5-1620 3,6GHz
32GB RAM

erstellt am: 17. Mrz. 2015 10: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


fehlermeldung_DIM.JPG

 
So, ja also in den Optionen hab ich bei den Default-Editors: CATScript, MS VBA, MS VBScript, von daher sollte es also glaub ich passen..

Die Fehlermeldung ist im anhang..

Ich habe das mit txt in CATScript umbenennen versucht, wenn ich dan auf das CATScript doppelklicke geht das Makro in CATIA rein dan passiert aber nix =D

Danke für eure hilfe!

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

RSchulz
Moderator²
Head of CAD, Content & Collaboration / IT-Manager



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

Beiträge: 5541
Registriert: 12.04.2007

@Work
Lenovo P510
Xeon E5-1630v4
64GB DDR4
Quadro P2000
256GB PCIe SSD
512GB SSD
SmarTeam V5-6 R2016 Sp04
CATIA V5-6 R2016 Sp05
E3.Series V2019
Altium Designer/Concord 19
Win 10 Pro x64

erstellt am: 17. Mrz. 2015 10:56    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 ThomasTeoma 10 Unities + Antwort hilfreich

Also nein VBA ist nicht der aktive. Anklicken > als Standard definieren...

Ansonsten kannst du die DIM auch alle auskommentieren mit '.

------------------
MFG
Rick Schulz

Nettiquette (CAD.de)  -  Was ist die Systeminfo?  -  Wie man Fragen richtig stellt.  -  Unities

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

ThomasTeoma
Mitglied
Konstrukteur


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

Beiträge: 27
Registriert: 13.03.2015

Win7 Enterprise 64Bit
Intel Xeon CPU E5-1620 3,6GHz
32GB RAM

erstellt am: 17. Mrz. 2015 12: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


fehlermeldung_kOMPILIERUNG.JPG

 
Gesagt, getan..
das nächste mal schreit er in der Zeile:

Sub DelAllExceptNamedSheet(SheetName As String, Path As String, FileName As String)

Wird jetzt wohl wieder in etwa das gleiche wie bei DIM sein?

ich habe nun die oben genannte Zeile und die vor-vorletzte Zeile weg kommentiert, also ' .. ich weiß nicht ob man das wegkommentieren nenn kann =D

Function FileExists '(ByVal FileToTest As String) As Boolean

jetzt kommt die Fehlermeldung das das aktive dokument keine Zeichnung ist, ob wohl ich aber eine offen habe..

danke für die hilfe! 

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

RSchulz
Moderator²
Head of CAD, Content & Collaboration / IT-Manager



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

Beiträge: 5541
Registriert: 12.04.2007

@Work
Lenovo P510
Xeon E5-1630v4
64GB DDR4
Quadro P2000
256GB PCIe SSD
512GB SSD
SmarTeam V5-6 R2016 Sp04
CATIA V5-6 R2016 Sp05
E3.Series V2019
Altium Designer/Concord 19
Win 10 Pro x64

erstellt am: 17. Mrz. 2015 12: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 Nur für ThomasTeoma 10 Unities + Antwort hilfreich

Hallo,

du brauchst die Argumente, musst diese dann aber ohne Typbestimmung definieren

Also;
DelAllExceptNamedSheet(SheetName, Path, FileName)
und
Function FileExists(FileToTest)

------------------
MFG
Rick Schulz

Nettiquette (CAD.de)  -  Was ist die Systeminfo?  -  Wie man Fragen richtig stellt.  -  Unities

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

ThomasTeoma
Mitglied
Konstrukteur


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

Beiträge: 27
Registriert: 13.03.2015

Win7 Enterprise 64Bit
Intel Xeon CPU E5-1620 3,6GHz
32GB RAM

erstellt am: 17. Mrz. 2015 13: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

Passt, das hab ich erledigt, leider kommt aber immer noch die MSgBox:

Das aktive Dokument ist keine Zeichnung und kann nicht verarbeitet werden

habe jetzt nur noch eine DWG offen zum Probieren, leider gehts nicht =(

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

RSchulz
Moderator²
Head of CAD, Content & Collaboration / IT-Manager



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

Beiträge: 5541
Registriert: 12.04.2007

@Work
Lenovo P510
Xeon E5-1630v4
64GB DDR4
Quadro P2000
256GB PCIe SSD
512GB SSD
SmarTeam V5-6 R2016 Sp04
CATIA V5-6 R2016 Sp05
E3.Series V2019
Altium Designer/Concord 19
Win 10 Pro x64

erstellt am: 17. Mrz. 2015 13: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 ThomasTeoma 10 Unities + Antwort hilfreich

Was für einen Namen hat die Drawing?

------------------
MFG
Rick Schulz

Nettiquette (CAD.de)  -  Was ist die Systeminfo?  -  Wie man Fragen richtig stellt.  -  Unities

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

ThomasTeoma
Mitglied
Konstrukteur


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

Beiträge: 27
Registriert: 13.03.2015

Win7 Enterprise 64Bit
Intel Xeon CPU E5-1620 3,6GHz
32GB RAM

erstellt am: 17. Mrz. 2015 13:12    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

Der name lautet: V57351138-01
bei dem Projekt auf dem ich arbeite sind alle nummern V5735***** hin und wieder V57 und dan ein Buchstabe.

Lg
Thomas

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

RSchulz
Moderator²
Head of CAD, Content & Collaboration / IT-Manager



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

Beiträge: 5541
Registriert: 12.04.2007

@Work
Lenovo P510
Xeon E5-1630v4
64GB DDR4
Quadro P2000
256GB PCIe SSD
512GB SSD
SmarTeam V5-6 R2016 Sp04
CATIA V5-6 R2016 Sp05
E3.Series V2019
Altium Designer/Concord 19
Win 10 Pro x64

erstellt am: 17. Mrz. 2015 13:20    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 ThomasTeoma 10 Unities + Antwort hilfreich

Kannst du mal bitte folgenden Befehl hinzufügen...
Code:

...
    'Check for drawing Document
    strActDocName = oDoc.FullName
    strDrwFileExt = ".CATDrawing"
    iFileExtLen = Len(strDrwFileExt)
    strActDocExt = VBA.Right(strActDocName, iFileExtLen)

    Msgbox "Dateiname" & strActDocName & "/" & strActDocExt

    If InStr(strActDocExt, strDrwFileExt) = 1 Then
...


...und die Meldung bitte posten.

------------------
MFG
Rick Schulz

Nettiquette (CAD.de)  -  Was ist die Systeminfo?  -  Wie man Fragen richtig stellt.  -  Unities

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

ThomasTeoma
Mitglied
Konstrukteur


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

Beiträge: 27
Registriert: 13.03.2015

Win7 Enterprise 64Bit
Intel Xeon CPU E5-1620 3,6GHz
32GB RAM

erstellt am: 17. Mrz. 2015 13:25    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


MSG-Box.JPG

 
Msg-Box im anhang.. 

Lg
Thomas

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

ThomasTeoma
Mitglied
Konstrukteur


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

Beiträge: 27
Registriert: 13.03.2015

Win7 Enterprise 64Bit
Intel Xeon CPU E5-1620 3,6GHz
32GB RAM

erstellt am: 17. Mrz. 2015 13:26    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

ui, jetzt kommts mir erst das ist ein schlechtes beispiel, weil das ist eine Zeichnung die ich nue mache darum ist sie lokal gespeichert, ich mach schnell eine vom server auf..

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

ThomasTeoma
Mitglied
Konstrukteur


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

Beiträge: 27
Registriert: 13.03.2015

Win7 Enterprise 64Bit
Intel Xeon CPU E5-1620 3,6GHz
32GB RAM

erstellt am: 17. Mrz. 2015 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


MSG-Box2.JPG

 
ok, naja bleibt eg eh fast gleich, kommt halt in einen Temp-folder...

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

RSchulz
Moderator²
Head of CAD, Content & Collaboration / IT-Manager



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

Beiträge: 5541
Registriert: 12.04.2007

@Work
Lenovo P510
Xeon E5-1630v4
64GB DDR4
Quadro P2000
256GB PCIe SSD
512GB SSD
SmarTeam V5-6 R2016 Sp04
CATIA V5-6 R2016 Sp05
E3.Series V2019
Altium Designer/Concord 19
Win 10 Pro x64

erstellt am: 17. Mrz. 2015 13:45    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 ThomasTeoma 10 Unities + Antwort hilfreich

Jo, *kopfschlag... Das vba.right wird nicht unterstützt!

Versuch es mal so.

Code:

Sub CATMain()

    On Error Resume Next
   
    strSaveFolderPDF = "C:\Users\thstehr\Desktop\"
    'strSaveFolderPDF = "D:\"
   
    Set oDoc = CATIA.ActiveDocument
       
    'Check for drawing Document
    strActDocName = oDoc.FullName
    strDrwFileExt = ".CATDrawing"
    iFileExtLen = Len(strDrwFileExt)
    strActDocExt = Right(strActDocName, iFileExtLen)
   
    If InStr(strActDocExt, strDrwFileExt) = 1 Then
   
        Set oDrawingDoc = oDoc
        strFileName = Left(oDoc.Name, InStr(oDoc.Name, strDrwFileExt) - 1)
        oDrawingDoc.ExportData strSaveFolderPDF & strFileName, "pdf"
        DoEvents
       
        Set oSheets = oDoc.Sheets
        Set oSheet = oSheets.ActiveSheet
        strActSheetName = oSheet.Name
        DelAllExceptNamedSheet strActSheetName, strSaveFolderPDF, strFileName
       
        Set oDrawingDoc = Nothing
        Set oDoc = Nothing
                       
    Else
       
        'The active document is not a drawing document
        MsgBox "Das aktive Dokument ist keine Zeichnung und kann nicht verarbeitet werden.", vbCritical
       
    End If

End Sub

Sub DelAllExceptNamedSheet(SheetName, Path, FileName)
       
    Set oDoc = CATIA.ActiveDocument
    Set oSheets = oDoc.Sheets
   
    For i = 1 To oSheets.Count
        Set oSheet = oSheets.Item(i)
        strSheetName = oSheet.Name
        If strSheetName <> SheetName Then
            strSheetName = Replace(strSheetName, ".", "_")
            strSheetName = Replace(strSheetName, "/", "_")
            strSheetName = Replace(strSheetName, "\", "_")
            strFileToDel = Path & FileName & "_" & strSheetName & ".pdf"
            If FileExists(strFileToDel) Then
                Kill strFileToDel
            End If
        End If
    Next
   
End Sub

Function FileExists(ByVal FileToTest)
  FileExists = (Dir(FileToTest) <> "")
End Function


------------------
MFG
Rick Schulz

Nettiquette (CAD.de)  -  Was ist die Systeminfo?  -  Wie man Fragen richtig stellt.  -  Unities

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

ThomasTeoma
Mitglied
Konstrukteur


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

Beiträge: 27
Registriert: 13.03.2015

Win7 Enterprise 64Bit
Intel Xeon CPU E5-1620 3,6GHz
32GB RAM

erstellt am: 17. Mrz. 2015 13: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

Gut, es läuft schon mal, leider speichert es Sheet2 auch =(
benennung wie folgt: V57351138-01_Sheet_1 / _Sheet_2

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

RSchulz
Moderator²
Head of CAD, Content & Collaboration / IT-Manager



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

Beiträge: 5541
Registriert: 12.04.2007

@Work
Lenovo P510
Xeon E5-1630v4
64GB DDR4
Quadro P2000
256GB PCIe SSD
512GB SSD
SmarTeam V5-6 R2016 Sp04
CATIA V5-6 R2016 Sp05
E3.Series V2019
Altium Designer/Concord 19
Win 10 Pro x64

erstellt am: 17. Mrz. 2015 14: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 Nur für ThomasTeoma 10 Unities + Antwort hilfreich

So jetzt aber... Habe keine Lust mehr   Wäre vor Ort sicher auch deutlich einfacher...
Code:
Sub CATMain()

    On Error Resume Next
   
    strSaveFolderPDF = "C:\Users\thstehr\Desktop\"
    'strSaveFolderPDF = "D:\"
   
    Set oDoc = CATIA.ActiveDocument
       
    'Check for drawing Document
    strActDocName = oDoc.FullName
    strDrwFileExt = ".CATDrawing"
    iFileExtLen = Len(strDrwFileExt)
    strActDocExt = Right(strActDocName, iFileExtLen)
   
    If InStr(strActDocExt, strDrwFileExt) = 1 Then
   
        Set oDrawingDoc = oDoc
        strFileName = Left(oDoc.Name, InStr(oDoc.Name, strDrwFileExt) - 1)
        oDrawingDoc.ExportData strSaveFolderPDF & strFileName, "pdf"
        DoEvents
       
        Set oSheets = oDoc.Sheets
        Set oSheet = oSheets.ActiveSheet
        strActSheetName = oSheet.Name
        DelAllExceptNamedSheet strActSheetName, strSaveFolderPDF, strFileName
       
        Set oDrawingDoc = Nothing
        Set oDoc = Nothing
                       
    Else
       
        'The active document is not a drawing document
        MsgBox "Das aktive Dokument ist keine Zeichnung und kann nicht verarbeitet werden.", vbCritical
       
    End If

End Sub

Sub DelAllExceptNamedSheet(SheetName, Path, FileName)
   
    On Error Resume Next

    Set oDoc = CATIA.ActiveDocument
    Set oSheets = oDoc.Sheets
    Set oFSO = CreateObject("Scripting.FileSystemObject")
   
    For i = 1 To oSheets.Count
        Set oSheet = oSheets.Item(i)
        strSheetName = oSheet.Name
        If strSheetName <> SheetName Then
            strSheetName = Replace(strSheetName, ".", "_")
            strSheetName = Replace(strSheetName, "/", "_")
            strSheetName = Replace(strSheetName, "\", "_")
            strFileToDel = Path & FileName & "_" & strSheetName & ".pdf"
            If oFSO.FileExists(strFileToDel) Then oFSO.DeleteFile(strFileToDel)
        End If
    Next
   
End Sub


Ergänzung: Sry Kill Befehl gibt es in VBScript auch nicht  ... Jetzt sollte es aber passen.

------------------
MFG
Rick Schulz

Nettiquette (CAD.de)  -  Was ist die Systeminfo?  -  Wie man Fragen richtig stellt.  -  Unities

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

ThomasTeoma
Mitglied
Konstrukteur


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

Beiträge: 27
Registriert: 13.03.2015

Win7 Enterprise 64Bit
Intel Xeon CPU E5-1620 3,6GHz
32GB RAM

erstellt am: 17. Mrz. 2015 14:09    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

Sheet 2 Wird immer noch erstellt =(
Wenn du nicht mehr willst, musst du nicht mehr =D
Das mit dem sheet 2 per hand löschen ist jetzt nicht soo extrem schlimm, wäre halt ein cooles Feature gewesen =D

Auf alle Fälle, Danke für deine mühe! =) 

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

RSchulz
Moderator²
Head of CAD, Content & Collaboration / IT-Manager



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

Beiträge: 5541
Registriert: 12.04.2007

@Work
Lenovo P510
Xeon E5-1630v4
64GB DDR4
Quadro P2000
256GB PCIe SSD
512GB SSD
SmarTeam V5-6 R2016 Sp04
CATIA V5-6 R2016 Sp05
E3.Series V2019
Altium Designer/Concord 19
Win 10 Pro x64

erstellt am: 17. Mrz. 2015 14:13    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 ThomasTeoma 10 Unities + Antwort hilfreich

Versuch es nochmal ich habe oben im Code nochmal nachträglich geändert.

------------------
MFG
Rick Schulz

Nettiquette (CAD.de)  -  Was ist die Systeminfo?  -  Wie man Fragen richtig stellt.  -  Unities

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

ThomasTeoma
Mitglied
Konstrukteur


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

Beiträge: 27
Registriert: 13.03.2015

Win7 Enterprise 64Bit
Intel Xeon CPU E5-1620 3,6GHz
32GB RAM

erstellt am: 17. Mrz. 2015 14:16    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

ERgebnis bleibt gleich    wie gesagt, du musst nicht mehr 

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

ThomasTeoma
Mitglied
Konstrukteur


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

Beiträge: 27
Registriert: 13.03.2015

Win7 Enterprise 64Bit
Intel Xeon CPU E5-1620 3,6GHz
32GB RAM

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

soo, mit dieser Batch datei ist das ganze jetzt schon beschleunigt... es sortiert mir einfach die anderen sheets in einen anderen Ordner...

falls das wer benötigt, einfach txt erstellen, code rein kopieren und .txt in .bat umbenennen..
vorausgesetzt ist Ordner "filesToKeep" und "filesToRemove" im selben Verzeichnis...

@echo off

set keep=filesToKeep
set remove=filesToRemove

if not exist %keep% mkdir %keep%
move *sheet_1.* %keep%

if not exist %remove% mkdir %remove%
move "*.pdf" %remove%

move %keep%\*.* .

set keep=
set remove=


Wäre es sehr schwer die Funktion zu integrieren das alle aktiven zeichnungen gerduckt werden, also eine schleife über das makro das jede zeichnung aufruft?

Lg
Thomas

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

ThomasTeoma
Mitglied
Konstrukteur


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

Beiträge: 27
Registriert: 13.03.2015

Win7 Enterprise 64Bit
Intel Xeon CPU E5-1620 3,6GHz
32GB RAM

erstellt am: 19. Mrz. 2015 13:26    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

Habs jetzt selber probiert mit meinem "einfachen urpsrüngliceh makro"

haut leider nicht ganz hin =( wenn ich das Makro ausführe, kommt keine Fehlermeldung, pdsf werden aber auch nicht gespeichert   

Hier der Code

Sub CATMain()

For I = 1 To CATIA.Windows.Count

Set iDoc = CATIA.ActiveDocument

If (Right(iDoc.Name, 7) = "CATDrawing") Then

Set oWindow = CATIA.Windows.Item(I)
Set oDoc = oWindow.Parent
     
Set oDoc = CATIA.ActiveDocument
 
DocName = left(oDoc.Name,len(oDoc.Name)-11)

DocPath = oDoc.Path
PDFPath = "C:\Users\thstehr\Desktop\CATIA_PDF\"
 
'Debug.Print "PDF Path: " & PDFPath
   
oDoc.ExportData PDFPath&DocName, "pdf"

End If

Next


End Sub

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

ThomasTeoma
Mitglied
Konstrukteur


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

Beiträge: 27
Registriert: 13.03.2015

Win7 Enterprise 64Bit
Intel Xeon CPU E5-1620 3,6GHz
32GB RAM

erstellt am: 19. Mrz. 2015 15: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

Scheinbar führe ich eh selbstgespräche 

Naja, hab es jetzt geschafft 
Falls jemand es mal braucht ; )
Makro anbei speichert alle aktiven Zeichnungen als PDF in Zielordner, welcher natürlich im makro geändert gehört.

Sub CATMain()

N = CATIA.Windows.Count

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

Set AllWindows = CATIA.Windows

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

If (Right(WindowDocument.Name, 10) = "CATDrawing") Then

Set oWindow = CATIA.Windows.Item(I)
Set oDoc = oWindow.Parent     
Set oDoc = CATIA.ActiveDocument
 
DocName = left(oDoc.Name,len(oDoc.Name)-11)

DocPath = oDoc.Path
PDFPath = "C:\Users\thstehr\Desktop\CATIA_PDF\"
 
'Debug.Print "PDF Path: " & PDFPath
   
oDoc.ExportData PDFPath&DocName, "pdf"

End If

Next

End Sub

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