Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
652to656
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
652to656
652to656
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Beim Speichern auf CSV-Datei prüfen

Beim Speichern auf CSV-Datei prüfen
14.08.2005 18:46:10
Cordula
Hallo Excel-Freunde,
folgenden Code nutze ich, um eine CSV-Datei als xls-Datei unter dem Namen "Buch.xls" zu speichern. Dabei bleibt die Original-CSV-Datei bestehen. Das funktioniert auch. Allerdings wird JEDE Arbeitsmappe unter dem Namen BUCH gespeichert, sobald ich auf das Button klicke. Genau das soll Excel nicht. Ich möchte, dass nur CSV-Dateien -diese haben unterschiedliche Dateinamen- als Buch.xls gespeichert werden (er überschreibt jedesmal die Datei und das ist ok)

Sub Buch_Speichern()
Const LW = "c:\"
Const Pfad = "c:\Cordula"
Application.DisplayAlerts = False
ActiveWorkbook.SaveAs "Buch.xls", FileFormat:=xlNormal
ActiveWorkbook.Close SaveChanges:=True
End Sub

In der Recherche habe ich leider nichts gefunden. Wäre toll, wenn mir jemand helfen könnte. Vielen Dank schon mal im voraus!
LG
Cordula

10
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Beim Speichern auf CSV-Datei prüfen
14.08.2005 19:51:30
Erich
Hallo Cordula,
versuch mal

Sub Buch_Speichern()
'   Const LW = "c:\"
Const Pfad = "c:\Cordula\"
If UCase(Right(ActiveWorkbook.Name, 4)) = ".CSV" Then
Application.DisplayAlerts = False
ActiveWorkbook.SaveAs Pfad & "Buch.xls", FileFormat:=xlNormal
ActiveWorkbook.Close SaveChanges:=True
End If
End Sub

DIe Variable LW wird nicht verwendet. "Pfad" habe ich beim SaveAs vor den Dateinamen gestellt.
Wenn die Endung nicht csv ist, passiert nichts.
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort
AW: Beim Speichern auf CSV-Datei prüfen
14.08.2005 20:40:29
Cordula
Hallo Erich,
vielen vielen Dank für den Code. Er funktioniert!
Würdest du mir bitte noch sagen, was
If UCase(Right(ActiveWorkbook.Name, 4))
bedeutet?
Wäre toll.Danke!
LG
Cordula
Anzeige
AW: Beim Speichern auf CSV-Datei prüfen
14.08.2005 21:50:45
Erich
Hallo Cordula,
klar, gerne:
ActiveWorkbook.Name
- ist klar, Name der Mappe (z.B. abc.Xls oder efg.csv)
Right(ActiveWorkbook.Name, 4)
- die letzten vier Stellen des Namens (z.B. .Xls oder .csv)
UCase(Right(ActiveWorkbook.Name, 4))
- die vier Stellen GROSS geschrieben (z.B. .XLS oder .CSV)
(Dann ist egal, wie csv im Dateinamen geschrieben ist, csv oder Csv oder CSV oder csV...).
Genauso gut hätte man
If LCase(Right(ActiveWorkbook.Name, 4)) = ".csv" then
schreiben können - alles mit Kleinbuchstaben.
Mehr Infos bekommst du leicht, wenn du im VBA-Code den Cursor in einen der vorkommenden Begriffe stellst und F1 drückst.
Grüße von Erich aus Kamp-Lintfort
Anzeige
DANKE! o.T.
15.08.2005 10:44:13
Cordula
AW: Beim Speichern auf CSV-Datei prüfen
14.08.2005 19:53:20
Reinhard
Hi Cordula,
mir ist völlig unklar warum du bei Nicht-csv-Dateien auf den Button klickst!?
ungetestet:

Sub Buch_Speichern()
if instr(thisWorkbook.name,".csv")then ActiveWorkbook.SaveAs "Buch.xls", FileFormat:=xlNormal
ActiveWorkbook.Close SaveChanges:=True
End Sub

Gruß
Reinhard
AW: Beim Speichern auf CSV-Datei prüfen
14.08.2005 20:45:04
Cordula
Hey Reinhard,
deine Frage ist berechtigt, warum ich noch einmal drauf klicke.....
Nur nutzen andere Anwender diese Tabelle und ruck zuck kann es passieren, dass sie auf den Button klicken -versehentlich natürlich- und schon wird die aktive Mappe als BUCH gespeichert. Das wäre nicht so toll.
Dein Code werde ich noch etwas umändern, weil auch deine Variante grundsätzlich super ist. Vielen Dank für deine Hilfe.
LG
Cordula
Anzeige
AW: Beim Speichern auf CSV-Datei prüfen
14.08.2005 22:57:14
Reinhard
Hi Cordula,
lass den Ursprungscode, klicke im VB-Editor doppelt auf dieseArbeitsmappe und fügst folgenden Code rein. Die zweite Sub dint nur zur Ermittlung des Namens, kannste dann danach löschen.
Gruß
Reinhard
folgenden Code?
15.08.2005 10:52:54
Cordula
Hallo Reinhard,
aahhh, ich verstehe, warum "dieser Arbeitsmape". Du hast geschrieben "...fügst folgenden Code rein..." Es folgte aber keiner :-)) Meinst du jenen, den du mir vorher geschickt hast? Leider habe ich gerade nicht die Möglichkeit, es auszuprobieren.
LG
Cordula
AW: folgenden Code?
15.08.2005 13:46:56
Reinhard
Hallo Cordula,
sorry, hatte vergessen ihn mitzuschicken, habe ihn neu geschrieben:

Option Explicit
Private Sub Workbook_Open()
If InStr(ThisWorkbook.Name, ".csv") Then
Worksheets("Tabelle1").Shapes("Button 1").Visible = True
Else
Worksheets("Tabelle1").Shapes("Button 1").Visible = False
End If
End Sub
Sub Namenermitteln()
Dim bild
For Each bild In ActiveSheet.Shapes
MsgBox bild.Name
Next bild
End Sub

Gruß
Reinhard
Anzeige
Vielen Dank Reinhard! o.T.
15.08.2005 14:49:53
Cordula

303 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige