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

Einbinden statt Installieren eines Addins

Einbinden statt Installieren eines Addins
26.03.2009 10:24:47
Werner
VBA-Level: befriedigend
Hallo Freunde,
im AddIn-Verzeichnis befindet sich ein nicht installiertes AddIn mit einigen Makros. Dieses will ich
nur in einigen der Dateien, mit denen ich arbeite, aufrufen, ohne es dabei zu installieren.
Dazu muss ich es in diese Dateien einbinden. Bekanntlich kann man das im Excel-Editor in
demjenigen Menu tun, wo man auch z.B. externe Bibliotheken durch Ankreuzen einbindet. In diesem
Menu (Excel 2007!) kann man z.B. eine einzubindende Datei auch in der Pfadstruktur des Dateimanagers suchen.
Doch das AddIn-Verzeichnis ist dem Verzeichnis "Application Data" untergeordnet, welches
normalerweise nicht sichtbar ist.
Frage 1: Wie mache ich es sichtbar, um das nicht installierte AddIn über den Excel-Editor nur einzubinden?
Frage 2: Geht das auch mit VBA?
Soweit mir bekannt, liegt der Unterschied zwischen der Installierung und dem Einbinden eines
AddIns darin, dass ein nur eingebundenes AddIn nur von denjenigen Dateien aufgerufen wird, in
die es eingebunden ist. Ein installiertes AddIn steht dagegen allen Excel-Dateien generell zur Verfügung.
Wenn ich ein AddIn eingebunden habe, kann ich Makros in diesem AddIn über seinen Codenamen plus Punkt im Makrocode der Dateien, in die es eingebunden ist. Bei eingebundenen .xls-Dateien kann ich so auch auf darin enthaltene Daten zurückgreifen.
Stimmt das so?
Weiß jemand einen Rat? Grüße! Werner R.

13
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Einbinden statt Installieren eines Addins
26.03.2009 10:32:01
Tino
Hallo,
natürlich geht das, hier ein Beispiel.
Einfach mal die Exceldatei starten.
https://www.herber.de/bbs/user/60691.zip
Gruß Tino
Zwischenantwort
26.03.2009 10:48:12
Werner
Hallo Tino,
vielen Dank f. die Datei! Ich muss sie erst auf den anderen Computer übertragen, auf dem Excel
installiert ist. Der Excel Viewer zeigt mit den Code nicht an. Grüße Werner R.
Noch unklar
26.03.2009 11:00:38
Werner
Hallio Tino,
deine Beispieldatei enthaelt einen Makro namens "Beispielmakro", der dort eingebunden ist (kann man
im Projektfenster sehen). Ist mir alles bekannt. Ich weiss auch, wie man normale .xls-Dateien einbindet.
Das Problem ist hier aber, dass es sich hier um ein Addin handelt und dieses sich in einem unsichtbaren
Pfad befindet (s.o. in diesem Thread). Soll ich es auf einen anderen Pfad legen, damit es sichbar wird, als
.xla-Datei? Oder ich könnte es in eine .xls-Datei umwandeln, dann wird das Dateifenster sichtbar, was
störend ist. Grüße Werner R.
Anzeige
AW: Noch unklar
26.03.2009 11:15:44
Tino
Hallo,
lege dieses Addin doch sonst wo hin, nur muss der Pfad bzw. Ordner ansprechbar erreichbar sein.
Ob dies jetzt auch mit versteckten Odnern geht, habe ich nicht getestet.
Mein Beispiel zeigt nur, dass dieses Addin in die Exceldatei über Verweis eingebunden ist.
Beim Start der Exceldatei (xls), wird dass Makro (BeispielMakro) in dem Addin über Call aufgerufen.
Gruß Tino
OK!
26.03.2009 11:24:26
Werner
Hallo Tino,
jetzt ist mir die Sache einigermassen klar, auch durch die anderen Beiträge in diesem Thread:
Nicht-installierte AddIns brauchen gar nicht in den von Microsoft vorgesehenen AddIn-Ordner. Das
war mein Denkfehler. Besten Dank! Werner R.
Anzeige
AW: OK!
26.03.2009 11:40:14
Nepumuk
Hallo,
was bitte hindert dich daran auf deinem privaten Rechner die Zugriffsrechte für Ordner zu ändern? Das sind 12 Klicks (habe nachgezählt!) und schon bist du drin.
Gruß
Nepumuk
hier noch die VBA Variante
26.03.2009 11:56:10
Tino
Hallo,
persönlich finde ich dies unnötig, weil wenn dieses Addin eingebunden ist, auch eingebunden bleibt.
Da Du noch nach einer VBA Lösung gefragt hast, habe ich mal ein Beispielcode aufgebaut.
Dies ist auf mein hochgeladenes Beispiel angepasst.
Hierfür musst dem Zugriff auf VBA Projekte vertraut werden.
Private Sub Workbook_BeforeClose(Cancel As Boolean)
 Dim i As Integer
 
  For i = 1 To ThisWorkbook.VBProject.References.Count
    If ThisWorkbook.VBProject.References(i).Name = "MeinAddin" Then
      ThisWorkbook.VBProject.References.Remove _
      ThisWorkbook.VBProject.References(i)
      Exit For
    End If
  Next i

End Sub

Private Sub Workbook_Open()
Dim strAddin As String
strAddin = IIf(Right$(ThisWorkbook.Path, 1) = "\", ThisWorkbook.Path, ThisWorkbook.Path & "\")
strAddin = strAddin & "Beispiel.xla"

'sollte Addin bereits eingebunden sein, 
'könnte man auch über eine Schleife machen 
On Error Resume Next
 ThisWorkbook.VBProject.References.AddFromFile strAddin
On Error GoTo 0

Call startMakro

End Sub

Sub startMakro()
 Call BeispielMakro
End Sub


Gruß Tino

Anzeige
AW: Einbinden statt Installieren eines Addins
26.03.2009 10:32:21
Jogy
Hi.
Extras - Verweise - Durchsuchen?
Gruss, Jogy
Ganz so einfach ist das nicht
26.03.2009 10:41:36
Werner
Hallo Jogy,
der Pfad wird aber, wie oben beschrieben, nicht angezeigt, er ist verborgen. Zudem verwende ich nichtdeutsches Excel 2007, und in Excel 2007 gibt es das Extras-Menu sowieso nicht mehr, auch nicht in der deutschen Version. Was tun? Gruesse Werner R.
AW: Ganz so einfach ist das nicht
26.03.2009 10:47:16
Jogy
Hi.
Sorry, hab das 2007 übersehen. Ein äquivalentes Menü sollte es aber auch in 2007 geben.
Und dass der Pfad verborgen ist, ist egal. Du mußt Dich ja nicht durch die Verzeichnisse klicken, sondern kannst den Pfad zu Datei auch direkt angeben (zumindest ging das in 2003).
Gruss, Jogy
Anzeige
Im 2007-Editor funktioniert das nicht!
26.03.2009 11:14:24
Werner
Hallo Jogy,
normalerweise lässt sich ein Pfad in der Adresszeile eingeben, nur im Editor von Excel 2007 funktioniert
das nicht. Das ist ja gerade das Problem, das Anlass für diesen Thread gewesen ist! Grüße Werner R.
AW: Einbinden statt Installieren eines Addins
26.03.2009 10:39:24
Luschi
Hallo Werner,
AddIn's, die nur in speziellen Exceldateien benötigt werden, installiere ich überhaupt nicht.
Diese öffne ich im Workbook_Open-Ereignis der xls-Datei als Workbook! Trotzdem bleibt es ein AddIn und verhält sich auch so. Beim Workbook_BeforeClose-Ereignis schließe ich auch das nicht installierte AddIn.
Das funktioniert wunderbar und macht keine Probleme, wenn das AddIn ausgetauscht werden soll gegen einer verbersserte Version.
Gruß von Luschi
aus klein-Paris
Anzeige
interessanter Vorschlag!
26.03.2009 11:11:14
Werner
Hallo Luschi,
deine Lösung hört sich wirklich sehr interessant an!
Danach ist es wohl am besten, das AddIn in einen anderen Pfad als die installierten AddIns zu legen - denn im normalen AddIn-Verzeichnis ist es für manche Zwecke fast so unzugänglich wie ein Einsiedler im Himalaya!
Werde diese Methode mal ausprobieren, doch das schaffe ich erst morgen (wegen außereuropäischer
Zeitzone). Besten Dank für diesen Vorschlag! Grüße Werner R.

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige