Thema Datum  Von Nutzer Rating
Antwort
09.12.2019 10:43:54 Tobias
NotSolved
09.12.2019 11:12:07 Mase
NotSolved
09.12.2019 11:29:21 Tobias
NotSolved
09.12.2019 11:38:18 Mase
NotSolved
09.12.2019 11:56:42 Gast45947
NotSolved
09.12.2019 12:11:18 Mase
NotSolved
09.12.2019 12:29:30 Gast92710
NotSolved
09.12.2019 12:53:27 Mase
NotSolved
09.12.2019 13:40:54 Tobias
NotSolved
09.12.2019 19:55:39 Mase
NotSolved
Rot Prüfen ob Excel Datei bereits geöffnet ist und ggf. schließen
10.12.2019 08:32:47 Tobias
NotSolved
10.12.2019 09:08:15 Mase
NotSolved
10.12.2019 12:11:02 Tobias
NotSolved
11.12.2019 07:45:30 Mase
NotSolved

Ansicht des Beitrags:
Von:
Tobias
Datum:
10.12.2019 08:32:47
Views:
776
Rating: Antwort:
  Ja
Thema:
Prüfen ob Excel Datei bereits geöffnet ist und ggf. schließen

Ok cool,

Der Code funktioniert soweit einwandfrei :)

Ich habe jetzt nur noch eine If abfrage hinzugefügt, die je nach dateiname den code durchführt oder nicht.Ich bezweifel zwar, dass das somit auch über das Netzwerk funktioniert aber wat solls. so  reichts mir eigentlich auch.

 

Vielen Dank auf jeden Fall Mase!

 

P.S.: Hier nochmal der ganze Code, falls ihn jemand braucht:

 

 Option Explicit
Sub checkFileOpenViaScriptingRuntime()
    Dim fso As Object
    Dim sPath As String, sFile As String, sFullPath As String
    
    
    
    sFile = "MeineExcel.xlsm"               ' <--- anpassen
    sPath = "PfadMeinerExcel\"       ' <--- anpassen
    sFullPath = sPath & "~$" & sFile    ' <--- nicht anpassen
    
    With CreateObject("Scripting.FileSystemObject")
        'MsgBox .FileExists(sFullPath)
         Call GetOrSetObject
    End With


End Sub

Sub GetOrSetObject()
    Dim xlApp As Excel.Application
    
    
    On Error GoTo FinishErr
    'Prüfen, ob Excel geöffnet...
    'Wenn keine Instanz vorhanden, wird der Fehler 429 erzeugt ...
    Set xlApp = GetObject(class:="Excel.Application")
    'Excel Anzeigen
    If xlApp.ActiveWorkbook.Name = "MeineExcel.xlsm" Then
    xlApp.Visible = True
    'Excel schließen
    xlApp.Quit
    
    

     
FinishErr:
Select Case Err.Number
    Case 0
    Case 429
        '... Fehler 429 wird verarbeitet -> Excel ist auf dem System nicht ge?ffnet, also jetzt eine Instanz erstellen
        Set xlApp = New Excel.Application
        '..bei Excel anzeigen weitermachen
        Resume Next
    Case Else
    MsgBox Err.Number & vbCr & Err.Description, vbCritical, "Autor informiert:"
End Select
'
Set xlApp = Nothing

End If
End Sub

 


Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
Thema: Name: Email:



  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen