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

Abfrage ob Datei geöffnet ist

Abfrage ob Datei geöffnet ist
28.06.2023 09:51:38
Tobias

Guten Morgen ihr lieben,

ich habe folgendes Marko, welches Daten in eine Backupdatei sichert, dieses verwende ich aber in mehreren Dateien.
Nun tritt leider ein Fehler auf, wenn zufällig zwei Nutzer zeitgleich das Makro (in unterschiedlichen Dateien) verwenden oder die Backupdatei geöffnet ist.

Wie baue ich darin eine abfrage ein, welches vorher prüft ob die Backupdatei geöffnet ist? Sollte dies der fall sein, soll eine VBA-Warnung kommen, der Debuggen-Fehler umgangen werden und das Makro beenden (exit Sub).

Sub Backup()

Application.ScreenUpdating = False
Application.DisplayAlerts = False

Dim Pfad As String
Dim urdatei
Set urdatei = ThisWorkbook
Dim Artikel As String
Dim Artikelnr As String
Dim Zeichnungsnummer As String
Dim Maschine As String
Dim FAAnr As String
Dim Bearbeitung As String
Dim Datum As String

    Datum = ActiveSheet.Range("A7")        		
    Bearbeitung = ActiveSheet.Range("E7")  		
    FAAnr = ActiveSheet.Range("B7")        		
    Maschine = ActiveSheet.Range("F7")     		
    Zeichnungsnummer = ActiveSheet.Range("C7") 		
    Artikelnr = ActiveSheet.Range("Artikelnummer")    
    Artikel = ActiveSheet.Range("Artikelbezeichnung")      

'Pfad Anpassen!
Workbooks.Open Filename:= _
            "K:\Logbuch\_TEMP\Backup.xlsx"
	With ActiveSheet
    		.Unprotect Password:=Passwort
   	End With
        
Rows("2:2").Select
Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove

    ActiveSheet.Range("A2") = Datum           
    ActiveSheet.Range("F2") = Bearbeitung       
    ActiveSheet.Range("C2") = FAAnr           
    ActiveSheet.Range("E2") = Maschine         
    ActiveSheet.Range("D2") = Zeichnungsnummer 
    ActiveSheet.Range("G2") = Artikelnr        
    ActiveSheet.Range("B2") = Artikel       
    
    With ActiveSheet
    .Protect Password:=Passwort
    End With

ActiveWorkbook.Save
ActiveWorkbook.Close
        
Application.DisplayAlerts = True
Application.ScreenUpdating = True

End Sub


Vielen Dank im voraus! :)

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

Betreff
Datum
Anwender
Anzeige
AW: Abfrage ob Datei geöffnet ist
28.06.2023 11:24:52
Ulf
if dir("K:\Logbuch\_TEMP\~Backup.xlsx",vbhidden)>"" then
'Tilde kann auch ein anderes Zeichen sein, auf jeden Fall existiert eine Temp-Datei mit Präfix
end if
hth
Ulf


AW: Abfrage ob Datei geöffnet ist
29.06.2023 09:50:52
Tobias
Hallo Ulf

Wenn ich das so in mein Marko einbaue ....
Sub Ausfuehren()

If Dir("K:\Logbuch\_TEMP\Backup.xlsx", vbHidden) > "" Then  'vbHidden
	MsgBox "Hinweis XXX "
	PRODABLA.CbBuchen.SetFocus 'Cursor wieder in die TextBox setzen
Exit Sub
Else
.... '(auszuführendes Makro)
End If
End Sub	
Dann kommt die MsGBox immer, egal ob die Datei offen ist oder nicht.
Übersehe ich etwas?

Diese Datei ist eine ganz normale .xlsx Datei und nur im _TEMP-Ordner abgelegt.

MfG Tobias


Anzeige
AW: Abfrage ob Datei geöffnet ist
29.06.2023 09:52:59
Ulf
Ja ein ~


AW: Abfrage ob Datei geöffnet ist
29.06.2023 10:27:16
Tobias
Mit dem ~ vor dem Dateinname springt es gleich weiter, egal ob die Datei offen ist oder nicht.


AW: Abfrage ob Datei geöffnet ist
29.06.2023 11:06:38
Ulf


Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige