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

ThisWorkbook.Name

ThisWorkbook.Name
16.02.2005 17:31:45
WilhelmR.
hallo da draussen,
ich versuche mit folgendem Code zu erreichen dass ein makro nur ausgeführt wird, wenn die Datei den passenden Namen hat:

Private Sub Workbook_Open()
If ThisWorkbook.Name = "Bogen 02.2005.xls" Then
"Tue irgendwas"
Else
Exit Sub
End If
End Sub

Problem: Wenn ich den Dateinamen so angebe: "Bogen02.2005.xls" dann läuft das Ding. Mache ich nach Bogen einen Zwischenraum "Bogen 02.2005.xls" dann geht das Teil über Exit Sub einfach raus.
Natürlich passe ich den dateinamen jeweils richtig an.
Lief auch schon mit ActiveWorkbook.Name nicht, also daran liegt es nicht.
Auch über eine msgBox bekomme ich den Namen richtig mit Zwischenraum angezeigt.
Habe nur noch wenig Haare zum Ausraufen, bin aber nahe dabei.
Wilhem

13
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: ThisWorkbook.Name
Fred
Nimm statt Leerzeichen einen underscore _
Fred
AW: ThisWorkbook.Name
16.02.2005 17:39:33
WilhelmR.
Danke, hilft aber nichts.
Es ist zum...
Wilhelm
AW: ThisWorkbook.Name
Fred
Schon seltsam...und wenn du im Datum statt der Punkte auch _ oder - verwendest?
Fred
AW: ThisWorkbook.Name
16.02.2005 17:44:01
Andi
Hi,
ich hab zwar keine Lösung (deshalb noch offen...), aber lass Dir doch mal mit
MsgBox ThisWorkbook.Name
das ausgeben, was Deine Excel für den Namen des Workbook hält.
Vielleicht bringt Dich das auf die Spur des Fehlers.
Viel Erfolg,
Andi
AW: ThisWorkbook.Name
16.02.2005 17:59:07
WilhelmR.
Also vielen Dank ihr beiden,
Ich lasse mir per msgBox den Dateinamen ausgeben und der entspricht aufs i tüpfelchen dem Namen im Code.
Ich habe das Problem jetzt vorerst mit einem einfachen "-", d.h.
"Bogen-02.2005.xls" gelöst.
Das geht seltsamerweise.
Aber zufrieden bin ich damit nicht.
ratlos
Wilhelm
Anzeige
AW: ThisWorkbook.Name
16.02.2005 18:10:26
Peter
Hallo Wilhelm,
so kann das Makro nicht funktionieren, weder mit, noch ohne Leerstelle im Namen der Mappe.
Es muss mindestens MsgBox "Tu etwas" heißen und dann läuft es auch.
Gruß Peter
AW: ThisWorkbook.Name
17.02.2005 08:02:20
WilhelmR.
Hallo Peter,
"Tue irgendwas" ist natürlich nur der Platzhalter für den Aufruf einer weiteren Prozedur, die auch Problemlos funktioniert.
Da dies m.E. aber nichts zur Wahrheitsfindung beiträgt, habe ich mir erlaubt das ganze etwas abzukürzen.
Gruß Wilhelm
AW: ThisWorkbook.Name
Luc
Hallo Wilhelm,
falls du noch dran bist:
1. alle haben recht, diese Art Name ist für eine Datei unmöglich! Ohne die Sonderzeichen wärst du immer auf der sicheren Seite, weil es sich hier um Verstöße gg. die ursprüngl. Namenbildungskonventionen handelt.
2. aber da das von MS losgetreten wurde, muss es ja mindestens mit MS-Produkten funktionieren.
3. Deshalb solltest du mal versuchen, die Namen automatisch in '' (einfache Anführungszeichen einschließen zu lassen. XL gibt in dieser Form ganze Pfade an, wenn du in eine Zelle die Funktion ZELLE("blabla";x) - schau hier mal in der Hilfe nach, hab die Codeworte grad nicht im Kopf - schreibst.
Vielleicht hilft das?
Gruß Luc
Anzeige
AW: ThisWorkbook.Name
17.02.2005 08:09:51
WilhelmR.
Hallo Luc,
Danke für deinen Nachricht, leider kann ich dir irgendwie nicht folgen.
Was willst du mir in Punkt 3 eigentlich sagen?
Wilhelm
AW: ThisWorkbook.Name
Luc
Hallo Wilhelm,
da hab ich eine Klammer vergessen! Ich meine, den Namen in einfache Anführungszeichen einschließen: 'datei x.y.z.xls'. Das passiert auch, wenn du mit der xl-Infofunktion ZELLE(), vgl Hilfe, Dateipfad/-namen und Tabellennamen für eine Zelle einer Tabelle anzeigen lässts.
Gruß Luc
AW: ThisWorkbook.Name
17.02.2005 16:53:24
WilhelmR.
hallo Luc,
mit der Funktion "Zelle" ausgelesen heisst die Datei "C:\Bogen 02.2005" wie folgt:
C:\[Bogen 02.2002]Bogen.
Allerdings kann VBA mit dieser Bezeichnung (in allen Varianten) auch nichts anfangen.
immer noch ratlos.
Wilhelm
Anzeige
AW: ThisWorkbook.Name
Luc
Hallo Wilhelm,
nach meiner Meinung müsste eigentlich C:\[Bogen 02.2005.xls]Bogen! rauskommen. Hier machen es die eckigen Klammern. Wenn der Tabellenname eine Form wie der Dateiname hätte oder die Mappe im Ordner Eigene Dateien gespeichert wäre, würde Excel den ganzen Ausdruck zusätzlich in einfache Anführungszeichen setzen. Mit den eckigen Klammern kann XL hier natürlich bei der Eingabe nichts anfangen. Versuch's einfach mal mit...
'C:\Bogen 02.2005.xls'
Vielleicht klappt das. Sonst fällt mir erst mal auch nichts mehr ein. Aber da kannst du mal sehen, was passiert, wenn Nutzer einfach alle möglichen Namen vergeben. Es soll ja auch noch Programme und Server geben, die auf sowas stinksauer reagieren. Ihr solltet in der Firma Regeln für die Dateinamensvergabe aufstellen, die derartige Auswüchse im Interesse der Datensicherheit verhindern.
Schönen Abend noch!
Luc
Anzeige
stimmt genau! oT
Detlef
o

26 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige