Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
112to116
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
112to116
112to116
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Hilfe!!! Add.OLEObjects... setzt Applic. zurück

Hilfe!!! Add.OLEObjects... setzt Applic. zurück
17.04.2002 11:41:41
Hartmut Gierke
Hi.

Ich habe ein dringendes Problem zu lösen und bin in den letzten Tagen keinen Schritt weiter gekommen!

Den folgenden Code habe ich in einem Standardmodul:

---------------------------------------------------
Public TestVarPublic As Integer

Sub SetTestVarPublic()
TestVarPublic = 1234
End Sub

Sub ShowTestVarPublic()
MsgBox (Str(TestVarPublic))
End Sub

Sub TestVarStatic()
Static TestVarStatic As Integer
MsgBox (Str(TestVarStatic))
TestVarStatic = 4321
End Sub

Sub GenComboBox()
ActiveSheet.OLEObjects.Add _
ClassType:="Forms.ComboBox.1", _
Link:=False, _
DisplayAsIcon:=False, _
Left:=ActiveCell.Left, _
Top:=ActiveCell.Top, _
Width:=ActiveCell.Width, _
Height:=ActiveCell.Height
End Sub

Sub GenDropDown()
ActiveSheet.DropDowns.Add _
Left:=ActiveCell.Left, _
Top:=ActiveCell.Top, _
Width:=ActiveCell.Width, _
Height:=ActiveCell.Height
End Sub
--------------------------------------------

Ich habe eine Überwachung für die beiden Testvariablen eingerichtet!

Ich starte die Makros nun manuell:

1. SetTestVarPublic ==> TestVarPublic=1234, TestVarStatic=0
2. ShowTestVarPublic ==> TestVarPublic=1234, TestVarStatic=0
3. TestVarStatic ==> TestVarPublic=1234, TestVarStatic=4321
4. TestVarStatic ==> TestVarPublic=1234, TestVarStatic=4321
5. GenDropDown ==> TestVarPublic=1234, TestVarStatic=4321
6. ShowTestVarPublic ==> TestVarPublic=1234, TestVarStatic=4321
7. TestVarStatic ==> TestVarPublic=1234, TestVarStatic=4321
8. GenComboBox ==> TestVarPublic=1234, TestVarStatic=4321
9. ShowTestVarPublic ==> TestVarPublic=0, TestVarStatic=0
10. TestVarStatic ==> TestVarPublic=0, TestVarStatic=0

Bis zu dem Zeitpunkt, zu dem ich ein OLE-Objekt generiere, ist alles ok. auch direkt nach der Generierung zeigen die Überwachungen die korrekten Werte. Jedoch wenn ich danach in eine beliebige Funktion eintrete (ohne dort auch nur eine Anweisung ausgeführt zu haben) sind beide Variablen zurückgesetzt.
Kann jemand das Verhalten reproduzieren? Woran leigt es, dass scheinbar bei dem nächst folgenden Funktionsaufruf nach dem anlegen des OLE-Objektes die Application zurückgesetzt zu sein scheint, so dass alle globalen und static Variablen zurückgesetzt sind?

Ich wäre sehr dankbar für schnelle Hilfe!

Viele Grüße,

Hartmut

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Re: Hilfe!!! Add.OLEObjects... setzt Applic. zurück
17.04.2002 14:20:11
Hans W. Herber
Hallo Hartmut, das Problem scheint bekannt, aber nicht gelöst zu sein, vermutlich ein xlBug. Als Alternative zu den Public/Static Variablen bietet Excel Möglichkeit der Notierung der Werte in Zellen, m.E. eine verläßlichere Methode als der Einsatz von Public Variablen. hans
Re: Hilfe!!! Add.OLEObjects... setzt Applic. zurück
17.04.2002 14:57:35
Hartmut Gierke
Vielen Dank, Hans. Ich hatte sowas bereits befürchtet aber bisher nirgends im Internet ein entsprechendes Statement gefunden. Also danke nochmal! Ich vermute, dass das auch nicht mit dem SR2 von Office 2000 behoben sein wird, oder? Was machen denn all die anderen Entwickler die mit OLEObjects arbeiten? Benutzen die einfach keine globalen/static Variablen oder benutzen die Tabellen-Zellen zur Ablage wie Du es beschrieben hast? Ich habe im Forum doch viele Beiträge bezüglich OLEObjects gefunden bei denen scheinbar mein Problem gar nicht auftritt trotz der Benutzung von OLEObjects. Also nochmal vielen Dank und viele Grüße. Du hast mir dehr geholfen! Hartmut
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige