Hallo VBA-Tüftler,
ich habe da ein kleines nettes VBA-Programm im Netz gefunden. Es soll folgendes machen:
Es soll eine Corel Draw 12 Datei (vektorbasiertes Zeichen-Programm, Dateisuffix: cdr)als EPS - Datei exportieren (EPS - ein vektorbasiertes Dateiformat)
Nun gibt es mehrere Seiten in dieser Corel Draw Datei (analog zu den Mappen in einer Excel-Datei). Beim Export dieser Datei sollen alle Seiten als einzelne EPS-Datei in einen angegeben Pfad exportiert werden. Das funktioniert auch!
Jetzt sollen die einzelnen EPS-Dateien aber die Namen der Seiten, die in der Corel Draw-Datei angelegt wurden, übernehmen. Stattdessen wird der Dateiname der Corel Draw Datei beim EPS-Export übernommen.
Bsp.:
Corel Draw Dateiname = cdr-name
Seitennamen: = s1, s2, s3,..., sn
exportierter EPS-Dateiname = cdr-name-1, cdr-name-2,...cdr-name-n (ist Zustand!)
Soll-Zustand!
exportierter EPS-Dateiname = s1, s2,..., sn
Hier mal der Code, damit ihr mal rüberschauen könnt. Vielleicht habt ihr ja spontan eine Idee
Vielen Dank schon mal...
Gruß aus Kassel
Marco
Edit by Agent: VB-Tag eingefügt
ich habe da ein kleines nettes VBA-Programm im Netz gefunden. Es soll folgendes machen:
Es soll eine Corel Draw 12 Datei (vektorbasiertes Zeichen-Programm, Dateisuffix: cdr)als EPS - Datei exportieren (EPS - ein vektorbasiertes Dateiformat)
Nun gibt es mehrere Seiten in dieser Corel Draw Datei (analog zu den Mappen in einer Excel-Datei). Beim Export dieser Datei sollen alle Seiten als einzelne EPS-Datei in einen angegeben Pfad exportiert werden. Das funktioniert auch!
Jetzt sollen die einzelnen EPS-Dateien aber die Namen der Seiten, die in der Corel Draw-Datei angelegt wurden, übernehmen. Stattdessen wird der Dateiname der Corel Draw Datei beim EPS-Export übernommen.
Bsp.:
Corel Draw Dateiname = cdr-name
Seitennamen: = s1, s2, s3,..., sn
exportierter EPS-Dateiname = cdr-name-1, cdr-name-2,...cdr-name-n (ist Zustand!)
Soll-Zustand!
exportierter EPS-Dateiname = s1, s2,..., sn
Hier mal der Code, damit ihr mal rüberschauen könnt. Vielleicht habt ihr ja spontan eine Idee

Visual Basic-Quellcode
- Public Sub SeitenSpeichern_EPS()
- Dim SeiteNr As Integer, Seite As Page
- Dim Pfad As String, FormatStr As String, DateiName As String
- Dim opt As New StructExportOptions
- On Error GoTo AbbruchBeiFehler
- CorelScript.SuppressPainting
- '*** Ausgabepfad erstellen
- Pfad = "C:\Temp\Corel\"
- Do
- Pfad = InputBox("Ausgabepfad für die Bilder", "Export nach EPS", Pfad)
- If Pfad = "" Then Exit Sub
- If Right(Pfad, 1) <> "\" Then Pfad = Pfad & "\"
- Loop Until Dir$(Pfad, vbDirectory) <> ""
- Pfad = Pfad & Left(ActiveDocument.FileName, InStrRev(ActiveDocument.FileName, ".") - 1)
- SeiteNr = ActiveDocument.Pages.Count
- While SeiteNr > 1
- FormatStr = FormatStr & "0"
- SeiteNr = SeiteNr / 10
- Wend
- With opt
- .AntiAliasingType = cdrSupersampling
- .ImageType = cdrRGBColorImage
- .Dithered = False
- .Overwrite = True
- '.Transparent = True
- .ResolutionX = 96
- .ResolutionY = 96
- '.SizeX = opt.ResolutionX * s.SizeWidth
- ' opt.SizeY = opt.ResolutionY * s.SizeHeight
- End With
- Set Seite = ActivePage
- For SeiteNr = 1 To ActiveDocument.Pages.Count
- ActiveDocument.Pages(SeiteNr).Activate
- DateiName = Pfad & Format(SeiteNr, FormatStr) & ".eps"
- If Dir$(DateiName) <> "" Then Kill DateiName
- ActiveDocument.Export DateiName, cdrEPS, cdrCurrentPage, opt
- Next SeiteNr
- Seite.Activate
- AbbruchBeiFehler:
- CorelScript.ResumePainting
- End Sub

Vielen Dank schon mal...
Gruß aus Kassel
Marco
Edit by Agent: VB-Tag eingefügt
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Agent“ ()