Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
Anzeige
Archiv - Navigation
728to732
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
728to732
728to732
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Auslesen des Dateinamens

Auslesen des Dateinamens
Manasse
Hallo,
ich möchte eine Zelle in Abhängigkeit des Dateinamens formatieren. Mein Problem ist fogendes:
Das Einlesen des Dateinamens klappt ja ohne VBA mit der Funktion "Dateiname". (Tipp von Hajo's Excelseiten). Problem ist nur, dass nach dem speichern unter einem neuen Namen erst F9 gedrückt werden muß, damit der Dateiname auch wieder aktuell ausgelesen wird.
Frage:
Kennt jemand eine VBA (oder andere) Lösung, wie z.B. der Dateiname permanent oder in Intervallen kontrolliert wird, damit nach dem speichern unter anderem Namen nicht erst die Taste F9 gedrückt werden muß?
Bin für jeden Tipp dankbar.
Manasse

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Auslesen des Dateinamens
13.02.2006 15:41:01
Jürgen
Hallo
Mit
ThisWorkbook.Name kannst Du den Namen der aktuellen Arbeitsmappe auslesen.
Wenn Du z.B. in:
--- Diese Arbeitsmappe
--- Ereignis Open

Private Sub Workbook_open()
ThisWorkbook.Sheets(1).cells(1,1) = ThisWorkbook.Name
End Sub

schreibt z.B. in die Zelle "A1" den Namen der soeben geöffneten Arbeitsmappe.
Gruß
Jürgen
AW: Auslesen des Dateinamens
13.02.2006 15:51:38
Manasse
Hallo Jürgen,
vielen Dank für Deinen Tipp. Er ließt auch den Namen korrekt nach dem Öffnen ein.
Problem:
Der Dateiname soll nach dem "speichern unter anderem Namen" eingelesen werden und nicht nach einem erneutem Öffnen. Hast Du da eine Idee?
Gruß Manasse
Anzeige
AW: Auslesen des Dateinamens
13.02.2006 16:55:20
Jürgen
Wie erhält die Datei einen neuen Namen?
Mit ActiveWorkbook.SaveAs?
Dann kannst Du nach dem Speichern den Dateinamen neu einlesen.
Oder nimm ein anderes Ereignis, welches nach dem Speichern eintritt!
Mfg
Jürgen
AW: Auslesen des Dateinamens
13.02.2006 17:32:14
Manasse
Hallo Jürgen,
die Datei wird mit "Datei-Speichern unter" unter einem neuen Namen gespeichert. Und erst wenn dieses geschehen ist, soll ein knall rotes Infofeld ausgeblendet werden. Dazu muß aber dierekt nach dem Speichern der neue Dateiname ohne weitere Aktion ausgelesen werden.
Folgendes habe ich nach Deiner Info in VBA probiert:
1. ActiveWorkbook.SaveAs: Dabei wird gefagt, ob die Datei überschrieben werden soll, da sie bereits existiert. Soll sie nicht. Sie benötigt einen anderen Namen.
2. ActiveWorkbook.SaveCopyAs: Dabei bekomme ich die Meldung, dass diese Methode fehlgeschlagen ist.
Zwischenzeitlich habe ich in einem Beitrag von 2003 einen Hinweis gefunden, der aber bei mir nicht klappt. Vielleicht kannst Du mir dabei helfen, da meine VBA Kenntnisse nicht sehr augeprägt sind. Dort lautet es:
=============================================

Function DateiName()
DateiName = ActiveWorkbook.Name
End Function

Anmerkung:
Geben Sie beispielsweise in Zelle A1 den Befehl:
=DateiName() ein.
=========================================
Der Beitrag ist zu finden unter:
https://www.herber.de/forum/archiv/296to300/298428#298428
Ich habe diese Funktion im VBA Project mal unter "MS Ecxel Objekte-Diese Arbeitsmappe" mit vorangestelltem "Option Explicit" eingestellt und in ein Feld der Excel-Tabelle "=DateiName()" eingetragen. In diesem Feld erscheint aber nur "#NAME?".
Was mache ich falsch? Hast Du eine Idee?
Ganz herzlichen Dank im Voraus, solltest Du Dir die Zeit nehmen zu antworten!!
Gruß
Manasse
Anzeige
AW: Auslesen des Dateinamens
13.02.2006 18:02:35
Jürgen
Hallo Mansse
Du speicherst also von Hand die Datei ab!
Also wenn Du nicht die Speicherungsaktion über VBA durchführen willst, bleibt Dit nur ein passendes Ereignis!
Da es aber kein Ereignis "AfterSave" gibt, muß Du eine andere nehmen!
ZB. SelectionChange
Gefällt mir persönlich nicht so gut, weil nach jedem Zellenwechsel das Ereignis ausgelöst wird! Ist bei einer kleinen Anwendung nicht so stören! Aber wenns größer wird?
Ich persönlich würde eine Lösung über VBA mit Activeworkbook.SaveAs bevorzugen!
ZB. könntest Du einen Button "speichern unter" auf den Tabellenblatt unterbringen!
Oder noch besser, Du bestimmst eine Zelle, in die der Anwender den Dateinamen eingeben soll!
Ist übrigens viel komfortabler!
MFG
Jürgen
Anzeige

302 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige