Office: VBA: csv-Datei schließen, falls geöffnet

Helfe beim Thema VBA: csv-Datei schließen, falls geöffnet in Microsoft Excel Hilfe um das Problem gemeinsam zu lösen; Hallo, ich habe in einer Excel 2003-Datei Datensätze in Zeilen angeordnet, die per Makro in eine csv-Datei kopiert werden sollen. Hierzu soll zuerst... Dieses Thema im Forum "Microsoft Excel Hilfe" wurde erstellt von m172nld, 9. März 2013.

  1. VBA: csv-Datei schließen, falls geöffnet


    Hallo,
    ich habe in einer Excel 2003-Datei Datensätze in Zeilen angeordnet, die per Makro in eine csv-Datei kopiert werden sollen.
    Hierzu soll zuerst geprüft werden, ob die csv-Datei (von der vorherigen Bearbeitung u.U. noch) geöffnet ist. Falls sie geöffnet ist soll sie ohne Speichern von Änderungen geschlossen werden. (Falls sie nicht geöffnet ist soll sie auch nicht geöffnet werden.)
    Nun soll die Datei gelöscht werden, damit sie danach per Makro ohne Inhalte erzeugt und geöffnet werden kann. Und danach sollen die Excel-Daten in die csv-Datei kopiert werden.

    Ich bastel daran jetzt schon recht lange herum, leider erfolglos, sodass ich mich natürlich über Hilfe freue!
    m172nld

    Auszug aus VBA:
    Sheets("Werte").Select
    Rows("2:80").Select
    Selection.Copy

    Workbooks.Add
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
    :=False, Transpose:=False
    Application.CutCopyMode = False
    If Dir("Pfad\Dateiname.csv") "" Then
    Kill "Pfad\Dateiname.csv"
    End If

    Application.CutCopyMode = False
    ChDir "Pfad"
    ActiveWorkbook.SaveAs Filename:= _
    "Pfad\Dateiname.csv", _
    FileFormat:=xlCSV, CreateBackup:=False

    :)
     
    m172nld, 9. März 2013
    #1
  2. Beverly
    Beverly Erfahrener User
    Hi,

    ob eine Arbeitsmappe geöffnet ist kannst du z.B. mit folgenden Code prüfen und ist sie offen, wird sie geschlossen ohne Speichern:

    Code:
    Weshalb musst du die Datei löschen? Du kannst sie beim Speichern doch einfach überschreiben. Damit keine Überschreiben-Abfrage kommt, setzt du vor dem Speichern Appliation.DisplayAlerts auf False und anschließend wieder auf True.


    VBA: csv-Datei schließen, falls geöffnet grusz.gif
     
    Beverly, 11. März 2013
    #2
  3. Hallo, Karin,
    danke für die schnelle Antwort.
    Klappt wie gewünscht!

    Sicherlich hast du Recht, wenn du vermutest, dass ich die Datei ja auch überschreiben könnte. Aber ich bin nur ein PC-User, der nicht immer Lust hat, auf Problemlösungen durch unsere EDV-Abteilung (lange) zu warten. Und der beschriebene Weg war der, auf den ich gekommen bin. Eine andere, elegantere Lösung wäre sicher "schöner"!

    Ziel des Ganzen ist:
    1. Aus Emails (mit immer gleichem Aufbau) werden Daten in eine Exceldatei auf ein Tabellenblatt jeweils in die Zellen 1-17 in nebeneinander liegende Spalten von Spalte A an kopiert. Dann werden sie per Makro auf ein anderes Tabellenblatt kopiert und dabei werden verschiedene Ersetzungen bzw. Korrekturen (fehlerhafte Kleinschreibungen zum Beispiel) an den Eingaben aus den Emails durchgeführt.
    Von dem Excel-Tabellenblatt werden sie wiederum auf ein anderes Tabellenblatt kopiert und dabei der Aufbau verändert, sodass die Informationen aus einer Email in einer Zeile nebeneinander stehen. In weiteren Zellen in jeder Zeile stehen bereits zusätzliche Informationen, mit denen jeder Datensatz versehen werden muss.
    Dann wird das Tabellenblatt kopiert, eine ggf. bestehende Datei.csv gelöscht, dann eine Datei.csv geöffnet und die kopierten Daten in die Datei.csv eingefügt. Anschließend werden in der Datei.csv noch notwendige Korrekturen durchgeführt (wie zum Beispiel das Ergänzen fehlender Anreden). Nach der Bearbeitung bzw. Kontrolle der Daten in dieser Datei.csv schließe ich sie und muss sie dann noch mit dem Texteditor öffnen, da ich in manchen Zellen noch vorhandenen ": " bzw. ":" jeweils durch "" ersetzen muss. Dies kann ich leider nicht mit dem Makro erledigen, da dann führende Nullen bei Feldern mit Postleitzahlen oder Telefonnummern wegfallen würden. Für diesen Zweck wäre es natürlich wunderbar, wenn dies beim Schließen der Datei.csv automatisch geschähe!

    Aber mit dem aktuellen Stand bin ich auch schon ausgesprochen zufrieden. Zudem bastelt ein EDVer an einer Lösung, die die ": " bzw. ":" beim Einlesen der Datensätze in ein Importmodul löscht.

    Freundliche und dankbare Grüße!
    Jürgen
     
    m172nld, 11. März 2013
    #3
Thema:

VBA: csv-Datei schließen, falls geöffnet

Die Seite wird geladen...
  1. VBA: csv-Datei schließen, falls geöffnet - Similar Threads - VBA csv Datei

  2. csv-Datei per VBA importieren

    in Microsoft Access Hilfe
    csv-Datei per VBA importieren: Hallo Zusammen, ich will eine csv in eine bestehende Access-Tabelle einlesen. Die Felder stehen bereits, hab das also schon öfters manuell gemacht, will das aber automatisch machen. Also zuerst...
  3. CSV-Datei über VBA einlesen und über eine Tabelle ausgeben

    in Microsoft Access Hilfe
    CSV-Datei über VBA einlesen und über eine Tabelle ausgeben: hallo, hier seht ihr meinen Code. Ich möchte eine CSV-Datei per Befehl von einem button einlesen und in eine Tabelle schreiben. Die Tabelle soll so aussehen: Spieler, Runde1, Runde2, Runde3,...
  4. VBA Export als CSV Datei

    in Microsoft Access Hilfe
    VBA Export als CSV Datei: Moin, ich habe eine Frage zu ACCESS 2010. ich möchte eine Abfrage als CSV Datei exportiren. Der untere Code funktioniert bei ACCESS 2003 problemlos nur nicht bei ACCESS 2010. Wer kann helfen....
  5. vba csv-Datei in eine bestehende tabelle importieren mit DoCmd.TransferText

    in Microsoft Access Hilfe
    vba csv-Datei in eine bestehende tabelle importieren mit DoCmd.TransferText: Hallo, ich versuche per vba eine csv-Datei in eine bestehende Tabelle zu importieren. Ich habe dazu was aus einem anderen Forum gefunden aber es klappt nicht so wie ich es will. Ich habe dazu eine...
  6. Csv-Datei mit VBA einlesen und in einer access Tabelle einfügen

    in Microsoft Access Hilfe
    Csv-Datei mit VBA einlesen und in einer access Tabelle einfügen: hallo, ich möchte eine Csv-Datei per VBA in eine Access Tabelle einfügen. Die Csv-Datei besteht aus Runden und Streckenzeiten. Das sind die Werte die in der Csv-Datei stehen ( hier nur ein...
  7. csv-Datei mit VBA öffnen - führende Nullen fehlen

    in Microsoft Excel Hilfe
    csv-Datei mit VBA öffnen - führende Nullen fehlen: Hallo, ich will eine csv Datei die mit Semikolon getrennt ist mit einem Makro öffnen. In dieser csv Datei befinden sich Zellen die mit Nullen beginnen zB.: 0005674;000000934 Wenn ich die Datei mit...
  8. CSV Datei mit VBA einlesen. Semikolon getrennt?

    in Microsoft Excel Hilfe
    CSV Datei mit VBA einlesen. Semikolon getrennt?: Hallo, ich möchte eine CSV Datei mit einem Makro Öffnen. Wenn ich den Vorgang aufzeichen sieht der Code so aus: Workbooks.Open Filename:= _ "C:\Dokumente und...
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Auf dieser Website werden Cookies für die Zugriffsanalyse und Anzeigenmessung verwendet.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden