VBA in excel öffnet Outlook express

Pyrukar

Captain
Registriert
Jan. 2013
Beiträge
3.588
Hallo,

ich bin mir nicht sicher, ob das jetzt ein feature oder ein bug ist aber eine klärung wäre schön:

also ich habe gerade eine kleine fingerübung in vba ( excel) gemacht, sprich der Code funktioniert wie er soll und erfüllt keinen allzu tiefen Sinn und sieht keinesfalls schön oder professionel aus.
Das einzig merkwürdige ist, dass das Lokal fenster nicht das anzeigt was ich erwarten würde.
Wenn ich das Lokalfenster öffne (egal welche sub ich auf diesem Tabellenblatt ausführe) erscheint nur etwas, das aussieht wie ein einzelnes Array mit dem namen Me.
wenn ich es expandieren möchte öffnet sich outlook express und es scheinen viele Variablen von Outlook express angezeigt werden und zwischen drin auch die die ich mir deffiniert habe. aber suchen ist doof.
Da ich darauf tippe, dass meine variablen definition schuld daran ist setze ich die mal unten rein.

ich habe die meisten Variablen global vor der ersten sub definiert sodass alle subs darauf zugreifen können.

[code/]
Option Explicit
Option Base 1


Dim i As Integer
Dim j As Integer
Dim k As Integer
Dim m As Integer

Dim g As Integer
Dim a As Integer
Dim e As Integer
Dim p As Integer
Dim b As Integer
Dim L As Double
Dim Z As Integer
Dim ut As Integer
Dim mo As Double
Dim es As Integer


Dim x1 As Double
Dim x2 As Double
Dim x3 As Double
Dim y1 As Integer
Dim y2 As Integer
Dim y3 As Integer

Dim chil(1000, 8) As Double
Dim achil(1, 9) As Double
Dim co(10, 8) As Double
Dim aco(1, 9) As Double
[/Code]

Screenshot des lokalfensters (dass im hintergrund sich outlook geöffnet hat glaubt ihr mir :D
vba.JPG
 
Mal eine doofe Frage:
Meinst du tatsächlich Outlook Express? Das bedeutet, du programmierst unter Windows XP?
Die Variablen haben keinerlei Einfluss, welches Programm geöffnet wird, sondern die Prozeduren, die du verwendest...

Mit den Informationen, die du hier angegeben hast, kann dir niemand helfen... ein Hellseher vielleicht... :)
Alle anderen benötigen wenigstens das Code-Snippet mit dem App-Call und die grundsätzliche Systemkonfiguration.
 
okay sorry dann wars wohl doch outlook

und ich weis nicht genau, was du mit app call meinst da ich nur auf selbst geschriebene subs zugreife deshalb finde ich es ja so merkwürdig :(

und da es bei allen subs vorkommt muss es ja eigentlich mit der generellen vordeklaration zusammenhängen oder?

ich poste hier mal den code einer kleinen sub (bei der wie bei jeder andere ein oben gezeigtes local fenster erscheint anstatt nur der oben deklarierten variablen und arrays)

[code/]
Sub cocreate()

L = 0
Z = 0
mo = 0
j = 0
k = 0
m = 0
g = 0
a = 0
e = 0
p = 0
b = 0
i = 0
ut = 0

For i = 1 To 10

Grundwerte

L = 2000 + 100000 * Rnd()
Z = 1 + 11 * Rnd()
mo = L
es = 1 + 99 * Rnd()
ut = 0

co(i, 1) = g
co(i, 2) = a
co(i, 3) = e
co(i, 4) = L
co(i, 5) = Z
co(i, 6) = mo
co(i, 7) = es
co(i, 8) = ut

Next


End Sub
[/code]

diese greift nur auf die sub "grundwerte" zu und erhält daraus noch die werte für g,a,e die u.a. hier in das array eingesetzt werden.
wenn ich mir jetzt einen breakpoint irgendwo reinsetze und das lokalfenster anschaue dann sieht das ungefär aus wie der screenshot dort oben ich habe keine ahnung warum :(
Ergänzung ()

okay ich hab jetzt einfach mal den ganzen code in ein txt exportiert und hier angehängt. wie gesagt das programm läuft und ist absolut dilletantisch zusammengesetzt aber dass die ganzen globalvariablen in den ME array integriert werden ist mir schleierhaft und nervt beim debuggen ziemlich :(

ich habe das problem nur bei diesem code ein anderer code auf einem anderen arbeitsblatt ist davon nicht betroffen (ist aber auch nur eine sub)
wenn ich den code aber in ein anderes tabellenblatt kopiere dann besteht das problem weiterhin. also muss es an diesem code und nicht einer MS willkür liegen oder? Ach ja ich verwende excel 2010
 

Anhänge

  • VBA Fehler.txt
    3,7 KB · Aufrufe: 263
Zuletzt bearbeitet:
Habs nach 5min Excel 2010 abgebrochen, hat brav irgendwelche Werte in das erste Tabellenblatt eingetragen und kein Outlook Express aufgerufen. Hätte mich bei dem Code auch gewundert, wo soll denn da der Aufruf auch sein?!
 
ja das problem tritt ja auch nur beim debuggen auf, setzt dir doch bitte mal irgendwo nen unterbrecher und schau dir dann mal das lokalfenster an :) da erscheint nur ein Array mit dem Namen Me *das ich definitiv nicht definiert habe* in das alle globalen variablen integriert sind. wenn man bei dem Me Array auf das + geht um das innere des arrays zu sehen öffnet sich bei mir outlook und sieht aus wie der screenshot im ersten post
 
okay ich bin der umgeung des problems und vielleicht auch der erklärung meines Problems etwas näher gekommen. Das genannte Me Array, das im Lokalfenster während des debuggens sichtbar ist, (vgl Screenshot im ursprungspost) taucht anscheinend in jedem meiner neu erstellten codeteile auf und ist scheinbar ans Tabellenblatt gekoppelt. ich kann es umgehen, indem ich nicht den Code direkt an die Tabellenblätter hänge sondern module benutze. Im lokalfenster ist nämlich auch Abzulesen, dass das Me Array vom Typ Tabelle4/Tabelle4 ist. Beim normalen, willentlich definierten, Array steht an dieser Stelle ja die art also integer double etc.

warum sich beim öffnen dieses scheinbaren arrays jedoch outlook im hintergrund öffnet und das ding mit haufenweisen variablen und arrays anfüttert ist mir nach wie vor ein rätzel.

kann vielleicht jemand von euch mir da weiterhelfen?

ich schätze mal, dass das irgendwie am Dokument hängt ( oder irgend eine einstellung meines Excels) aber kann bitte von euch jemand mal den von mir geposteten code bei sich in Excel an einer beliebigen stelle während der ausführung unterbrechen und mir ein Screenshot des lokalfensters an dieser stelle machen bzw. mir zumindest mitteilen, ob es ähnlich aussieht wie der von mir gepostete Screenshot oder ganz brav nur die deffinierten Variablen/Arrays anzeigt wie das meines wissens sein sollte.?

gruß Pyrukar

EDIT: mir ist gerade noch aufgefallen, dass wenn ich ein Modul verwende dort anstelle dieses merkwürdigen Me dann Modul1 drann steht also es gibt dieses vergleichbare Teil scheinbar immer die frage ist inzwischen nur noch, warum bei mir so viel komisches zeug drinsteht und sich beim draufklicken outlook öffnet.
 
Zuletzt bearbeitet:
Wie zu erwarten war, habe ich nur die von Dir definierten Variablen wenn ich den Code ausführe. Das Objekt Mailenvelope was bei Dir im Ss auftaucht, dürfte für die Aktion verantwortlich sein. Das sind sowieso dutzende von merkwürdigen Variablen aufgeführt die dort nichts zu suchen haben. Können eigentlich nur irgendwelche Add-Ons/Einstellungen sein.

Ab jetzt musst Du alleine klarkommen. ;)

Excel.JPG
 
ja im modul hat das bei mir auch so ausgesehen und inzwischen hab ich es auch dahin umgezogen :D also problem umgangen

aber sobald ich golbale variablen in einem tabellenblatt direkt (also nicht in einem Modul) ausführe fügen diese sich in diese doofe geschichte ein :(
 
Zurück
Oben