Office: VBA Hilfe Abfrage ob Datei vom anderen User geöffnet ist

Helfe beim Thema VBA Hilfe Abfrage ob Datei vom anderen User geöffnet ist in Microsoft Excel Hilfe um das Problem gemeinsam zu lösen; Hallo zusammen, ich habe hier in einer Datei einen Code der immer problemlos funktioniert hat für Dateien mit der Endung . xls. Nun möchte ich mit... Dieses Thema im Forum "Microsoft Excel Hilfe" wurde erstellt von CaMa1511, 9. Dezember 2014.

  1. CaMa1511 Erfahrener User

    VBA Hilfe Abfrage ob Datei vom anderen User geöffnet ist


    Hallo zusammen,

    ich habe hier in einer Datei einen Code der immer problemlos funktioniert hat für Dateien mit der Endung . xls.
    Nun möchte ich mit diesem Makro auch Dateien mit der Endung .xlsm überprüfen.

    Hier bekomme ich die Fehlermeldung: Laufzeitfehler 6: Überlauf

    Hier das Makro:

    Sub Report()
    Dim strDatei As String
    Dim strUser As String
    strDatei = "Report.xlsm"
    If IsFileOpen(strDatei) Then
    strUser = WorksheetFunction.Proper(LastUser(strDatei))
    If MsgBox("Datei wird bereits von (" & strUser & ") bearbeitet, Datei schreibgeschützt öffnen?", vbYesNo, "Frage") = vbNo Then
    Exit Sub
    Else
    Workbooks.Open filename:=strDatei
    End If
    Else
    Workbooks.Open filename:=strDatei
    End If
    End Sub


    Public Function LastUser(strPath As String) As String
    Dim strXl As String
    Dim strFlag1 As String, strflag2 As String
    Dim i As Integer, j As Integer
    Dim hdlFile As Long
    Dim lNameLen As Byte
    strFlag1 = Chr(0) & Chr(0)
    strflag2 = Chr(32) & Chr(32)
    hdlFile = FreeFile
    Open strPath For Binary As #hdlFile
    strXl = Space(LOF(hdlFile))
    Get 1, , strXl
    Close #hdlFile
    j = InStr(1, strXl, strflag2)
    #If Not VBA6 Then
    For i = j - 1 To 1 Step -1
    If Mid(strXl, i, 1) = Chr(0) Then Exit For
    Next
    i = i + 1
    #Else
    i = InStrRev(strXl, strFlag1, j) + Len(strFlag1)
    #End If
    lNameLen = Asc(Mid(strXl, i - 3, 1))
    LastUser = Mid(strXl, i, lNameLen)
    End Function


    Function IsFileOpen(filename As String)
    Dim filenum As Integer, errnum As Integer
    On Error Resume Next
    filenum = FreeFile()
    Open filename For Input Lock Read As #filenum
    Close filenum
    errnum = Err
    On Error GoTo 0
    Select Case errnum
    Case 0
    IsFileOpen = False
    Case 70
    IsFileOpen = True
    Case Else
    Error errnum
    End Select
    End Function


    Wäre nett, wenn mir da jemand weiterhelfen könnte, vielen Dank!

    Grüße
     
    Zuletzt bearbeitet: 9. Dezember 2014
    CaMa1511, 9. Dezember 2014
    #1
  2. maninweb
    maninweb MVP für Microsoft Excel
    Hallo,

    habe es mit einer XLSM-Datei ausprobiert. Der Schreibschutz-Auslese-Mechanismus klappt, wobei Du im Code hier oben keinen Pfad an strDatei übergibst. Die Prozedur LastUser() kann mit neuen Dateien (XSLM sind letztlich Zip-Dateien und keine Binärdateien wie XLS) nicht funktionieren. Eine Alternative habe ich nicht parat, aber wenn Du das mal ausklammert, hast Du dann den Fehler auch?

    Gruß
     
    maninweb, 9. Dezember 2014
    #2
  3. CaMa1511 Erfahrener User
    Ja den kompletten Dateipfad habe ich absichtlich nicht angegeben.
    Der Code funktioniert auch problemlos.

    Nur eben nicht, wenn ich die eine xlsm Datei abfrage. Da bekomme ich den oben benannten Fehler.
    Dafür gibt es keine Lösung? Ich würde die DAteien eigentlich gerne als xlsm Datei lassen, da sie kleiner sind.

    DAnke und Gruß
     
    CaMa1511, 9. Dezember 2014
    #3
  4. VBA Hilfe Abfrage ob Datei vom anderen User geöffnet ist

    Konrad.Jens, 21. November 2022
    #4
Thema:

VBA Hilfe Abfrage ob Datei vom anderen User geöffnet ist

Die Seite wird geladen...
  1. VBA Hilfe Abfrage ob Datei vom anderen User geöffnet ist - Similar Threads - VBA Hilfe Abfrage

  2. Speichern mit dem Titel der Zelle A2

    in Microsoft Excel Hilfe
    Speichern mit dem Titel der Zelle A2: Moin moin, Ich habe per Makro einen Arbeitsablauf aufgezeichnet der soweit auch funktioniert. Dieser Endet jedoch im "Speichern Unter" Fenster, welches durch das Klicken von "Drucken als PDF"...
  3. Excel VBA - Code Hilfe (Spalten, Werte kopieren etc.)

    in Microsoft Excel Hilfe
    Excel VBA - Code Hilfe (Spalten, Werte kopieren etc.): Hallo, ich benötige Hilfe für ein Problem, welches ich leider selbst schwerlich als Anfänger nicht lösen kann: Ich möchte von dem Tabellenblatt "Tabelle1" aus den Zellen B8:B14, K8:K14, B18:B25,...
  4. Automatisch aktualisierende Tabelle? Hilfe!! :-)

    in Microsoft Excel Hilfe
    Automatisch aktualisierende Tabelle? Hilfe!! :-): Hallo zusammen, ich habe da ein kleines Excel-Problem und komme einfach nicht auf die Lösung. Ich habe 25 riesige Tabellen und möchte diese in einer Tabelle zusammen, wenn eine bestimmte...
  5. Hilfe bei VBA-Programmierung

    in Microsoft Excel Hilfe
    Hilfe bei VBA-Programmierung: Hallöchen zusammen, ich bräuchte mal wieder eure Hilfe. Diesmal geht es um ein VBA-Programm bzw. -Funktion. Folgender Sachverhalt: Ich habe Rohdaten in einer Textdatei, die ich mir in Excel...
  6. VBA Hilfe für Zahlen eingeben und addieren + zellinhalt löschen

    in Microsoft Excel Hilfe
    VBA Hilfe für Zahlen eingeben und addieren + zellinhalt löschen: Hallo Leute ich brauche dringend Hilfe von einem VBA Spezialisten. Ich hoffe ihr seit mir nicht böse wenn ich sage das ich alles in der Datei beschrieben habe. Würde mich sehr freuen wenn jemand...
  7. VBA - Zeilen je nach Bedingung in neues Tabellenblatt verschieben und löschen

    in Microsoft Excel Hilfe
    VBA - Zeilen je nach Bedingung in neues Tabellenblatt verschieben und löschen: Hallo liebe Excel-Kommunity, nach ewigen Stunden des Suchens und Rumprobierens bin ich an dem Punkt angekommen an dem ich verzweifelt um eure Hilfe fragen muss. Da ich leider keinerlei...
  8. VBA Hilfe Abfrage ob UserForm vom anderen User geöffnet ist

    in Microsoft Excel Hilfe
    VBA Hilfe Abfrage ob UserForm vom anderen User geöffnet ist: Hallo zusammen, ich und Kollegen nutzen ein Excel Arbeitsblatt mit mehreren Userforms. Zur Zeit ist es möglich, dass alle gleichzeitig die Userform öffnen. Wir möchten ein Makro schreiben, das...
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Auf dieser Website werden Cookies für die Zugriffsanalyse und Anzeigenmessung verwendet.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden