Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
480to484
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
480to484
480to484
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

ChDir klappt nicht immer

ChDir klappt nicht immer
07.09.2004 09:47:55
Uschi
Hallo Forum,
mein Problem ist Folgendes:
Ich muß ständig *.txt Dateien (aus einem Export) per 'speichern unter' in *.xls Dateien umwandeln. Das wollte ich nun über ein Makro lösen. Nun bekomme ich aber immer wieder Fehlermeldungen, daß auf ein Verzeichnis nicht zugegriffen werden könnte. Wenn ich das Makro starte, bin ich in verschiedenen Verzeichnissen. Kann ich Excel nicht genau angeben, wo die *.xls Datei gespeichert werden soll? Der Name der Datei soll immer der Gleiche wie der der txt Datei sein, also: beispiel.txt -->beispiel.xls.
Bei folgendem Code kommt immer mal wieder die Fehlermeldung: "kann auf ... Verzeichnis nicht zugreifen". Manchmal klappt es aber auch.

Sub xls_speichern()
ChDir "C:\temp\"
ActiveWorkbook.SaveAs _
FileFormat:=xlExcel7
End Sub

Danke schon mal!
Gruß
Uschi

13
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
CHDIR brauchst Du doch gar nicht ...
07.09.2004 10:00:35
Volker
Hallo Uschi,
gib doch den Dateinamen bei SAVEAS direkt an. Siehe Auszug aus der Online-Hilfe:
SaveAs-Methode
Ausdruck.SaveAs(Filename, FileFormat, Password, WriteResPassword, ReadOnlyRecommended, CreateBackup, AddToMru, TextCodePage, TextVisualLayout)
...
Filename Variant optional. Eine Zeichenfolge, die den Namen der zu speichernden Datei angibt. Sie können den vollständigen Pfad angeben. Andernfalls speichert Microsoft Excel die Datei im aktuellen Ordner ...
Gruss
Volker Croll
www.crolltools.decolor>
Anzeige
AW: CHDIR brauchst Du doch gar nicht ...
07.09.2004 11:32:17
Uschi
Aber den Dateinamen soll das Makro doch automatisch vergeben. Der kann sich ja schon ändern. Wie mache ich das denn dann?

Sub xls_speichern()
ActiveWorkbook.SaveAs _
FileFormat:=xlExcel7
End Sub

So bekomme ich auch manchmal Fehlermeldungen.
Gruß
Uschi
ThisWorkbook.Name ...
07.09.2004 11:45:06
Volker
Hallo Uschi,
dann muesste es so funktionieren (den Pfad bitte noch anpassen!):
ActiveWorkbook.SaveAs "C:\Eigene Dateien\" & ThisWorkbook.Name, FileFormat:=xlExcel7
Gruss
Volker Croll
www.crolltools.decolor>
Anzeige
AW: ThisWorkbook.Name ...
07.09.2004 12:43:20
Uschi
Hallo Volker,
Danke für Deine Tips. Aber es klappt nicht wirklich.
Jetzt bekomme ich die Meldung, daß nicht unter dem Namen einer bereits geöffneten Datei gespeichert werden kann. Selbst wenn ich ein anderes Verzeichnis als das der .txt Datei auswähle.
Gruß
Uschi
Kann ich nicht nachvollziehen ...
07.09.2004 12:57:24
Volker
Hallo Uschi,
beschreibe bitte nochmal genau Deinen Ablauf. So wie ich Dich bisher verstanden habe, muesste es funktionieren. Also liegt der Hase woanders im Pfeffer.
Gruss
Volker Croll
www.crolltools.decolor>
Anzeige
AW: Kann ich nicht nachvollziehen ...
07.09.2004 13:31:44
Uschi
Also: Ich öffne eine txt Datei in Excel und möchte die mittels Makro als Excel-Datei mit dem gleichen Namen wie die txt Datei speichern. Speicherort soll C:\temp\ sein. Die ursprüngliche txt-Datei liegt auch in C:\temp. Das ist schon alles.
Und wo liegt das Makro?
07.09.2004 15:09:55
Volker
Hallo Uschi,
zu welcher Datei gehoert denn das Makro, mit dem Du dies alles machst?
Gruss
Volker Croll
www.crolltools.decolor>
AW: Und wo liegt das Makro?
08.09.2004 07:56:28
Uschi
Hallo Volker,
sorry das ich mich gestern nicht mehr gemeldet habe.
Das Makro liegt in der Personl.xls, wie alle meine Makros.
Gruß
Uschi
Anzeige
Dann so ...
08.09.2004 18:57:49
Volker
Hallo Uschi,
war heute fast den ganzen Tag unterwegs, deshalb erst jetzt meine Antwort.
Klar, wenn das Makro in der Personal.xls liegt, kann es nicht funktionieren; denn ThisWorkbook.Name bezieht sich ja dann auf die Personal.xls!
Aber wenn Du die Text-Datei oeffnest, musst Du ja schon irgendwie den Dateinamen ausgelesen haben; vielleicht steht er ja sogar schon in einer Variablen (nennen wir sie mal NameDerDatei).
Dann muesste folgendes passen:
ActiveWorkbook.SaveAs "C:\Eigene Dateien\" & NameDerDatei, FileFormat:=xlExcel7
Solltest Du damit auch nicht weiterkommen, dann - wie schonmal erbeten - den genauen Ablauf, sprich zumindestens auch den Teil des Makros angeben, mit dem Du die Datei oeffnest.
Gruss
Volker Croll
www.crolltools.decolor>
Anzeige
AW: Dann so ...
09.09.2004 11:10:35
Uschi
Hallo Volker,
Danke erstmal für Deine Antworten und Deine Mühe.
Ich lese den Dateinamen nirgends aus. Ich öffne die txt Datei ganz normal, manuell, nicht per Makro. Indem ich sie aus dem Windows-Explorer in das Excel-Fenster ziehe. Ich hatte gestern auch gemerkt, daß als ThisWorkbook.Name der Name der Personl.xls gewertet wurde. Ich weiß ehrlich gesagt nicht, wie ich noch genauer mein Vorgehen schildern soll. Vielleicht so:
Excel ist offen. Ich ziehe die txt Datei ins Excel Fenster. Sie ist also als txt geöffnet und in Excel als txt aktiv.
Und jetzt kommt der Teil, den ich gerne als Makro hätte:
Ich gehe auf speichern unter, wähle bei Dateityp Excel behalte den Namen der txt Datei bei und sage speichern. Und habe so aus einer beispiel.txt eine beispiel.xls gemacht.
Gruß
Uschi
Anzeige
Wir schaffen's schon noch ...
09.09.2004 14:39:03
Volker
Hallo Uschi,
teste bitte mal:
ActiveWorkbook.SaveAs "C:\Eigene Dateien\" & Mid(ActiveWorkbook.Name, 1, Len(ActiveWorkbook.Name) - 4), FileFormat:=xlExcel7
Zur Erklaerung:
ActiveWorkbook.Name liefert den ganzen Dateinamen incl. Dateiendung (.txt)
Deshalb wird mit LEN die komplette Anzahl Zeichen des Dateinamens festgestellt und um 4 Zeichen (.txt) gekuerzt. Die Endung .xls haengt Excel durch "FileFormat:=xlExcel7" automatisch an.
Gruss
Volker Croll
www.crolltools.decolor>
Anzeige
AW: Wir schaffen's schon noch ...
10.09.2004 08:12:33
Uschi
Hallo Volker,
es klappt!!!!!!!!!!!!! :-)
Super, und nochmals vielen Dank für Deine Geduld mit meinem Problem.
Sorry auch, daß ich mich immer nur so sporadisch gemeldet habe, aber ich hatte zwischendurch eingfach keine Zeit.
Gruß
Uschi
Gern geschehen ! (oT)
10.09.2004 08:58:39
Volker

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige