Herbers Excel-Forum - das Archiv

Datei.bat in Excelmakro integrieren

Bild

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
Bild

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
Bild

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
Bild

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
Bild

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
Bild

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
Bild

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
Bild

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
Bild

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
 Bild
Excel-Beispiele zum Thema "Datei.bat in Excelmakro integrieren"
Variablen auf mehrere Arten in Funktionen integrieren