myGully.com

myGully.com (https://mygully.com/index.php)
-   Programmierung (https://mygully.com/forumdisplay.php?f=67)
-   -   Coreldraw und VBA (https://mygully.com/showthread.php?t=3805657)

mbmb 06.05.15 00:09

Coreldraw und VBA
 
Hallo.

Ich erbitte Hilfe zu folgendem Code-Snipplet, das ich unter Photopaint als Macro laufen lassen möchte. (man verzeihe mir die rudimentäre Form, aber ich will nur was ausprobieren!)

Es werden die vorhandenen Bilddateien in SW umgewandelt und anschließend möchte ich sie als GIF-Datei abspeichern. Aber das Abspeichern klappt nicht...

Code:

Option Explicit

Sub test()
Dim doc As Document
Dim c, i As Integer
Dim filename As String
filename = "Dummy"

c = Documents.Count

For i = 1 To c

Documents(i).Activate

Set doc = Documents(i)

'doc.mode: 0 = BW, 2 = Gray, 4 = 24bit

If doc.Mode <> 0 Then doc.ConvertToBW cdrRenderLineArt, , 144 'Schwellenwert bei 144

filename = InputBox(doc.filename, "Dateiname" & i, filename & i)

doc.Export "C:\Users\xxxx\Desktop\jpg-Arbeitsspeicher\" & filename & ".gif", cdrGIF


Next

End Sub

Im Debug-Modus wird der Datei-Name korrekt angezeigt, aber es wird keine Datei abgespeichert :-(

Ich habe keine Ahnung, wieso das speichern nicht klappt. Hat von euch bitte jemand einen Tipp für mich?

eitch100 06.05.15 10:25

Ist das da nicht irgendetwas mit SaveAs und Finish?

Also anstatt:
doc.Export "C:\Users\xxxx\Desktop\jpg-Arbeitsspeicher\" & filename & ".gif", cdrGIF

dieses:
doc.SaveAs(FileName:="C:\Users\xxxx\Desktop\jpg-Arbeitsspeicher\" & filename & ".gif", Filter:=cdrGIF).finish

Alles ohne Gewähr... kenne mich da nicht wirklich aus...

Edit: Lies mal hier (insbesondere ab "Automatic Cropping"). Da öffnet er eine Reihe von Bildern, bearbeitet sie, speichert sie ab und schließt sie wieder...
[Link nur für registrierte und freigeschaltete Mitglieder sichtbar. Jetzt registrieren...]

mbmb 06.05.15 19:47

Vielen Dank.

Damit wird auf jeden Fall mal gespeichert. Wobei ich nicht ganz verstehe, wieso in einer VB-Anleitung das mit dem Export-Befehl (ausführlich) erklärt wird wenn das dann eh nicht funktioniert.

mbmb 06.05.15 20:46

Warum man NIRGENDWO in den Tutorials finden kann, dass "finish" erforderlich ist, bleibt mir ohnehin ein Rätsel.

Korrekt muss es also lauten:

doc.Export("C:\Users\xxxx\Desktop\jpg-Arbeitsspeicher\" & filename & ".gif", cdrGIF).Finish

eitch100 07.05.15 10:31

Versuch mal diesen Befehl, ob es dann ohne "Finish" geht:

ActiveDocument.Export "C:\Users\xxxx\Desktop\jpg-Arbeitsspeicher\" & filename & ".gif", cdrGIF

oder anstatt set doc = Document(i):

set doc = ActiveDocument
...
doc.Export "C:\Users\xxxx\Desktop\jpg-Arbeitsspeicher\" & filename & ".gif", cdrGIF


Alle Zeitangaben in WEZ +1. Es ist jetzt 21:06 Uhr.

Powered by vBulletin® (Deutsch)
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.