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

Rückgabe Objekt-Verweis über Application.Run

Rückgabe Objekt-Verweis über Application.Run
Stefan
Hallo Leute,
bitte um einen Tip, wie ich folgendes Problem lösen kann.
Habe zwei unterschiedlichen Arbeitsmappen mit jeweils einem gleichen Klassenmodul XYClass.
Mappe1 ruft nun über:
Set RückgabeXYClass = Application.Run("Mappe2!HalloDatei2")
eine Function HalloDatei2 in der 2. Arbeitsmappe auf.
Dort wird eine Instanz des Klassenmoduls erzeugt, an Mappe1 möchte ich einen Verweis auf dieses Objekt zurückgeben in der Art:

Public Function HalloDatei2() as XYClass
Dim VerweisXYClass = XYClass
Set VerweisXYClass = New XYClass
Set HalloDatei2 = VerweisXYClass
End Function

Da dieses Objekt in Mappe1 ebenfalls definiert ist, sollte es kein Problem geben.
Ein echtes Problem ist aber, das der Rückgabewert immer Nothing ist, obwohl VerweisXYClass existiert.
Ich habe den Umweg über Zuweisung an Variant, Objekt etc. versucht: immer Nothing
Weiß jemand, wie ich einen Objekt-Verweis von einer Mappe in eine andere übergeben kann ?

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Rückgabe Objekt-Verweis über Application.Run
15.01.2010 20:55:26
Nepumuk
Hallo,
Zwei Möglichkeiten:
1. Du setzt in der einen Mappe einen Verweis auf die andere Mappe. Damit wird aber die andere Mappe grundsätzlich und automatisch mit der anderen geöffnet geöffnet. Hat den Nachteil, dass die Verbindung einseitig ist, du also nur Objekte und Variablen aus der einen in die andere Mappe übergeben kannst
2. Du benutzt ein Addin auf welches in beiden Mappen ein Verweis gesetzt ist. In diesem Addin eine öffentliche Klasse über die du Variablen und Objekte zwischen den Mappen austauschen kannst. Hat den Vorteil, dass 1. die Verbindung in beide Richtungen funktioniert und 2. du entscheiden kannst, ob eine andere Mappe geöffnet werden soll und muss. Dass das Addin automatisch mit geöffnet wird, sollte nicht stören.
Gruß
Nepumuk
Anzeige
AW: Rückgabe Objekt-Verweis über Application.Run
15.01.2010 21:22:35
Stefan
Hallo Nepumuk,
beide Mappen sind AddIns, ein Basis-AddIn und ein (oder mehrere) Berechnungs-AddIns, die vom Basis-AddIn verwaltet und gesteuert werden.
Ich kenne in der 1. Mappe (Basis) das Workbook-Objekt der 2.Mappe und umgekehrt.
Aber wie ist hier ein Austausch möglich ? Eine öffentliche Klasse (Public) ist doch nur in der Arbeitsmappe bekannt, in der die Klasse definiert ist, oder ?
Gruß
Stefan
AW: Rückgabe Objekt-Verweis über Application.Run
15.01.2010 22:07:57
Nepumuk
Hallo Stefan,
durch den Verweis und das veröffentlichen der Klasse kann die in allen Mappen (natürlich auch in Addins) benutzt werden. Hier findest du ein Beispiel:
http://www.office-loesung.de/ftopic251939_0_0_asc.php
Gruß
Nepumuk
Anzeige
AW: Rückgabe Objekt-Verweis über Application.Run
15.01.2010 22:18:29
Stefan
Hallo Nepumuk,
danke für den Tip und den Link, werde ich testen und hoffentlich weiterkommen.
Wahrscheinlich vereinfacht sich dadurch so einiges in meinem Ansatz, da ich dann keine "doppelten" Klassen in den AddIns mitschleppen muss.
Vielen Dank !
Gruß
Stefan

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige