Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1416to1420
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

Prüfung, ob Add-in Mappe offen ist

Prüfung, ob Add-in Mappe offen ist
07.04.2015 16:50:31
SteffenS
Hallo Zusammen,
ich habe nachfolgende Funktion, welche prüft ob eine Mappe offen ist:
Function IstMappeOffen(Map As String) As Boolean
Dim istoffen As Boolean
Dim oa As Integer
istoffen = False
Map = UCase(Map)
For oa = 1 To Workbooks.Count
If (UCase(Workbooks(oa).Name)) = Map Then istoffen = True
Next oa
IstMappeOffen = istoffen
End Function
Diese funktioniert bei Excel-Arbeitsmappen (XLSM,XLS) auch prima.
Ich habe nun noch eine AddIn-Datei (Endung xlam), welche durch die Funktion nicht erkannt wird. Das "AddIn" ist nicht installiert und soll es auch nicht, da ich es bloß für die Anwendung brauche und beim Beenden auch wieder schließe.
Wie muss ich die Funktion anpassen, damit auch die XLAM-Datei erkannt wird?
Danke Euch schon mal.
VG Steffen

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Prüfung, ob Add-in Mappe offen ist
07.04.2015 17:06:14
Rudi
Hallo,
Function IstMappeOffen(Map As String) As Boolean
Dim w As Workbook
On Error Resume Next
Set w = Workbooks(Map)
On Error GoTo 0
IstMappeOffen = Not w Is Nothing
End Function
Gruß
Rudi

AW: Prüfung, ob Add-in Mappe offen ist
07.04.2015 17:35:33
Nepumuk
Hallo,
oder so (Addins über den Add-Ins-Manager geladen sind nämlich nicht in der Workbooks-Auflistungsklasse):
Public Function AddInIsLoaded(ByVal pvstrAddInName As String) As Boolean
    Dim objAddin As AddIn
    For Each objAddin In Application.AddIns
        If objAddin.Name = pvstrAddInName Then
            AddInIsLoaded = objAddin.Installed
            Exit For
        End If
    Next
End Function

Gruß
Nepumuk

Anzeige
Funktioniert erst ab Excel 2010
07.04.2015 17:49:25
Nepumuk
Hallo,
achso, ein manuell geöffnetes Addin. Das wird schwierig, das taucht nämlich nur in der Addins2-Auflistung auf und die gibt es erst seit Excel 2010.
Public Function AddInIsOpen(ByVal pvstrAddInName As String) As Boolean
    Dim objAddin As AddIn
    For Each objAddin In Application.AddIns2
        If objAddin.Name = pvstrAddInName Then
            AddInIsOpen = objAddin.IsOpen
            Exit For
        End If
    Next
End Function

Gruß
Nepumuk

Anzeige
Lösung für Excel 2007
07.04.2015 18:06:02
SteffenS
Hallo,
habt ihr vielleicht noch eine Idee für Excel 2007?
Danke
VG Steffen

AW: Lösung für Excel 2007
07.04.2015 18:12:42
Nepumuk
Hallo,
das einzige was mir einfällt, das Addin nochmal versuchen zu laden. Das gibt zwar keine Fehlermeldung aber das Open-Event des Addins wird nochmal durchlaufen. Sollte aber kein Problem darstellen.
Gruß
Nepumuk

AW: Lösung für Excel 2007
07.04.2015 18:15:40
SteffenS
Hallo,
danke für den Tip.
Steffen

AW: Lösung für Excel 2007
07.04.2015 18:34:31
Luschi
Hallo Nepumuk,
in meinen Projekten werden keine Addins seit 15 Jahren mehr installiert, weil es einfach viel zu schwierig ist, dieses installierte AddIns beim User auszutauschen, wenn sich Änderungen ergeben oder wenn kurzfristig andere User in das Projekt ein- und wieder aussteigen.
Außerdem splitte ich große AddIns in Teil-AddIns, so wie es John Walkenbach mit seinem pup-Tools seit der Version 5.0 macht:
- das fehlende AddIn wird als Arbeitsmappe geöffnet (nachgeladen)
- es verhält sich auch dann als AddIn und Alles ist Ok.
- der AddIn-Austausch wird über ein Power-Shell-Script beim Anmelden des Users
  geregelt und lokal auf dem User-PC kopiert
- muß allerdings zugeben, daß die Admins am Anfang nicht begeistert sind und
  erst meine Scripts ihre Einsicht besserte
- so kann man steuern, welches AddIn in welchen Projekt tatsächlich gebraucht werden,
  ohne es ständig vorrätig zu halten
Gruß von luschi
aus klein-Paris

Anzeige
AW: Lösung für Excel 2007
07.04.2015 19:04:45
Nepumuk
Hallo Luschi,
ich binde Addins grundsätzlich per Verweis an die entsprechende Mappe. Die Addins liegen zentral auf einem Server und können von den Anwendern nur schreibgeschützt geöffnet werden. Damit ist ein Austausch zu jeder Zeit problemlos möglich.
Gruß
Nepumuk

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige