Herbers Excel-Forum - das Archiv
Datei.bat in Excelmakro integrieren
Betrifft: Datei.bat in Excelmakro integrieren
von: Sepp
Geschrieben am: 31.12.2006 14:27:56
Hallo
hab folgendes Problem, möchte folgende Befehle einer .bat Datei in
ein Excelmakro einfügen.
move /y Y:\Info\Dienstplanung\kommende\kommendeAI.pdf Y:\Info\Dienstplanung\laufende\laufendeAI.pdf
move /y Y:\Info\Dienstplanung\kommende\kommendeAII.pdf Y:\Info\Dienstplanung\laufende\laufendeAII.pdf
ist dies überhaupt möglich???
Bestehendes Makro vom Recoder aufgezeichnet:
Sub als_pdf_speichern()
Application.ActivePrinter = "Adobe PDF auf Ne03:"
ActiveWindow.SelectedSheets.PrintOut Copies:=1, ActivePrinter:= _
"Adobe PDF auf Ne03:", Collate:=True
End Sub
Danke für Eure Hilfe
Gruß Sepp
Betrifft: AW: Datei.bat in Excelmakro integrieren
von: Matthias G
Geschrieben am: 31.12.2006 15:49:37
Hallo Sepp,
in VBA gibt es den Name-Befehl:
Name "Y:\Info\Dienstplanung\kommende\kommendeAI.pdf" As "Y:\Info\Dienstplanung\laufende\laufendeAI.pdf"
Gruß Matthias
Betrifft: AW: Datei.bat in Excelmakro integrieren
von: Sepp
Geschrieben am: 31.12.2006 17:35:06
Hallo Matthias
hab die Zeile eingefügt, es funktioniert auch, aber nur wenn der Ordner leer ist.
ich möchte aber die bestehenden Dateien überschreiben !!!
Das Makro schaut jetzt so aus:
Sub speichern_PDF()
Name "Y:\Info\Dienstplanung\uebernaechste\uebernaechsteAI.pdf" As "Y:\Info\Dienstplanung\kommende\kommendeAI.pdf"
Name "Y:\Info\Dienstplanung\uebernaechste\uebernaechsteAII.pdf" As "Y:\Info\Dienstplanung\kommende\kommendeAII.pdf"
Name "Y:\Info\Dienstplanung\kommende\kommendeAI.pdf" As "Y:\Info\Dienstplanung\laufende\laufendeAI.pdf"
Name "Y:\Info\Dienstplanung\kommende\kommendeAII.pdf" As "Y:\Info\Dienstplanung\laufende\laufendeAII.pdf"
Application.ActivePrinter = "Adobe PDF auf Ne03:"
ActiveWindow.SelectedSheets.PrintOut Copies:=1, ActivePrinter:= _
"Adobe PDF auf Ne03:", Collate:=True
End Sub
was muß ich da noch ändern damit die Datei uebernaechsteAI die bestehende kommendeAI usw. überschreibt ????
Danke und Gruß
Sepp
Betrifft: AW: Datei.bat in Excelmakro integrieren
von: Matthias G
Geschrieben am: 31.12.2006 17:41:48
Hallo Sepp,
geht es gar nicht oder kommt eine Nachfrage (überschreiben ja/nein)? Dann könntest du diese mit
Application.DisplayAlerts = False abschalten (nachher wieder auf True setzen).
Ansonsten lösche die alte Datei mit Kill:
Kill "Y:\Info\Dienstplanung\kommende\kommendeAI.pdf"
Name "Y:\Info\Dienstplanung\uebernaechste\uebernaechsteAI.pdf" As "Y:\Info\Dienstplanung\kommende\kommendeAI.pdf"
Gruß Matthias
Betrifft: AW: Datei.bat in Excelmakro integrieren
von: Sepp
Geschrieben am: 31.12.2006 18:11:28
Hallo Matthias
Danke für die schnelle Antwort.
der erste kill befehl Funktioniert, aber der Zweite funktioniert nicht, da die Datei ja verschoben wurde.
Jetzt kommt Laufzeitfehler 53, Datei nicht gefunden.
Makro sieht so aus:
Sub speichern_PDF()
Kill "Y:\Info\Dienstplanung\laufende\laufendeAI.pdf"
Kill "Y:\Info\Dienstplanung\laufende\laufendeAII.pdf"
Name "Y:\Info\Dienstplanung\kommende\kommendeAI.pdf" As "Y:\Info\Dienstplanung\laufende\laufendeAI.pdf"
Name "Y:\Info\Dienstplanung\kommende\kommendeAII.pdf" As "Y:\Info\Dienstplanung\laufende\laufendeAII.pdf"
Kill "Y:\Info\Dienstplanung\kommende\kommendeAI.pdf"
Kill "Y:\Info\Dienstplanung\kommende\kommendeAII.pdf"
Name "Y:\Info\Dienstplanung\uebernaechste\uebernaechsteAI.pdf" As "Y:\Info\Dienstplanung\kommende\kommendeAI.pdf"
Name "Y:\Info\Dienstplanung\uebernaechste\uebernaechsteAII.pdf" As "Y:\Info\Dienstplanung\kommende\kommendeAII.pdf"
Application.ActivePrinter = "Adobe PDF auf Ne03:"
ActiveWindow.SelectedSheets.PrintOut Copies:=1, ActivePrinter:= _
"Adobe PDF auf Ne03:", Collate:=True
End Sub
Hast Du noch einen Tip für mich ???
Gruß Sepp
Betrifft: AW: Datei.bat in Excelmakro integrieren
von: Matthias G
Geschrieben am: 31.12.2006 18:27:40
Hallo Sepp,
schau mal hier:
http://www.quaschtel.de/wsh/filesystemobject.htm
da findest du Code, um Dateien per WSH umzubenennen.
Gruß Matthias
Betrifft: AW: Datei.bat in Excelmakro integrieren
von: Sepp
Geschrieben am: 31.12.2006 18:39:08
Hallo Matthias
Sorry, die Frage, kann ich die WSH Codes in ein Excelmakro einfügen??
Ich möchte die Lösung mit einem Excelmakro lösen. Geht das nicht ???
Gruß Sepp
Betrifft: AW: Datei.bat in Excelmakro integrieren
von: Matthias G
Geschrieben am: 31.12.2006 18:50:28
Hallo Sepp,
doch, der Syntax ist fast identisch:
Sub test()
Dim fso As Object
Dim f1 As Object
Dim Quelle$, Ziel$
Const Basis = "E:\Info\Dienstplanung\"
'Quelle und Ziel definieren:
Quelle = Basis & "kommende\kommendeAI.pdf"
Ziel = Basis & "laufende\laufendeAI.pdf"
Set fso = CreateObject("Scripting.FileSystemObject")
Set f1 = fso.GetFile(Quelle)
'löschen, wenn vorhanden:
If Dir(Ziel) <> "" Then Kill Ziel
'Datei verschieben:
f1.Move (Ziel)
'Objektvariable löschen:
Set fso = Nothing
End Sub
Gruß Matthias
Betrifft: Problem Gelöst es funzt
von: Sepp
Geschrieben am: 31.12.2006 18:58:40
Danke Matthias
Habs hin bekommen.
Wünsche noch einen guten Rutsch ins neue Jahr
Gruß Sepp