Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Anzeige
Inhaltsverzeichnis

Filename beim Speichern aus einer String Variable übernehmen

Forumthread: Filename beim Speichern aus einer String Variable übernehmen

Filename beim Speichern aus einer String Variable übernehmen
07.03.2025 11:29:38
Guzzischmid
Hallo Zusammen !
Ich öffne mit einem Makro eine csv Datei im UTF-8 Format auf einem beliebigen Pfad.
Während der Bearbeitung in mehreren Subs, gebe ich über eine Application.InputBox eine Nummer in einer als String (public) deklarierten Variable (Maschinennummer) vor.
Den Wert der Variable (Maschinennummer), will ich beim Speichern im selben Ordner, als Dateiname verwenden.
Leider bekomme ich das mit der Syntax nicht hin.
Versucht habe ich es so: ActiveWorkbook.SaveAs Filename:=Maschinennummer, FileFormat:=Excel.xlCSVUTF8, Local:=True

Der selbe Code mit Vorgabe einem festen Dateinamen, funktioniert problemlos:
ActiveWorkbook.SaveAs Filename:="Maschinennummer", FileFormat:=Excel.xlCSVUTF8, Local:=True
Kann mir jemand sagen, was ich falsch machen ?

Vielen Dank im Voraus
Gruß Oliver
Anzeige
AW: Filename beim Speichern aus einer String Variable übernehmen
07.03.2025 11:47:32
Onur
"gebe ich über eine Application.InputBox eine Nummer in einer als String (public) deklarierten Variable (Maschinennummer) vor." ?
Aber wie genau?
AW: Filename beim Speichern aus einer String Variable übernehmen
07.03.2025 12:16:56
Guzzischmid
Die Eingabe für die Variable "Maschinennummer" sieht immer so aus: HH-xxxx.xxx
Also z.B. "HH-1234.123"
Danke
AW: Filename beim Speichern aus einer String Variable übernehmen
07.03.2025 12:20:10
Onur
Du weisst schon, dass man keine "."-Zeichen in Dateinamen verwendet - oder ???
Ausserdem war das NICHT die Frage - ich wollte wissen, wie die Vergabe über Inputbox bei dir als Code aussieht.
Anzeige
AW: Filename beim Speichern aus einer String Variable übernehmen
07.03.2025 12:27:18
Guzzischmid
die Eingabe mache ich so: Maschinennummer = Application.InputBox("Maschinennummer eingeben:")

Ich habe den Punkt ( ".") öfter in Dateinamen, was seither noch nie zu Problemen geführt hatte.
Sollte das an der Stelle ein Problem geben, muss ich mir wohl eine andere Lösung suchen.
Gruß Oliver
Anzeige
AW: Filename beim Speichern aus einer String Variable übernehmen
07.03.2025 12:30:11
Onur
Was genau ist denn der Fehler ? Was passiert denn?
AW: Filename beim Speichern aus einer String Variable übernehmen
07.03.2025 12:29:36
Guzzischmid
Die Variable habe ich so deklariert: Public Maschinennummer As String
AW: Filename beim Speichern aus einer String Variable übernehmen
07.03.2025 12:32:14
Onur
Damit Publicvariable überall verfügbar sind, musst du sie in einem allgemeinen Modul als Public deklarieren -und nicht irgendwo.
Anzeige
AW: Filename beim Speichern aus einer String Variable übernehmen
07.03.2025 12:38:41
Guzzischmid
Die Deklaration ist tatsächlich in einem allgemeinen Modul.
Sie wird in mehreren SUB verwendet, wobei es da keine Probleme gibt.
Nur bei der Verwendung als Dateiname.
Der Fehler lautet lediglich:

Laufzeitfehler '1004':
Zugriff auf das schreibgeschützte Dokument 'HH-1201.062' nicht möglich

Die Eingabe zur Variable war also "HH-1201.062"
Anzeige
AW: Filename beim Speichern aus einer String Variable übernehmen
07.03.2025 12:44:18
Onur
Du musst SaveCopyAs nehmen, da du die aktuelle Datei mit SaveAs nur umbenennst.
AW: Filename beim Speichern aus einer String Variable übernehmen
07.03.2025 14:18:44
Guzzischmid
SaveCopyAs... hat leider nicht funktioniert.
habe es jetzt so hinbekommen: ActiveWorkbook.SaveAs Filename:=Dateipfad & Maschinennummer & ".csv", FileFormat:=Excel.xlCSVUTF8, Local:=True
Danke für die Hilsbereitschaft
GRuß Oli
Anzeige
AW: Filename beim Speichern aus einer String Variable übernehmen
07.03.2025 13:06:00
daniel
Kann mir jemand sagen, was ich falsch machen ?

naja was du falsch machst, sagt dir in diesem Fall doch die Fehlermeldung ziemlich eindeutig:

Laufzeitfehler '1004':
Zugriff auf das schreibgeschützte Dokument 'HH-1201.062' nicht möglich

es gibt bereits eine Datei mit diesem Namen und und diese ist schreibgeschützt und kann daher nicht überschrieben werden.
entweder musst du dir einen anderen Namen zum Speichern ausdenken, oder, wenn du die Datei überschreiben willst, dann darfst du ihr keinen Schreibschutz verpassen.

Gruß Daniel
Anzeige
AW: Filename beim Speichern aus einer String Variable übernehmen
07.03.2025 14:16:07
Guzzischmid
Hallo Zusammen,

nei es war keine gleichnamige Datei schon vorhanden. Der Tip war aber trotzdem gut, es war ein Ordner mit dieser Nummer vorhanden, welcher auch Probleme verursacht hat.
Hab es aber jetzt hinbekommen: ActiveWorkbook.SaveAs Filename:=Dateipfad & Maschinennummer & ".csv", FileFormat:=Excel.xlCSVUTF8, Local:=True
So funktioniert es.

Danke für den Kommentar
Gruß OLiver
Anzeige
Anzeige
Anzeige
Live-Forum - Die aktuellen Beiträge
Datum
Titel
14.05.2026 13:31:09
14.05.2026 09:50:42
13.05.2026 19:14:18