ThisWorkbook.Name

Informationen und Beispiele zu den hier genannten Dialog-Elementen:
MsgBox
Bild

Betrifft: ThisWorkbook.Name
von: WilhelmR.
Geschrieben am: 16.02.2005 17:31:45
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
Bild

Betrifft: AW: ThisWorkbook.Name
von: Fred
Geschrieben am: 16.02.2005 17:34:00
Nimm statt Leerzeichen einen underscore _
Fred
Bild

Betrifft: AW: ThisWorkbook.Name
von: WilhelmR.
Geschrieben am: 16.02.2005 17:39:33
Danke, hilft aber nichts.
Es ist zum...
Wilhelm
Bild

Betrifft: AW: ThisWorkbook.Name
von: Fred
Geschrieben am: 16.02.2005 17:41:54
Schon seltsam...und wenn du im Datum statt der Punkte auch _ oder - verwendest?
Fred
Bild

Betrifft: AW: ThisWorkbook.Name
von: Andi
Geschrieben am: 16.02.2005 17:44:01
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
Bild

Betrifft: AW: ThisWorkbook.Name
von: WilhelmR.
Geschrieben am: 16.02.2005 17:59:07
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
Bild

Betrifft: AW: ThisWorkbook.Name
von: Peter Feustel
Geschrieben am: 16.02.2005 18:10:26
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
Bild

Betrifft: AW: ThisWorkbook.Name
von: WilhelmR.
Geschrieben am: 17.02.2005 08:02:20
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
Bild

Betrifft: AW: ThisWorkbook.Name
von: Luc
Geschrieben am: 16.02.2005 21:12:43
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
Bild

Betrifft: AW: ThisWorkbook.Name
von: WilhelmR.
Geschrieben am: 17.02.2005 08:09:51
Hallo Luc,
Danke für deinen Nachricht, leider kann ich dir irgendwie nicht folgen.
Was willst du mir in Punkt 3 eigentlich sagen?
Wilhelm
Bild

Betrifft: AW: ThisWorkbook.Name
von: Luc
Geschrieben am: 17.02.2005 09:07:03
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
Bild

Betrifft: AW: ThisWorkbook.Name
von: WilhelmR.
Geschrieben am: 17.02.2005 16:53:24
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
Bild

Betrifft: AW: ThisWorkbook.Name
von: Luc
Geschrieben am: 17.02.2005 21:36:23
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
Bild

Betrifft: stimmt genau! oT
von: Detlef
Geschrieben am: 17.02.2005 22:17:09
o
 Bild

Beiträge aus den Excel-Beispielen zum Thema "umverteilen in spalten"