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

AddIn "Analysefunktion" per VBA

AddIn "Analysefunktion" per VBA
28.03.2009 12:21:19
Dietmar
Hallo zusammen,
möchte die AddIn-Analysefunktion in ein Makro einbauen, so dass sie aktiviert wird, wenn dies nicht der Fall sein sollte.
Geht das per VBA?
Besten Dank vorab.
Liebe GRüße
Dietmar Zwilling aus Aachen

11
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: AddIn "Analysefunktion" per VBA
28.03.2009 13:52:07
Tino
Hallo,
versuche es mal so.
kommt als Code in DieseArbeitsmappe
Option Explicit 
 
Private Sub Workbook_BeforeClose(Cancel As Boolean) 
  If Not Is_Installed Then 
    AddIns("Analyse-Funktionen").Installed = False 
  End If 
End Sub 
 
Private Sub Workbook_Open() 
  Is_Installed = AddIns("Analyse-Funktionen").Installed 
   
  If Not AddIns("Analyse-Funktionen").Installed Then 
     AddIns("Analyse-Funktionen").Installed = True 
  End If 
End Sub 

Modul Modul1

Option Explicit 
Public Is_Installed As Boolean 


Gruß Tino

Anzeige
AW: AddIn "Analysefunktion" per VBA
28.03.2009 15:20:54
ransi
HAllo Tino
Warum prüfst du wenn du sowieso installed=true setzen willst ?
Nimm besser das Workbook_activate/deactivate.
Wenn du im beforeclose auf abbrechen clickst, ist das Addin deinstalliert wenn is_Installed=false ist.
Verscuh mal dich hiermit anzufreunden :
' **********************************************************************
' Modul: DieseArbeitsmappe Typ: Element der Mappe(Sheet, Workbook, ...)
' **********************************************************************

Option Explicit

Public Is_Installed As Boolean

Private Sub Workbook_Open()
    Is_Installed = AddIns("Analyse-Funktionen").Installed
    AddIns("Analyse-Funktionen").Installed = True
End Sub


Private Sub Workbook_Activate()
    AddIns("Analyse-Funktionen").Installed = True
End Sub


Private Sub Workbook_Deactivate()
    AddIns("Analyse-Funktionen").Installed = Is_Installed
End Sub

ransi
Anzeige
AW: AddIn "Analysefunktion" per VBA
28.03.2009 16:37:26
Tino
Hallo,
"Warum prüfst du wenn du sowieso installed=true setzen willst ?"
Weil ich nicht weis ob alle Excelversionen da mitspielen,
wenn dies ein zweites mal installiert wird (Error?).
Daher habe ich zur Sicherheit eine Abfrage eingebaut, macht ja dass Makro nicht schlechter.
Mit Workbook_Activate kann ich mich anfreunden,
auch wenn ich nicht direkt den Sinn erkenne, dies bei jedem Wechsel der Datei zu deaktivieren und danach wieder zu aktivieren.
Gruß Tino
AW: AddIn "Analysefunktion" per VBA
28.03.2009 17:04:33
ransi
HAllo Tino

wenn dies ein zweites mal installiert wird (Error?).
Daher habe ich zur Sicherheit eine Abfrage eingebaut, macht ja dass Makro nicht schlechter.


Das geht ohne Probleme.
Schlechter machts das aber auch nicht. Hast recht.


dies bei jedem Wechsel der Datei zu deaktivieren und danach wieder zu aktivieren.


Wenn das Addin schon installiert war ist alles gut.
Dann wirds ja auch nicht deaktiviert.
Ist es allerdings nicht installiert gewesen veränderst du beim Arbeitsmappenwechsel eine Einstellung die der User möglicherweise so gar nicht haben will.
Er hat dann auch in den anderen offenen Mappen das Addin installiert obwohl er seine Gründe hat es nicht zu installieren.
Ist der gleiche Effekt wie hier:
Im Workbook_open wird eine neue Symbolleiste erstellt und im Workbook_beforeclose wird sie wieder gelöscht.
Beim Umschalten zwischen den verschiedenen Offenen Mappen kann ich die neue Symbolleiste aber garnicht brauchen weil sie nur für die eine bestimmte Mappe gedacht war. Evtl. kann sie in den anderen Mappen sogar noch Schaden anrichten.
Jede Einstellung die man in der Arbeistsumgebung des Users vornimmt sollte man auf ein Minimum begrenzen schnellstmöglich wieder zurücksetzen.
ransi

Anzeige
AW: AddIn "Analysefunktion" per VBA
28.03.2009 17:36:32
Tino
Hallo,
das installieren eines Addin‘s gilt doch aber für alle Dateien die ich öffne oder liege ich da falsch.
Dies kann ich doch eigentlich nicht für einzelne Dateien bestimmen, entweder ist es installiert oder nicht.
Gruß Tino
AW: AddIn "Analysefunktion" per VBA
28.03.2009 18:13:37
ransi
HAllo Tino

entweder ist es installiert oder nicht.


Stimmt, das ist ja das "Problem".
Beispiel:
Ich habe in meiner Arbeitsumgebung alle Addins deaktiviert.(Warum auch immer..)
Jetzt öffne ich deine Mappe die ein bestimmtes Addin braucht.
Soll sie haben.
Sobald ich jetzt aber wieder in eine andere geöffnete Mappe wechsel, muss ich aber zwingend meine Arbeitsumgebung zurückhaben. Also kein Addin geladen.
Wechsel ich wieder zurück brauch ich wieder das Addin geladen.
Das schaffst du nur wenn du dir den Installationsstatus des Addins beim öffnen merkst und im workbook_deactivate drauf zurückgreifst.
ransi

Anzeige
AW: AddIn "Analysefunktion" per VBA
29.03.2009 09:00:49
Tino
Hallo,
tut mir leid bei mir will das nicht so richtig ankommen.
Wenn ich meine Datei öffne und das Addin wird aktiviert, steht es doch auch schon in der anderen Datei zur Verfügung bevor ich diese überhaupt aktiviere, außer ich öffne diese in einer anderen Instanz.
Gruß Tino
Du kannst aber nur mit der aktivierten...
29.03.2009 18:57:41
Luc:-?
...Datei arbeiten, Tino,
und da ist dann das bewusste AddIn je nach Bedarf entweder aktiviert oder nicht! Deswegen hat Ransi das so gemacht... ;-)
Gruß Luc :-?
ok. oT.
29.03.2009 19:14:26
Tino
AW: AddIn "Analysefunktion" per VBA
29.03.2009 09:29:11
Dietmar
Hallo Tino und Ransi,
danke für Eure Hilfe. Habe mich für die Version von Tino entschieden. Sie lauft gut.
Was passiert aber eigentlich wenn ich mein Makro jemandem schicken muss, auf dessen dieses AddIn nicht vorliegt? Oder ist die Aktivierungsmöglichkeit in Excel2003 immer gegeben.
Liebe Grüße und noch einen schönen Sonntag
Dietmar
Anzeige
AW: AddIn "Analysefunktion" per VBA
29.03.2009 09:40:27
Tino
Hallo,
wenn es dieses Addin nicht gibt knallt es, also müssen wir dies noch abfangen.
So müsste es funzen.
kommt als Code in DieseArbeitsmappe
Option Explicit 
  
Private Sub Workbook_BeforeClose(Cancel As Boolean) 
  If Not Is_Installed Then 
    AddIns("Analyse-Funktionen").Installed = False 
  End If 
End Sub 
  
Private Sub Workbook_Open() 
 
On Error GoTo Addin_Error 
 Is_Installed = AddIns("Analyse-Funktionen").Installed 
 
  If Not AddIns("Analyse-Funktionen").Installed Then 
     AddIns("Analyse-Funktionen").Installed = True 
  End If 
 
Exit Sub 
Addin_Error: 
 Is_Installed = True 
End Sub 

Modul Modul1

Option Explicit 
Public Is_Installed As Boolean 


Gruß Tino

Anzeige

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige