Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1084to1088
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
Inhaltsverzeichnis

ThisWorkbook.Name ohne .xls

ThisWorkbook.Name ohne .xls
Jörg-HH
Guten Abend zusammen,
ich möchte in einem GetSaveAsFilename den aktuellen Dateinamen einfließen lassen, aber ohne die Endung.
Wenn ich nur ThisWorkbook.Name verwende, erhalte ich eine Konstruktion mit doppeltem .xls und außerdem in Anführungszeichen eingeschlossen. Wie kann ich das verhindern?
Danke für'n Tip...
Jörg

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
benutze Left(...) mit Len(..)-4
08.07.2009 22:35:31
Matthias
Hallo
probier mal
Sub MySheetName()
Application.GetSaveAsFilename (Left(ThisWorkbook.Name, Len(ThisWorkbook.Name) - 4))
End Sub
Gruß Matthias
fast - nur dann fehlt .xls am Ende auch...
08.07.2009 22:39:55
Jörg-HH
Hi Matthias
so sieht das aus:
FileSaveNameAnbieter = Application.GetSaveAsFilename(InitialFileName:=(Left(ThisWorkbook.Name, Len(ThisWorkbook.Name) - 4)) & " " & strAnbieterName, FileFilter:="Microsoft Excel-Arbeitsmappe (*.xls), *.xls", Title:="Dateiname für die Ausschreibung")
Warum is denn die "richtige" Endung plötzlich wech...?
AW: fast - nur dann fehlt .xls am Ende auch...
08.07.2009 22:55:55
Matthias
Hallo
Sub xyz()
Dim strAnbieterName As String, FileSaveNameAnbieter As String
strAnbieterName = "Herber"
FileSaveNameAnbieter = Application.GetSaveAsFilename(InitialFileName:=(Left(ThisWorkbook.Name,  _
Len(ThisWorkbook.Name) - 4)) & " " & strAnbieterName, FileFilter:="Microsoft Excel-Arbeitsmappe (*.xls), *.xls", Title:="Dateiname für die Ausschreibung")
End Sub
Du setzt doch schon den Filter für Dateityp. was willst Du noch ? Mehr ist doch nicht nötig
Userbild
Anzeige
wie ich das auch drehe - es wird nicht gespeichert
09.07.2009 09:22:02
Jörg-HH
Moin Matthias
mit nur ThisWorkbook.Name erhalte ich eine Konstruktion wie (einschließlich der Anführungszeichen)
"MeineDatei.xls Herber.xls"
und das wird nicht gespeichert.
Mit deiner Left..usw Schreibweise erscheint im Speichern-Dialog
MeineDatei Herber
so wie in deiner Abbildung. Im Feld Dateityp steht auch erwartungsgemäß xls - beim Klick auf den Speichern-Button wird aber nicht gespeichert.
Auch wenn ich dies bastel
InitialFileName:=(Left(ThisWorkbook.Name, Len(ThisWorkbook.Name) - 4)) & " " & strAnbieterName & " " & ".xls",
wird nicht gespeichert.
Woran mag das liegen...?
Anzeige
AW: wie ich das auch drehe - es wird nicht gespeic
09.07.2009 09:32:44
Matthias
Hallo
Das liegt an GetSaveAsFilename
Hast Du schon mal die Hilfe benutzt?
Userbild


Gruß Matthias
analoge Konstruktion klappt, nur diese nicht
09.07.2009 09:51:50
Jörg-HH
...ja - "zeigt das Dialogfeld an, ohne was zu speichern". Das muß dann der Benutzer selber tun, indem er auf Speichern klickt.
Mit der gleichen Konstruktion bekomme ich an anderen Stellen des Codes problemlos was gespeichert, zB dies:
FileSaveName1 = Application.GetSaveAsFilename(InitialFileName:=ProjName & " Kalk " & TPName & " 1_DL", FileFilter:="Microsoft Excel-Arbeitsmappe (*.xls), *.xls", Title:="Kalkulations-Datei für Rücklauf der Ausschreibung " & ProjName & " erstellen:")
If FileSaveName1 False Then
ActiveWorkbook.SaveAs FileSaveName1
Else
Exit Sub
End If
Seinerzeit hatte ich mal ein ähnliches Problem, weil ich statt 1_DL zunächst dort 1.DL stehen hatte. Nach Ersetzen des . durch _ war der Spuk vorbei.
In diesem Fall hier aber steht ja nirgendwo ein Punkt, den Excel mißverstehen könnte...
Anzeige
bei mir klappt alles
09.07.2009 10:25:33
Matthias
hallo
Userbild
bei klappt es alles ohne Probleme.
Sub test()
On Error Resume Next
Dim FileSaveName1  As String
Dim ProjName As String
Dim TPName As String
ProjName = "MeinProjekt"
TPName = "Herber"
FileSaveName1 = Application.GetSaveAsFilename(InitialFileName:=(Left(ThisWorkbook.Name, _
Len(ThisWorkbook.Name) - 4)) & " " & ProjName & " Kalk " & TPName & " 1_DL", FileFilter:=" _
Microsoft Excel-Arbeitsmappe (*.xls), *.xls", Title:="Kalkulations-Datei für Rücklauf der Ausschreibung " & ProjName & " erstellen:")
ActiveWorkbook.SaveAs FileSaveName1
End Sub
keine Ahnung warum das bei Dir nicht funzt. Ich hab XL2000
Ich lass es mal "offen"
Gruß Matthias
Anzeige
Fehler gefunden... :-)))
09.07.2009 10:20:00
Jörg-HH
Hi Matthias,
ich weiß, warum nicht gespeichert wurde: Es fehlte die Anweisung dazu, was passieren soll, wenn der Speichern-Button gedrückt wird...
If FileSaveNameAnbieter False Then
ActiveWorkbook.SaveAs FileSaveNameAnbieter
Else
Exit Sub
End If
...wie blöd von mir...
Danke für deinen Tip von gestern Abend. Das Len kannte ich nicht. Sowas gibt's ja in Excel auch, aber siehe Level... VBA nich so dolle ;-)
Schönen Tag noch!
Jörg
alles klar ;o) oT
09.07.2009 10:29:25
Matthias

10 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige