Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  CATIA V5 Programmierung
  Makro zum erstellen von PDF/DWG

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 zum erstellen von PDF/DWG (504 / mal gelesen)
Leibert85
Mitglied


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

Beiträge: 9
Registriert: 01.10.2020

erstellt am: 17. Feb. 2021 12: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

Hallo,
ich habe hier ein Marko welches ich benutze um PDF und DWG Dateien zu erstellen.
hier habe ich das Problem das ich den Ordner in den die Daten gespeichert werden sollen voher erstellen muss.
Ist es möglich des Ordner in den die Daten gespeichert werden sollen mit dem Makro zu erstellen?

Hier das Makro welches ich verwende.

Sub CATMain()

'Fehlerbehandlung / Abfrage des aktiven Dokuments
If CATIA.Windows.Count = 0 Then
Box = MsgBox("Es wurde kein aktives Dokument identifiziert!!!"  & CHR(10) & _
"---------------------------------------------------------"  & CHR(10) & _
"Bitte öffnen Sie zuerst ein Dokument und starten Sie"  & CHR(10) & _
"dann SAVER_pdf_&_dwg erneut.", 16, "Kein ActiveDocument!!!")
    Exit Sub
End If

Set oDoc = CATIA.ActiveDocument

If TypeName(oDoc) <> "DrawingDocument" Then
Box = MsgBox("Es wurde keine aktive Drawing identifiziert!!!" & vbLF & _
"---------------------------------------------------------" & CHR(10) & _
"SAVER_pdf_&_dwg wurde abgebrochen.", 16, "Keine Drawing!!!")
Exit Sub
End If
'----------------------------------------

'----------------------------------------
DocName = oDoc.Name
Set oSheets = oDoc.Sheets
Set current_sheet = oSheets.ActiveSheet

'Verzeichnisabfrage
DocPath = Inputbox("Bitte hier das gewünschte Verzeichnis eintragen!","Speicherpfad","")
If DocPath = "" Then
MsgBox "Kein Verzeichnis gewählt"
Exit Sub
End If
If DocPath <> "" Then

'Pfaderstellung der Sheets
DWGPath = DocPath & "\" & Left(DocName, Len(DocName) - 11) & ".dwg"
PDFPath = DocPath & "\" & Left(DocName, Len(DocName) - 11) & ".pdf"

'Abspeichern der Sheets
oDoc.ExportData DWGPath, "dwg"
oDoc.ExportData PDFPath, "pdf"

End If
'----------------------------------------
For Each oSheet In oSheets
If oSheet.IsDetail Then

CATIA.FileSystem.DeleteFile(DocPath & "\" &  Left(DocName, Len(DocName) - 11) & "_" & oSheet.Name & ".dwg")
CATIA.FileSystem.DeleteFile(DocPath & "\" &  Left(DocName, Len(DocName) - 11) & "_" & oSheet.Name & ".pdf")

Else
End If
Next

current_sheet.Activate
End Sub

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. Feb. 2021 18: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 Leibert85 10 Unities + Antwort hilfreich

Servus

Dazu gibt es bei FileSystem-Objekt (von Catia) die Methoden: FolderExists, GetFolder und CreateFolder.
Beispiel (ungetestet):

Code:
strFolder = "D:\Test"
Dim oFileSys As FileSystem
Set oFileSys = CATIA.FileSystem

if oFileSys = oFileSys.FileExists(strFolder) then
   Set oFolder = oFileSys.GetFolder(strFolder)
else
   Set oFolder = oFileSys.CreateFolder(strFolder)
end if


Gruß
Bernd

PS: Statt den Pfad eingeben zu lassen könntest du diesen auch vom User auswählen lassen (und dabei ggf neu anlegen): mit BrowseForFolder (siehe Suche)

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

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