Excel-File mit command-Konsole öffnen
Ich würde gerne mit der DOS-Konsole (run cmd) ein Excel File öffnen. Üblicherweise kann man den Ort des Programms in PATH ablegen und einfach den Befehl
c:\mydir\files\excel.exe myexcel.xlsx
ausführen. Bei mir hat es nicht geklappt. Bin für jeden Hinweis (ohne VBA) dankbar. giordano
3 Antworten
Du hast einen Dreher. excel.exe wird nicht in deinem files-Ordner liegen, vermute ich stark.
Du meinst wahrscheinlich
excel.exe "c:\mydir\files\myexcel.xlsx"
und den Pfad zu Excel soll er wissen.
Die Path-Variable kann man mit dem Befehl SET
einsehen. mit SET PATH=%PATH%;c:\mydir\files
fügst du einen hinzu. Alternativ: [Windowstaste] + Pause ➽ Erweiterte Systemeinstellungen ➽ Umgebungsvariablen...
Meines Wissens kann Excel jederzeit über "start excel" gestartet werden, egal, in welchem Verzeichnis man arbeitet.
Ermöglicht wird das durch den Schlüssel
"HKLM\Software\Microsoft\Windows\CurrentVersion\App Paths"
in dem der Unterschlüssel "excel.exe" vorhanden ist mit dem Pfad als Standard-Wert.
Dann versuch doch mal, einfach eine neue Systemvariable zu definieren (auch in den erweiterten Systemeinstellungen). Zum Beispiel nennst du sie Excelpfad. Dann lautet dein Kommandozeilenbefehl:
%Excelpfad% "myexcel.xlsx"
Desweiteren hast du schobn Ortonogonns Tipp versucht, zum Beispiel eine Batchdatei namens RunProgramm.bat oder ähnlich zu erstellen, die als Parameter zum Beispiel EXCEL und "C:\mydir\files\myexcel.xlsx" übergeben bekommt? Die Datei könntest du in ein Systemverzeichnis legen. Innerhalb der Datei kannst du den ersten Parameter auswerten und anhand dessen entscheiden, welches Programm unter welchem Pfad gestartet werden soll.
Besten Dank für den Hinweis. Der Punkt von Ortogonn finde ich gut, da Path schon übervoll ist. Nun habe ich keine Erfahrung mit Batch-Dateien. Es ist nicht so, dass ich nur in diesem Verzeichnis (\Mydir\files) ein Excel öffnen will, sondern in einem beliebigen st das auch möglich mit einer Batch-Datei? Es ist wirklich seltsam, dass excel.exe nicht funktioniert, wenn es im Path angegeben wird. Ich habe dort Perl und Python abgelegt und das funktioniert gut.
Du hast darauf geachtet, dass im Pfad zu Excel keine Leerzeichen sind? Wenn welche vorhanden sind, umschließe den Pfad besser mit "". Der Batchdatei könntest du den Pfad zur Exceldatei mitgeben.
An irgendeiner Stelle musst du definieren, wo das Excelfile liegt. Du kannst auch eine Liste möglicher Verzeichnisse anlegen und diese im Batch-File abklappern.
Sorry für die Umstände. Ich habe es nochmals mit dem Pfadsetzen (Path) versucht und diesmal ging es. Ich musste einfach die dos-console neu starten. Nun kann ich in irgend ein Directory gehen mit excel.exe ein Excel-File öffnen. Besten Dank für die Hinweise. Die kann ich auf jedenfall gerauchen.
PS: Bei mir liegt Excel unter C:\Program Files\Microsoft Office\Office14\EXCEL.EXE
. Diesen Pfad müsstest du noch zu dem Systempfad hinzufügen.
alternativ (um sich die Variable ggf nicht "zuzumüllen") eine Batch schreiben, wo Excel inkl Pfad drinsteht und die an diese Batch übergebenen Parameter (%1, %2, %...) aufgerufen werden.
Kleine Frage am Rande.
Warum nicht
Run -> CMD ->
START c:\mydir\files\myexel.xlsx
?
Der Befehl START sollte die mit der Dateiendung verknüpfte Anwendung aufrufen und die Datei damit öffnen.
Nur wenn du nicht jedesmal den Pfad zur datei eingeben willst, müssen die Pfade entweder in der PATH-Variable abgelegt sein oder du nutzt eine Batchdatei mit hinterlegten Pfaden.
Die Pfade kann man ja mit einer
FOR %%G in ("c:\mydir\files1\" "c:\mydir\files2\" "c:\mydir\files3\") do (
...
)
Schleife durchlaufen.
Danke Ortogonn. Ich mache es nun mit Pfasetzen. Ich musste nur die dos-Konsole neu starten, dann funktioniert es. Danke für Deine Batch-Tipps.
Type?
Also Type Pfad oder?
Weiß net was du meinst.
Ich habe den Ort von excel.exe bereits in der Umgebungsvariable definiert. Ich wollte im Verzechnis, wo das Excel-File liegt (mydir/files/), den Befehl excel.exe ausführen, aber das klappt nicht. Die Meldung lautet: 'excel.exe is not recognized as internal or external command, operable program or batchfile.'