Speichern unter aus einer Vorlagendatei

22/10/2008 - 08:57 von Martina Winter | Report spam
Hallo zusammen

Bei "Speichern unter" aus einer Vorlagendatei mit dem Namen
FO-2.3.13_Kalkulation.xlt
bekomme ich im Dialogfenster den neuen Dateinamen FO-2.3.13_Kalkulation1 in
Hochkommas geschrieben und ohne .xls ("FO-2.3.13_Kalkulation1") .
Jetzt habe ich die Aufgabe ein Marko in die Vorlage ein zu binden, damit der
Dateiname ohne Hochkommas erscheint. Da die Anwender nicht in der Lage sind,
diese zu entfernen (traurig aber wahr).
Würde man die Punkte aus den Dateinamen entfernen, klappt alles wie gewohnt.
Aber das will man nicht.
Mit dem folgende Makro hatte ich keinen Erfolg.

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As
Boolean)
Dim strPath As String
Dim strName As String
strName = ActiveWorkbook.Name
strPath = Application.GetSaveAsFilename(strName, "Mircosoft Office
Excel-Arbeitsmappe(*.xls), *.xls", 1

Kann es sein, das Excel Namenskonventionen bei Vorlagen hat? Denn eine
xls-Datei mit Punkt im Namen kann ich ohne Probleme speichern.

Wàre schön wenn mir jemand antworten würde, auch nur um meinen Chef zu
sagen, das das Problem so nicht so lösen ist.

freundliche Grüsse

Martina
 

Lesen sie die antworten

#1 Melanie Breden
22/10/2008 - 09:54 | Warnen spam
Hallo Martina,

"Martina Winter" wrote:

Bei "Speichern unter" aus einer Vorlagendatei mit dem Namen
FO-2.3.13_Kalkulation.xlt
bekomme ich im Dialogfenster den neuen Dateinamen FO-2.3.13_Kalkulation1 in
Hochkommas geschrieben und ohne .xls ("FO-2.3.13_Kalkulation1") .



Dieser Umstand hat wohl mit den "8.3-Dateinamen" zu tun, wonach der Punkt das
Trennzeichen zwischen Dateinamen und Dateiendung ist.
siehe: http://de.wikipedia.org/wiki/8.3

Bei mehereren Punkten kann Excel aus der Vorlage heraus keinen Dateinamen
erkennen und macht daraus eine Zeichenkette mit den Anführungszeichen.

Entweder benennst du die Vorlage um und verzichtest auf die Punkte,
oder du entfernst sie vor dem Speichern:

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
Dim varPath As Variant
Dim strName As String

' Prüfung, ob Datei gespeichert ist
If Me.Path = "" Then
strName = Replace(Me.Name, ".", "-")
varPath = Application.GetSaveAsFilename(strName, _
"Mircosoft Office Excel-Arbeitsmappe(*.xls), *.xls", 1)
If varPath <> False Then
Application.EnableEvents = False
Me.SaveAs varPath
Application.EnableEvents = True
' Speichern-Ereignis zurücksetzen
Cancel = True
End If
End If
End Sub


Mit freundlichen Grüssen
Melanie Breden

- Microsoft MVP für Excel -
www.melanie-breden.de
Das Excel-VBA Codebook 2007 http://tinyurl.com/2nwvod

Ähnliche fragen