AddIn öffnen

Bild

Betrifft: AddIn öffnen von: Kristin
Geschrieben am: 07.02.2005 13:24:26

Hallo zusammen,

ich öffne eine xla-Datei über
Workbooks.Open strPath & strFile
durch das Ereignis Workbook_Open() einer Arbeitsmappe. Also ein AddIn das nicht mittels 'Add' hinzugefügt wird.

Da ich noch andere Ereignisse dieser Arbeitsmappe nutze, möchte ich danach gern über etwas ähnliches wie

Dim xla As AddIn oder dim xla As Workbook
For Each xla In Application.AddIns bzw. For Each xla In Application.Workbooks
If xla.Name = "NameDerDatei.xla" Then
isFileOpen = True
Exit For
End If
Next xla

...prüfen, ob das AddIn geöffnet ist.

Es erscheinen aber entweder nur Workooks (.xls, .csv) oder es werden nur AddIns aus dem AddinManager durchlaufen die mit addin.add hinzugefügt wurden.

Wie kann ich denn auf mein 'geöffnetes AddIn' per Namen zurückgreifen?

danke für jeden Tipp + viele Grüße
kristin

PS: Lasse mich auch gerne über die Handhabung von AddIns belehren. z.B. Pro und Contra von Add + Install im Gegensatz zu Open :)))

Bild


Betrifft: AW: AddIn öffnen von: Hans W. Hofmann
Geschrieben am: 07.02.2005 14:46:02

Hallo kristin,

ohne alle Grundlagen der Objektorientierten Programmierung durchzukauen: Was ist so schwierig daran, die richtige Mehtode für das Addin-Objekt zu verwenden?
Auf der anderen Seite liefert Workbooks.Open eine Workbook-Referenz auf ein Addin - es fragt sich halt, was man damit anfagen will...

Gruß HW


Bild


Betrifft: AW: AddIn öffnen von: Kristin
Geschrieben am: 07.02.2005 15:25:30

Hallo HW,

danke, dass du wenigstens etwas geschrieben hast, wenn auch einen etwas mürrischen Kommentar. :)
Ich wüßte aber gerne was ich mit einer Workbook-Referenz anfangen kann. Was ist das? Ein Zeiger/Pointer? Bin kein Excel-Pro, versuche es so gut es geht; ich denke auch nicht, dass mein Weg der beste ist.

Ich habe .Add nicht benutzt, weil ich es nicht schön finde, dass die Datei dann im AddIn-Manager zu sehen ist - es ist vielleicht falsch, aber im Zweifel wusste ich es nicht besser.

Wenn ich mein xla öffne (Doppelklick) dann ist es ja 'irgendwie da'. Es muss doch möglich sein es auch anzusprechen, oder nicht?

Bitte HW versuch es doch noch mal ;)

Danke schon mal,
kristin


Bild


Betrifft: Lösung von: Kristin
Geschrieben am: 07.02.2005 16:03:40

für alle die AddIns im AddinManager blöd finden und trotzdem damit arbeiten wollen :)

Function isFileOpen(ByVal AddInNAME As String) As Boolean
    Dim vbProject As VBAProject
    For Each vbProject In Application.VBE
        If vb.project.Name = AddInNAME Then
            isFileOpen = True
        End If
    Next vbProject
End Function


viele Grüße,
Kristin

PS: Smoe der Gute hat's gefunden ;) -danke!


Bild


Betrifft: Nachtrag: Lösung von: Kristin
Geschrieben am: 07.02.2005 17:45:03

ich werd mal wieder nicht schlau draus....aber so gehts's:

Function isFileOpen(ByVal AddInNAME As String) As Boolean
    Dim vbProject As Object
    For Each vbProject In Application.VBE.VBProjects
        If vbProject.Name = AddInNAME Then
            isFileOpen = True
        End If
    Next vbProject
End Function


Es muss also as Object deklariert werden....as VBAProject will er nicht.
oder man läßt option explicit weg - wie auch immer so geht's.


 Bild

Beiträge aus den Excel-Beispielen zum Thema "Nicht Zeilen sondern Spalten löschen"