Set cp = CreateObject("CorelPhotoPaint.Automation.9") Set fs = CreateObject("Scripting.FileSystemObject") Set wshshell = CreateObject("WScript.Shell") Set args = WScript.Arguments If args.Count = 0 Then ordnername = InputBox("Bitte geben Sie den Namen eines Ordners an!") Else ordnername = args(0) End If protokoll = ConvertAllBMPinFolder(ordnername, "C:\Neue JPG Bilder") If Not KillPhotopaint Then cp.SetVisible True End If Function KillPhotopaint wql = "select * from win32_process where name='photopnt.exe'" On Error Resume Next Set wmi = GetObject("winmgmts:") Set allprocesses = wmi.ExecQuery(wql) For each process in allprocesses process.Terminate 0 Next KillPhotoPaint = (Err.number = 0) End Function Function ConvertAllBMPinFolder(path, newfolder) Path = ordnername newfolder = wshshell.ExpandEnvironmentStrings(newfolder) ' wenn Quellordner nicht existiert, Fehler auslösen: If Not fs.FolderExists(Path) Then Err.Raise 10000, "Ordner existiert nicht", Path & " nicht gefunden!" End If ' wenn Zielordner nicht existiert, anlegen: If Not fs.FolderExists(newfolder) Then fs.CreateFolder newfolder ' Protokolldatei anlegen protokoll = newfolder & "\protokoll.txt" Set logbuch = fs.CreateTextFile(protokoll, True) ' Zugriff auf Quellordner: Set folder = fs.GetFolder(Path) ' alle Dateien im Ordner auflisten: For each file in folder.Files ' Dateiextension in Kleinbuchstaben: ext = LCase(fs.GetExtensionName(file.Name)) ' ist die Datei ein BMP-Bild? If ext = "bmp" Then zielname = newfolder & "\" & fs.GetBaseName(file.Name) logbuch.WriteLine ConvertToJPG(file.Path, zielname & ".jpg") End If Next ' Logbuch-Datei schließen und Name der Datei ' zurückgeben: logbuch.Close ConvertAllBMPinFolder = protokoll End Function Function ConvertToJPG(path, newpath) with cp .FileOpen Path, 0, 0, 0, 0, 0, 1, 1 .ImageConvert 1, 1, 0, 0, 0, 0, 0, 0 .FileSave newpath, 774, 0 ConvertToJPG = Path & " wurde nach " & newpath & " konvertiert." ' Grafikdatei schließen .FileClose End with End Function