26.10.2020, 22:04
Hallo Olaf,
da hast Du Dir aber große Mühe mit der Code-Formatierung im Beitrag gegeben!
Nein, Du kannst nur das Dokument-Objekt verwenden, andere Objekte stellen keine Methoden zum Speichern oder Exportieren zur Verfügung.
Bei den SaveOptions hast Du aber Einstellungen für CDR-Dateien gewählt. Weil als DXF gespeichert wird, ignoriert Corel diese. Als Range hast Du cdrAllPages gewählt, deshalb wird das gesamte Dokument exportiert.
Falls die Variablen „Dateiname“ und „Anzahl“ nicht global sind und von einer anderen Prozedur initialisiert wurden, müsstest Du das in dieser Prozedur noch nachholen.
Ich würde aber nicht speichern sondern exportieren und die Einstellungen für die DXF-Datei im Filter vornehmen:
Die Prozedur schaltet (die Export-Ebene ausgenommen) alle Ebenen auf nicht druckbar, damit sie nicht exportiert werden.
Du könntest aber auch eine Auswahl erzeugen und nur diese exportieren.
Ich benutze weiterhin das Code-Element der Forums-Software. Ich bin einfach zu faul um alles so schön zu formatieren wie Du.
Gruß
Koter
da hast Du Dir aber große Mühe mit der Code-Formatierung im Beitrag gegeben!
(26.10.2020, 12:51)Olaf schrieb: ...Ich bin mir relativ sicher das ich an der rot markierten Stelle die Ebene bestimmen mus...
Nein, Du kannst nur das Dokument-Objekt verwenden, andere Objekte stellen keine Methoden zum Speichern oder Exportieren zur Verfügung.
Bei den SaveOptions hast Du aber Einstellungen für CDR-Dateien gewählt. Weil als DXF gespeichert wird, ignoriert Corel diese. Als Range hast Du cdrAllPages gewählt, deshalb wird das gesamte Dokument exportiert.
Falls die Variablen „Dateiname“ und „Anzahl“ nicht global sind und von einer anderen Prozedur initialisiert wurden, müsstest Du das in dieser Prozedur noch nachholen.
Ich würde aber nicht speichern sondern exportieren und die Einstellungen für die DXF-Datei im Filter vornehmen:
Code:
Sub ExportDXF()
Dim expflt As ExportFilter
Dim l As Layer
Dim Pfad As String, Dateiname As String
Dim Anzahl As Integer
For Each l In ActivePage.Layers: l.Printable = False: Next 'Alle Ebenen nicht druckbar schalten
ActivePage.Layers("Export").Printable = True 'Exportebene druckbar schalten
Pfad = "\\hb-dc01\work\Hauptordner_FERTIGUNG\_3_LASER\Sonderanfertigung\"
Anzahl = 2 'Anzahl festlegen
Dateiname = "Test" 'Dateiname festlegen
Dateiname = Pfad & Dateiname & Replace("AF_Stck_X.dxf", "X", Anzahl) 'Dateiname vervollständigen und Anzahl einfügen
Set expflt = ActiveDocument.ExportEx(Dateiname, cdrDXF) 'Exportfilter setzen
With expflt
.Version = 4 'DXF Version festlegen
.Units = cdrMillimeter ' Maßeinheit festlegen
.Finish ' Filter ausführen
End With
End Sub
Die Prozedur schaltet (die Export-Ebene ausgenommen) alle Ebenen auf nicht druckbar, damit sie nicht exportiert werden.
Du könntest aber auch eine Auswahl erzeugen und nur diese exportieren.
Ich benutze weiterhin das Code-Element der Forums-Software. Ich bin einfach zu faul um alles so schön zu formatieren wie Du.
Gruß
Koter