Workbook_Aktivate fremde Instanz/nach FremdProg

Sorry, dass ich hier grad so spamme, aber mir bleiben nur noch wenige probs die ich auch nach langer recherche und probieren ned rausbekommen hab.

das prolem hier ist im vergleich zu den anderen sicher easy, aber wenn ich obige begriffe google bekomm ich alles zu .aktivate und _aktivate was mir nix bringt.

Workbook_Activate springt (bei mir) nur an, wenn zwischen Workbooks innerhalb einer Excel-Instanz wechsle.

Mein Problem, ich möcht ein Event, das auslöst, wenn ich das Excel z.b. aus der Taskleiste wieder reaktiviere. (Excel minimiert => irgend ein prog genutzt/gesurft/what ever => Excel wieder aktiviert => Feuer frei)

sachen wie Applikation_Activate oder Workbook_WindowActivat läuft ned (gelesen, dass das wohl in Office2010 nicht mehr geht)

Hallo Mole,

Workbook_Activate springt (bei mir) nur an, wenn zwischen
Workbooks innerhalb einer Excel-Instanz wechsle.

wird so sein, habs jetzt nicht getestet aber wenn es dir pasiert wird das auch mir passieren.
Vielleicht könnte man da tricksen wie bei dem:

Private Sub Workbook_Open()
Worksheets(1).Activate
End Sub

so wird in Worksheet(1) nicht der Ereigniscode von
Private Sub Worksheet_Activate()
gestartet.
Man muß in Workbook_Open erst ein anderes Blatt aktivieren, dann Worksheets(1)

Mein Problem, ich möcht ein Event, das auslöst, wenn ich das
Excel z.b. aus der Taskleiste wieder reaktiviere. (Excel
minimiert => irgend ein prog genutzt/gesurft/what ever =>
Excel wieder aktiviert => Feuer frei)

WEnn du die Excel-Instanz reanimierst oder das Workbook?
Das Workbook überwachst du z.B. so:

Private Sub Workbook\_WindowResize(ByVal Wn As Window)
Select Case Wn.WindowState
 Case xlMaximized
 MsgBox "maximiert"
 Case xlMinimized
 MsgBox "minimiert"
 Case xlNormal
 MsgBox "weder noch"
 Case Else
 MsgBox "unerwartet"
End Select
MsgBox ThisWorkbook.Parent.WindowState 'Zustand der Excelinstanz
End Sub

Gruß
Reinhard

Hi Reinhard,

vielen Dank für die Hilfe!

WEnn du die Excel-Instanz reanimierst oder das Workbook?

beides :smile: egal ob der benutzer das workbook verlässt um in einem anderen workbook der gleichen instanz zu arbeiten oder ob er die instanz verlässt und eine andere excelinstanz aktiviert oder ob er die instanz verlässt um in einem völlig anderen programm zu arbeiten. bei rückkehr zu meinem programm soll die GUI automatisch gestartet werden.

Das Workbook überwachst du z.B. so:

Private Sub Workbook_WindowResize(ByVal Wn As Window)

feuert bei mir leider in keiner der oben beschriebenen situationen. hab deinen code unverändert in das modul „Diese Arbeitsmappe“ gepackt.

Die umleitungstaktik versteh ich (läuft bei mir bei workbook_open), nur lässt sich nix umleiten, wenn das wb nicht auf seine aktivierung reagiert. und _open reagiert ja nur auf das tatsächliche öffnen i.S. von geschlossenes wb aufmachen, odr?

seis drum, irgendwie läuft die kiste jetzt in 80% aller fälle über workbook_activate in „Diese Arbeitsmappe“. den rest kann ich noch ned sauber rekonstruieren.

ich seh das erst mal als gelöst an :smile: vielen dank für deine hilfe!

Das Workbook überwachst du z.B. so:

Private Sub Workbook_WindowResize(ByVal Wn As Window)

feuert bei mir leider in keiner der oben beschriebenen
situationen. hab deinen code unverändert in das modul „Diese
Arbeitsmappe“ gepackt.

Hallo Mole,

ich hatte den Code in XL 2000 getestet, eben nochmal in XL 2007.
Klicke ich oben rechts auf die Buttons für
verkleinern, maximieren/wiederherstellen des Workbooks so wird der Code ausgelöst.

Gruß
Reinhard

Die umleitungstaktik versteh ich (läuft bei mir bei
workbook_open), nur lässt sich nix umleiten, wenn das wb nicht
auf seine aktivierung reagiert. und _open reagiert ja nur auf
das tatsächliche öffnen i.S. von geschlossenes wb aufmachen,
odr?

seis drum, irgendwie läuft die kiste jetzt in 80% aller fälle
über workbook_activate in „Diese Arbeitsmappe“. den rest kann
ich noch ned sauber rekonstruieren.

ich seh das erst mal als gelöst an :smile: vielen dank für deine
hilfe!

WEnn du die Excel-Instanz reanimierst oder das Workbook?

beides :smile: egal ob der benutzer das workbook verlässt um in
einem anderen workbook der gleichen instanz zu arbeiten oder
ob er die instanz verlässt und eine andere excelinstanz
aktiviert oder ob er die instanz verlässt um in einem völlig
anderen programm zu arbeiten. bei rückkehr zu meinem programm
soll die GUI automatisch gestartet werden.

Hallo Mole,

was gehen müßte ist daß du im Programm permanent alle x sekunden,
ggfs. Millisekunden alle Instanzen auf ihre Fenstergröße überprüfst.

Gruß
Reinhard

Klicke ich oben rechts auf die Buttons für
verkleinern, maximieren/wiederherstellen des Workbooks so wird
der Code ausgelöst.

ah verstehe, kann bei mir dann ned funzen :smile:
hab alle in irgendeiner form nach excel aussehenden elemente ausgeblendet solange das workbook aktiviert ist (inkl. minimieren, schließen, ribbons etc).
minimieren und schließen is nur über selbstgebaute knöpfe in der GUI möglich.

danke für die viele hilfe, das mit der prüfung mit timer werd ich noch testen :smile:

greetz

mole

Hallo Mole,

Klicke ich oben rechts auf die Buttons für
verkleinern, maximieren/wiederherstellen des Workbooks so wird
der Code ausgelöst.

ah verstehe, kann bei mir dann ned funzen :smile:

okay, dann ist das Fragezeichen bei mir weg warum da mein Code bei dir nicht laufen sollte.

danke für die viele hilfe,

gerne, deine Anfrage(n) weicht/weichen ab von normalen zu Exce-Vba.
Das macht das schon interessant für mich selbst.

Leider ist mir dein Gesamtprojekt immer noch schleierhaft.
Erschwerend kommt u.a. dazu daß ich z.B. keinen zweiten Bildschirm angeschlossen habe.

Magst du deinen bisherigen Code der wohl zu großer Prozentzahl gut
läuft zeigen?
Vielleicht noch Screenshots vom ersten und zweiten Bildschirm.
Hochladen kannst du mit fileupload o.ä., s. FAQ:2606

das mit der prüfung mit timer werd ich noch testen :smile:

Das müßte m.M. nach funtionieren.
Ggfs. im Prüfcode API-Funktionen einbauen, dann müßte man die Fensterzustände aller laufenden Prozesse die ein Fensterhandle haben auslesen können.
(Müßte ^ Könnte = k.A. *gg*)

Gruß
Reinhard

gerne, deine Anfrage(n) weicht/weichen ab von normalen zu Exce-Vba.
Das macht das schon interessant für mich selbst.

das freut mich sehr, vorallem wenn ich dran denk wie ich letzten november angefangen hab :smile: da hatte ich noch fragen wie „wie lese ich ein array aus“ XD

Erschwerend kommt u.a. dazu daß ich z.B. keinen zweiten
Bildschirm angeschlossen habe.
Vielleicht noch Screenshots vom ersten und zweiten Bildschirm.

nicht dass ich mich da missverständlich ausgedrückt hab, das programm soll nur auf einem bildschirm laufen. aber es muss eben funzen mit dem zweiten aktiven bildschirm auf dem andere sachen dargestellt werden. und es muss dort hin verschiebbar sein. das prog soll zu 95% auf notebooks betrieben werden, die über docking nen großen moni haben.

Magst du deinen bisherigen Code der wohl zu großer Prozentzahl gut läuft zeigen?
Hochladen kannst du mit fileupload o.ä., s. FAQ:2606

die programmierung is teil meiner Bachelorarbeit, weshalb ich da aus rechtlichen gründen relativ eingeschränkt bin. werd aber sehr gerne nach abgabe diejenigen codesnipets uppen, die ich auch als erwähnenswert in der Ausarbeitung drin hab. solange ich ned alles veröffentliche isses unbedenklich. :smile:

(Müßte ^ Könnte = k.A. *gg*)

habs immernoch ned getestet, aktuell schreib ich Test- und Entwicklerdoku.

nochmal danke und viele grüße aus münchen

btw kannst du das Deklarationsproblem nachvollziehen?

http://www.wer-weiss-was.de/app/service/board_navi?A…

wenn ja dann stellt sich die frage ob es in der VBA Spezifikation nicht drin ist und somit kein bug oder ob es wirklich ein fehler im interpreter/ in der syntax is.

btw kannst du das Deklarationsproblem nachvollziehen?

http://www.wer-weiss-was.de/app/service/board_navi?A…

Hallo Mole,

ich habe dir dort geantwortet.
Wenn der Link dort hinweisen sollte mußt du die Verlinkung nochma üben denn der Link führt in diese Beitragsfolge :smile:

Gruß
Reinhard

Hallo Mole,

Erschwerend kommt u.a. dazu daß ich z.B. keinen zweiten
Bildschirm angeschlossen habe.
Vielleicht noch Screenshots vom ersten und zweiten Bildschirm.

nicht dass ich mich da missverständlich ausgedrückt hab, das
programm soll nur auf einem bildschirm laufen. aber es muss
eben funzen mit dem zweiten aktiven bildschirm auf dem andere
sachen dargestellt werden. und es muss dort hin verschiebbar
sein. das prog soll zu 95% auf notebooks betrieben werden, die
über docking nen großen moni haben.

ich bin kein Theoretiker, bin Praktiger und begreife etwas viel besser wenn ich es im wahrsten Sinne des Wortes „begreifen“ (anfassen, ausprobieren, usw.) kann/darf.

Magst du deinen bisherigen Code der wohl zu großer Prozentzahl gut läuft zeigen?
Hochladen kannst du mit fileupload o.ä., s. FAQ:2606

die programmierung is teil meiner Bachelorarbeit, weshalb ich
da aus rechtlichen gründen relativ eingeschränkt bin.
werd aber sehr gerne nach abgabe diejenigen codesnipets uppen, die
ich auch als erwähnenswert in der Ausarbeitung drin hab.
solange ich ned alles veröffentliche isses unbedenklich. :smile:

Das verstehe ich nicht, auch Wikipedia half mir nicht weiter.
das ist doch deine eigene selbst erarbeitete „Arbeit“, also hast du doch alle Rechte daran.
Natürlich sieht das anders aus wenn du bei einer Firma in der Forschung angestellt bist. Wenn du dann all die Forschungen zu einem Thema zu einer „Forschungsarbeit“ zusammenfasst so hat die Firma daran die Rechte *denk*

Insofern wäre es für mich verständlich daß du sagst, ich habe in die Codes gewaltige Arbeit investiert und möchte die nicht veröffentlichen.
Mir ist aber unklar warum es verboten sei daß du deine Bachelorarbeit veröffentlichst.
Magste mir das bitte mal kurz erläutern wo ich da falsch liege? Danke.

habs immernoch ned getestet, aktuell schreib ich Test- und
Entwicklerdoku.

Für die Codes? Ich kenne das vom Hörensagen von Auftragsprogrammieren her nur so daß der reine Code zeitmäßig gesehen eher das kleinste ist.
Und wenn der „Kunde“ eine Codelösung wünscht so wird die erstellt.
Rechte am Code bleiben beim Codierer.

Wünscht der Kunde alles komplett, so steigt der Preis gewaltig.
Danach hat der Kunde die Rechte am Code. Und der Codierer hat dann
dem Kunden jetzt mal in VB nicht nur die .exe gegeben sondern auch
den Quellcode und den sehr Zeitaufwendig kommentiert, vielleicht noch Struktogramm dazu bzw. Programmablaufplan u.ä.

Das könnte das sein was du mit „Entwicklerdoku“ meinst.
Was ist dann „Testdoku“?
Die Aufzeichnung aller fehlgegangen Codeentwürfe des Codierers bis
der Code lief?
Du siehst, ich habe keine Ahnung, erklär mir bitte so manches.

Übrigens, ich habe inzwischen eine Lösung um das Minimieren/maximieren-Ereignis
einer Excel-Instanz in Vba auswerten zu können.

Jetzt weiß ich aber nicht ob du die in deiner Bachelorarbeit
benutzen darfst.
Denn das ist Code wo dein Doktorvater sofort sieht daß der nicht von dir ist/sein kann wenn er dein wachsendes Vba-Wissen mitverfolgt hat.
Interesse an dem Code?

Gruß
Reinhard

nochmal danke und viele grüße aus münchen