VBA - Prüfe ob Datei existiert, wenn ja dann copy

Informationen und Beispiele zu den hier genannten Dialog-Elementen:
UserForm MsgBox
Bild

Betrifft: VBA - Prüfe ob Datei existiert, wenn ja dann copy
von: D.Müller
Geschrieben am: 23.04.2015 11:30:12

Hallo liebes Forum,

ich habe folgendes Problem:
Ich habe eine Userform erstellt in der man einen Namen eingibt und dann mit einem Button eine anfrage an Powershell gesendet wird. Das funktioniert auch alles super.
Nun soll noch folgendes hinzukommen.
Wenn man die Anfrage sendet wird eine CSV Datei erstellt. Der Inhalt dieser CSV soll in das aktuelle Tabellenblatt kopiert werden. Allerdings wird die Datei erst erstellt deswegen soll Excel warten bis die Datei erstellt worden ist und dann erst die Daten kopieren.
Aktuell funktioniert eine Schleife, die überprüft ob die Datei vorhanden ist.
FileIsThere = ""
While FileIsThere = ""
FileIsThere = Dir("H:\Abteilung\AD_Helfer\AD_GetUser.csv")
DoEvents
If Range("A1") <> "" Then GoTo GiveUp
Wend
GiveUp:
If FileIsThere = "" Then
MsgBox "File not exist"
Else
MsgBox "File exist"
End If
nun dachte ich mir ich rufe im Else einfach die Kopierfunktion auf mit "Call Open_CSV" aber dann macht er nichts mehr sobald die Datei erstellt ist. Die MsgBox funktioniert allerdings tadelos.. ich verstehe nicht genau wo mein Fehler liegt!
Vielen dank für eure Hilfe !
LG

Bild

Betrifft: AW: VBA - Prüfe ob Datei existiert, wenn ja dann copy
von: Dirk
Geschrieben am: 29.04.2015 11:01:17
Hallo
Ich Tippe mal darauf, dass ihm der Bezug zu der Datei Fehlt, wenn du die mit Call einfach aufrufst.
Da ich weder deine Datei noch eine entsprechene CSV-Datei habe muss ich etwas ins Blaue Raten.
Deine CSV-Datei ist Trennzeichen getrennt geh ich jetzt mal von aus.
Dann kannst du die auch mit workbook.open öffnen und verarbeiten.

  With Workbooks.Open(Filename:="H:\Abteilung\AD_Helfer\AD_GetUser.csv", local:=True) 'Öffnen  _
der CSV Datei mit Trennzeichen
    .Sheets(1).Cells.Copy 'Kopieren des Gesammten Blattes
    'Sheets("wohin?").Paste
    'Application.DisplayAlerts = False  'Abschlaten von Fragestellungen
    '.Close     'Schließen der CSV Datei
    'Application.DisplayAlerts = True   'Einschalten von Fragestellungen
  End With

so zum Beispiel.
Denk nur daran, dass alles was innerhalb der With steht, das mit einem . Beginnt, auch in der CSV-Datei ausgeführt wird. Alles ohne . wird in deiner Datei ausgeführt. ich habe eines Auskommentiert, da ich nicht weiß was du genau brauchst.
Den Code konnte ich nicht Testen
Gruß
Dirk

 Bild

Beiträge aus den Excel-Beispielen zum Thema "VBA 2 einfache "?" Fragen"