Microsoft Excel

Herbers Excel/VBA-Archiv

Shelloperationen

Betrifft: Shelloperationen von: Klamsi
Geschrieben am: 01.09.2004 11:05:15

Hi!
Vielleicht könnt ihr mir weiterhelfen:

Ich will in VBA folgendes erreichen:

mit dem Shell-command von VB soll ein "DIR" auf einen Variablen Pfad ausgeführt werden.

Als Beispiel:

Dim Pfad as String

Pfad = "C:\Program files"


und dann soll mit den Shellcommand folgendes weitergegeben werden:



dadurch wird auf C:\ die Datei 1.txt erstellt, in der Pfadinfos stehen.

Ich habe folgendes ausprobiert:

Shell ("command.com /k dir /s/b")

Bis dahin funktioniert es. Nur wie kann ich ihm jetzt den Pfad mitteilen? Und wie kann ich erreichen, das unter C:\ die 1.txt erstellt wird, das er darauf auch immer mit einem Fehler reagiert!

Für jede Idee bin ich dankbar :)

Grüße, klamsi

  


Betrifft: AW: Shelloperationen von: Ramses
Geschrieben am: 01.09.2004 11:16:44

Hallo

am einfachsten so

x = "C:\Temp"
Shell ("command.com /k dir /s/b " & x )

Das Problem hierbei ist, wenn das Directory Leerzeichen enthält, geht es schief.
Das überschreiben einer Zieldatei wird automatisch vorgenommen.

Wenn du individuell darauf reagieren willst, bietet sich das Schreiben in eine Datei direkt an mit einem Array.

Schau dazu mal in der VBA Online Hilfe unter "FileSearch" und der "Open"-Anweisung

Gruss Rainer


  


Betrifft: AW: Shelloperationen von: ypsilon
Geschrieben am: 01.09.2004 11:56:00

hi,
in etwa so:

Sub test()
Dim pfad As String
pfad = """c:\temp\Ora TuningPack"""
Ergebnis = Shell("cmd /C dir " & pfad & "/S /B > c:\test.txt", 2)
End Sub


das mit deiner fehlermeldung versteh ich nicht

@Rainer
so nimmt er auch leerzeichen im pfad

cu Micha


  


Betrifft: AW: Shelloperationen von: Klamsi
Geschrieben am: 01.09.2004 13:16:34

Danke ^_^

Aber eine Frage hab ich trotzdem noch:

Wenn ich den Pfad jetzt in einer Inputbox abrufen lassen will:



Muss ich in der Inputbox immer noch die "" angeben. Wie kann ich die im Quellcode hinzufügen?


  


Betrifft: AW: Shelloperationen von: y
Geschrieben am: 01.09.2004 14:50:50

hi,
ist doch eigentlich relativ einfach ;-)

Sub test2()
Dim pfad As String
test = "c:\temp\Ora TuningPack"
pfad = """" & test & """"
Ergebnis = Shell("cmd /C dir " & pfad & "/S /B > c:\test.txt", 2)
End Sub


also in deinem fall:
pfad = """" & textbox1.text & """"

cu Micha