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

Public-Variable an Addin übergeben

Public-Variable an Addin übergeben
01.08.2008 13:05:49
Werner
Hallo liebe Forumsmitglieder,
kürzlich habe ich versucht, eine projektweit gültige Public-Variable aus einem Projekt an ein Addin weiterzugeben, doch der Versuch misslang. Sie soll dann auch für das gesamte Addin, nicht etwa nur für eine Prozedur in dem Addin, gültig sein. Geht so etwas überhaupt und, wenn ja, wie?
Grüße! Werner R.

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Public-Variable an Addin übergeben
01.08.2008 13:34:00
Jochen
Hi,
deklariere die Variable im Add-In als Public und übergib den Wert aus deiner Mappe mit
der Run-Methode, steht mit Beispiel in der Hilfe.
mfg Jochen

AW: Public-Variable an Addin übergeben
01.08.2008 13:38:00
Tobias
Hallo Werner!
Vielleicht zur Inspiration:
Inhalt eines Moduls der xls-Datei:


Const A = "ASDF"
Sub GibText()
    Debug.Print A
    Call Application.Run("'" & Application.AddIns("MyAddIn").FullName & "'" & "!ModulMitGlobalerVariable.PutVariableTxt", A)
    Debug.Print Application.Run("'" & Application.AddIns("MyAddIn").FullName & "'" & "!ModulMitGlobalerVariable.GetVariableTxt")
End Sub


Inhalt des Moduls "ModulMitGlobalerVariable" der xla-Datei ("MyAddIn"):


Global txt As String
Public Function GetVariableTxt() As String
    GetVariableTxt = txt
End Function
Public Sub PutVariableTxt(newtxt As String)
    txt = newtxt
End Sub


Hat Dir das Beispiel weiterhelfen können?
Schönen Gruß, Tobias
http://www.tobiasschmid.de/

Anzeige
-> Dank Jochen und der VBA-Hilfe etwas kürzer
01.08.2008 13:43:00
Tobias
Vielleicht sollte ich öfter die VBA-Hilfe lesen.
Anstelle von:
"'" & Application.AddIns("MyAddIn").FullName & "'" & "!ModulMitGlobalerVariable.PutVariableTxt"
reicht auch einfach
"'MyAddIn.xla'!ModulMitGlobalerVariable.PutVariableTxt"
So einfach....

Besten Dank!
01.08.2008 13:57:33
Werner
Hallo Jochen, hallo Tobias,
vielen Dank für eure Anregungen!! Mit der Run-Methode usw. muss ich mich erst einmal vertraut machen,
habe aber alles registriert. So ganz einfach ist die Variablenübergabe in diesem Fall offenbar nicht!
Beste Grüße

AW: Public-Variable an Addin übergeben
01.08.2008 13:48:00
Nepumuk
Hallo Werner,
es gibt keine projektübergreifenden Variablen.
Du hast vier Möglichkeiten (Nach Aufwand und Schwierigkeit aufsteigend sortiert):
1. Eine Funktion im Projekt wird vom Addin aufgerufen und holt sich darüber den Wert.
2. Eine Funktion im Addin wird vom Projekt aufgerufen und der Wert damit reingeschoben.
3. Du setzt im Addin einen Verweis auf das Projekt. Damit werden die Variablen aus dem Projekt im Addin bekannt (das ist dann wie ein Projekt, allerdings nur in eine Richtung, denn die Variablen im Addin sind damit dem Projekt nicht bekannt und du kannst auch keine gegenseitigen Verweise erstellen).
4. Du benutzt ein zweites Addin mit einer Klasse, in welche die Variablen geschrieben werden. Im ersten Addin und im Projekt hast du je eine Klasse, welche auf die dritte Klasse zugreifen und darüber Werte austauschen.
Du könntest natürlich den Wert auch in eine Zelle oder eine externe Datei schreiben, von wo aus sich das Addin ihn wieder abholt. Aber das ist auch nicht das gelbe vom Ei.
Gruß
Nepumuk

Anzeige
-> Vielen Dank! Wieder was dazugelernt. owT
01.08.2008 13:59:00
Tobias

AW: Public-Variable an Addin übergeben
01.08.2008 14:16:00
Werner
Hallo Nepumuk,
deine Erklärungen sind jedenfalls z.T. verständlich, die erste Alternative ist für mich wahrscheinlich am
leichtesten durchführbar. Auch dir meinen herzlichen Dank!!
So eine Variablenübergabe hat es offenbar in sich! Werner R.

Variable an Addin übergeben BEISPIEL !!!
01.08.2008 16:29:00
Nepumuk
Hi,
ich hab euch mal ein ganz einfaches Beispiel gemacht in dem die Mappe1 einen Wert in die gemeinsam genutzte Klasse schreiben und die Mappe2 diesen Wert wieder auslesen kann. Das geht natürlich anders herunm genauso. Ist natürlich kein Fehlerhandling drin und auch sonst keine Schnörkel wie Kommentare. Wichtig sind dabei nur die Verweise auf das Addin, die auf PublicNotCreatable gesetzte Instanz der Klasse und die Art, wie über die Funktion der Verweis auf die Klasse gesetzt wird. Damit beide Mappen nämlich mit der selben Klasse arbeiten, darf im Addin nur eine Instanz davon existieren.
https://www.herber.de/bbs/user/54273.zip
Gruß
Nepumuk

Anzeige
AW: Variable an Addin übergeben BEISPIEL !!!
07.08.2008 13:08:07
Werner
Hallo Ne[pumuk,
noch etwas verspäteten Dank f. die Beispieldatei. (Hatte nicht mehr damit gerechnet.) Werner R.

293 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige