Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1384to1388
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

Zähler im Dateinamen beim merhfachen Öffnen

Zähler im Dateinamen beim merhfachen Öffnen
21.10.2014 18:00:30
Robert
Hallo zusammen,
ich habe in Excel eine geschlossene Datenbank mit diversen Eingabeformularen und Reports erstellt. Es ist angedacht, dass die Kollegen ein Eingabeformular befüllen, mittels Makro erfolgt eine Qualitätssicherung und Übermittlung eines Datensatzes per Email. Diese Daten können dann nach erfolgter Sichtung mittels eines weiteren Makros in die DB geschoben werden.
Ein Problem ist jetzt bei dem Eingabeformular entstanden: als ein Kollege die Datei mehrmals geöffnet hatte, funktionierten die Makros nicht. Excel hat den Dateinamen hochgezählt (z.B.: Dateiname(2).xls), während die Befehlszeile im Makro "Workbooks("Dateiname.xls") usw. erwartet.
Wie kann ich das Problem umgehen bzw. verhindern, dass die Datei mehrfach geöffnet wird?
Vielen Dank für Eure Hilfe.
Robert

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zähler im Dateinamen beim merhfachen Öffnen
21.10.2014 21:02:31
Luschi
Hallo Robert,
wenn ich das in Excel 2003-2013 versuche, dann kommt soche Warnmeldung:
Userbild
Das Einzige, was mir gelingt ist sowas:
Userbild
Dann habe ich aber nicht die Datei 3 mal geöffnet, sondern nur 3 verschiedene Fensteransichten erstellt.
Gruß von Luschi
aus klein-Paris

AW: Zähler im Dateinamen beim merhfachen Öffnen
22.10.2014 10:11:14
Robert
Hallo Luschi aus Heddernheim,
wenn ich meldung.xls öffne funktioniert das Makro. Wenn ich die Datei schließe und nochamls öffne, wird der Datei Name um den Zähler (2) ergänzt und das Makro läuft nicht:
Userbild
Bin mittlerweile aber noch ein Stück weiter: die passiert nur, wenn man die Datei aus Outlook heraus öffnet.
Grüße
aus Bockenheim
Robert

Anzeige
Wiederherstellungsdatei?
22.10.2014 11:03:42
Tino
Hallo,
könnte es sich um eine Wiederherstellungsdatei handeln, die nach einem Absturz geöffnet wurde?
Gruß Tino

AW: Wiederherstellungsdatei?
22.10.2014 11:28:11
Robert
Nein, das ist keine Wiederherstellungsdatei, ich kann das an meinem Rechner sogar x-beliebig oft nachspielen. Dabei ist mir aufgefallen, dass dieses Phänomen verschwindet (aussetzt), wenn die Email schließe und wieder öffne. Sobald die Datei aus dem Email ein zweites mal geöffnet wird, entsteht das Problem erneut.
Scheint also mehr mit Outlook zusammenzuhängen. Ich überlege gerade, ob ich beim öffnen der Datei überprüfen, ob diese Hochzählung aktiviert wurde und dann eine Fehlermeldung mit der Bitte, Datei und Email zu schließen und neu zu öffnen, ausgebe. Ich weiß allerdings noch nicht, wie ich das genau anstellen soll.
Gruß & Danke
Robert

Anzeige
AW: Wiederherstellungsdatei?
22.10.2014 11:43:34
Sven
Hallo Robert,
dies liegt definitiv an Outlook, da deine Datei vor dem Öffnen temporär gespeichert wird.
Existiert bereits der Name, so ergänzt Outlook automatisch die Datei mit einem Counter.
Beim schliessen der E-Mail löscht auch Outlook diese Datei wieder, jedoch nur wenn diese
beim Schliessen nicht durch Excel geöffnet ist.
Via VBA könntest Du beim Öffnen der Exceldatei eine eindeutige Datei auf deine Platte schreiben und
beim Schliessen der Exceldatei wieder löschen. Existiert beim Öffnen der Exceldatei schon diese durch VBA geschriebene Datei, so soll eine Fehlermeldung ausgegeben werden und anschließend die Datei wieder
geschlossen werden.
Hier ein Beispiel wie dies aussehen könnte:

Public Fehler As Boolean
Private Sub Workbook_BeforeClose(Cancel As Boolean)
If Fehler = False Then Kill "c:\dateicheck.tmp"
End Sub
Private Sub Workbook_Open()
Open "c:\dateicheck.tmp" For Random As #1
If LOF(1) > 1 Then
Fehler = True
MsgBox "Datei bereits geöffnet"
Else
Print #1, "CHECK"
End If
Close #1
If Fehler = True Then Application.Quit
End Sub

Hab den Code jetzt selber nicht getestet, sollte aber funzen...
Grüße
Sven

Anzeige
alternative
22.10.2014 14:04:59
Tino
Hallo,
du könntest alternativ nach der entsprechenden Datei suchen.
In Deinem Code arbeitest Du dann mit der Objektvariablen weiter.
Beispiel:
Sub Beispiel()
Dim objWB As Workbook
'zuerst den normalen Dateinamen suchen
For Each objWB In Workbooks
If objWB.Name Like "Dateiname.xls" Then
Exit For
End If
Next objWB
'nicht gefunden, suche nach Dateiname mit zusatz
If objWB Is Nothing Then
For Each objWB In Workbooks
If objWB.Name Like "Dateiname(#).xls" Then
Exit For
End If
Next objWB
End If
If Not objWB Is Nothing Then
MsgBox objWB.Name
Else
MsgBox "Datei nicht gefunden!"
End If
End Sub

Gruß Tino
Anzeige

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige