odessit69
Goto Top

Batch-Datei Excel

Hallo zusammen,

Ich habe da jetzt ein Problem. In einem Verzeichnis sind mehrere Excel-Dateien. Ich muss eine Batch-Datei erstellen, die in das Verzeichnis reingeht, die letzte Version auswählt (Geändert am ...) und öffnet.

Habt ihr irgendwelche Ideen?

Danke!

Content-Key: 33678

Url: https://administrator.de/contentid/33678

Printed on: April 23, 2024 at 00:04 o'clock

Member: Tundra
Tundra Jun 06, 2006 at 11:33:54 (UTC)
Goto Top
Welches Namensnomenklatur wird bei den Dateien verwendet?
Wie werden die verschiedenen Versionen gekennzeichnet?

Grüße
Guido
Member: odessit69
odessit69 Jun 06, 2006 at 11:53:53 (UTC)
Goto Top
Es sieht so aus:

Name Grösse Typ Geändert am

20060228_Dateiname 29KB Microsoft Excel Worksheet 28.02.2006
20060329_Dateiname 29KB Microsoft Excel Worksheet 29.03.2006

usw.


Gruß Pavlo
Member: Tundra
Tundra Jun 06, 2006 at 12:32:58 (UTC)
Goto Top
Hallo Pavlo,

Du musst die Variable C_Quelle noch anpassen.

'Öffne letzte Datei im Verzeichnis'  
'07.06.06/ge'  

Option Explicit

Const C_Quelle = "c:\temp"  

DIM O_FSO
DIM O_Shell

Set O_FSO = CreateObject("Scripting.FileSystemObject")  
Set O_Shell = CreateObject("Wscript.Shell")  

call S_Dir

'################'  
'Lese Verzeichnis aus'  
sub S_Dir
    DIM O_Datei
    DIM O_Dir
    DIM L_Datei
    Set O_Dir = O_FSO.GetFolder(C_Quelle)
    for each O_Datei in O_Dir.files
        L_Datei = O_Datei.Path
    next
    call S_Run(L_Datei)
end sub

'Rufe Anwendung auf'  
sub S_Run(P_Datei)
    O_Shell.run "excel " & P_Datei  
end sub

Grüße
Guido
www.code-master.de
Member: odessit69
odessit69 Jun 06, 2006 at 13:37:04 (UTC)
Goto Top
Hallo, Tundra!

Ich hab, leider nicht verstanden. Könntest du mir alles erklären?!
Ich habe nicht gesagt, dass Ordner auf dem anderen Server im Lokalnetz liegt.

Gruß Pavlo
Member: Tundra
Tundra Jun 06, 2006 at 14:30:17 (UTC)
Goto Top
Hi Pavlo,

das ist ein VBScript.
Kopiere den Text in einem Editor z. B. Notepad und speichere die Datei mit der Dateierweiterung vbs ab.
Im Quelltext muss Du bei C_Quelle den Ort der Excel-Dateien angeben.
Wenn Du remote darauf zugreifst muss mit UNC-Pfaden arbeiten.

Das Script geht in den angegebenen Ordner herein, scannt alle Dateien alphanumerisch und ruft dann die letzte Datei mit der Anwendung Excel auf.

Grüße
Guido
Member: Biber
Biber Jun 06, 2006 at 17:12:21 (UTC)
Goto Top
...oder, vom CMD-Prompt aus:
for /f "delims=" %i in ('dir /b /o:d *.xls') do @set "lastxlsfile=%i"  
Start "%lastxlsfile%" "%lastxlsfile%"  
-bzw. als Batch-
::------snipp LastXLS.bat
for /f "delims=" %%i in ('dir /b /o:d *.xls') do @set "lastxlsfile=%%i"  
Start "%lastxlsfile%" "%lastxlsfile%"  
::------snapp LastXLS.bat

Sieht nicht so ästhetisch aus wie der VBS-Schnipsel, tut aber auch.

Gruß
Biber
Member: odessit69
odessit69 Jun 08, 2006 at 11:44:51 (UTC)
Goto Top
Hallo, zusammen!

Ich hab beide Varianten ausprobiert. Leider funktioniert es bei mir nicht (weder vbs, noch batch). Ich bekomme die Meldung, dass die Datei nicht gefunden wurde. Dabei steht in der Meldung der falsche Dateiname. Kann der Fehler vorkommen, weil der Dateiname mehrere Leerzeichen enthält? Was meint ihr?

Gruß Pavlo
Member: Tundra
Tundra Jun 08, 2006 at 17:33:33 (UTC)
Goto Top
Hallo Pavlo,

änder mal folgende Zeile:
O_Shell.run "excel " & chr(34) & P_Datei & chr(34)

Grüße
Guido
Member: odessit69
odessit69 Jun 19, 2006 at 11:31:11 (UTC)
Goto Top
Hallo Tundra!
Ich habe mich schon lange nicht gemeldet. Vielen Dank für deine Hilfe. VBScript funktioniert!

Gruß Pavlo