Autor
|
Thema: PDF in Zielordner speichern (2113 mal gelesen)
|
ThomasTeoma Mitglied Konstrukteur
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 / zitieren --> Unities abgeben:
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
Beiträge: 11780 Registriert: 30.11.2006 CATIA V5R19
|
erstellt am: 16. Mrz. 2015 11:02 <-- editieren / zitieren --> Unities abgeben: Nur für ThomasTeoma
|
ThomasTeoma Mitglied Konstrukteur
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 / zitieren --> Unities abgeben:
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
Beiträge: 11780 Registriert: 30.11.2006 CATIA V5R19
|
erstellt am: 16. Mrz. 2015 11:57 <-- editieren / zitieren --> Unities abgeben: Nur für ThomasTeoma
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
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 / zitieren --> Unities abgeben: Nur für ThomasTeoma
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
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 / zitieren --> Unities abgeben:
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
Beiträge: 11780 Registriert: 30.11.2006 CATIA V5R19
|
erstellt am: 17. Mrz. 2015 08:18 <-- editieren / zitieren --> Unities abgeben: Nur für ThomasTeoma
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
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 / zitieren --> Unities abgeben: Nur für ThomasTeoma
|
ThomasTeoma Mitglied Konstrukteur
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 / zitieren --> Unities abgeben:
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
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 / zitieren --> Unities abgeben: Nur für ThomasTeoma
|
ThomasTeoma Mitglied Konstrukteur
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 / zitieren --> Unities abgeben:
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
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 / zitieren --> Unities abgeben: Nur für ThomasTeoma
|
ThomasTeoma Mitglied Konstrukteur
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 / zitieren --> Unities abgeben:
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
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 / zitieren --> Unities abgeben: Nur für ThomasTeoma
|
ThomasTeoma Mitglied Konstrukteur
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 / zitieren --> Unities abgeben:
|
RSchulz Moderator² Head of CAD, Content & Collaboration / IT-Manager
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 / zitieren --> Unities abgeben: Nur für ThomasTeoma
|
ThomasTeoma Mitglied Konstrukteur
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 / zitieren --> Unities abgeben:
|
ThomasTeoma Mitglied Konstrukteur
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 / zitieren --> Unities abgeben:
|
ThomasTeoma Mitglied Konstrukteur
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 / zitieren --> Unities abgeben:
|
RSchulz Moderator² Head of CAD, Content & Collaboration / IT-Manager
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 / zitieren --> Unities abgeben: Nur für ThomasTeoma
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
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 / zitieren --> Unities abgeben:
|
RSchulz Moderator² Head of CAD, Content & Collaboration / IT-Manager
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 / zitieren --> Unities abgeben: Nur für ThomasTeoma
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
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 / zitieren --> Unities abgeben:
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
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 / zitieren --> Unities abgeben: Nur für ThomasTeoma
|
ThomasTeoma Mitglied Konstrukteur
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 / zitieren --> Unities abgeben:
|
ThomasTeoma Mitglied Konstrukteur
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 / zitieren --> Unities abgeben:
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
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 / zitieren --> Unities abgeben:
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
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 / zitieren --> Unities abgeben:
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 |