Excel Ansicht
#11
Hallo Knobbi38,

zuerst einmal ging es mir nur darum, festzustellen, dass Tanja die sich aus ihrer Programmierung ergebenden Konsequenzen noch nicht vollumfänglich erkannt hat und die folgenden Antworten dieses auch nicht berücksichtigen.

Warum du nun meinst, dass sich aus der geschilderten Vorgehensweise ergibt: " ... dass alle anderen Workbooks automatisch .xlsm Dateien sein müssten." erschließt sich für mich nicht.

Aber ich habe nun noch einmal nachgefragt.

Angenommen, das ist so realisiert und wir haben nun folgendes Szenario: Ein Anwender öffnet eine normale .xlsx, xlsb, oder .xlsm-Mappe. Dann wird ihm das normale Excel-UI angezeigt. Danach öffnet er die .xlsm mit der die 2. Instanz und die Excel-App mit dem individuellen Excel-UI angezeigt wird. Dann ist di Welt zuerst einmal in Ordnung. Öffnet der User nun aus der 1. Instanz eine weitere Mappe, dann ist die Welt immer noch in Ordnung. Aber in welcher Instanz wird eine Mappe geöffnet, wenn der User diese per Doppelklick aus dem Explorer öffnet?

Sehr gute Verständnisfrage, Wilfried – das ist genau der Knackpunkt, wenn man mit mehreren Excel‑Instanzen arbeitet.

🧭 Verhalten beim Öffnen per Doppelklick im Explorer
  • Standardfall (Windows, Excel ab 2016/365): Ein Doppelklick im Explorer öffnet die Datei in der zuletzt gestarteten Excel‑Instanz, die vom Betriebssystem als „Standard“ registriert ist.
    • Wenn deine erste Instanz (normales Excel mit UI) noch läuft, wird die neue Mappe dort geöffnet.
    • Die zweite Instanz (App‑Instanz mit ausgeblendeter UI) bleibt davon unberührt.
  • Sonderfall: Wenn du die zweite Instanz manuell sichtbar gestartet hast und sie die „aktive“ Excel‑Anwendung ist (z. B. du hast dort zuletzt gearbeitet), kann Windows den Doppelklick auch dieser Instanz zuordnen. → Das hängt davon ab, welche Instanz gerade den COM‑Server „Excel.Application“ hält.
  • Technischer Hintergrund: Excel registriert sich beim Start als COM‑Server. Der erste gestartete Prozess übernimmt diese Rolle.
    • Weitere Instanzen sind isoliert und werden nicht automatisch vom Explorer angesprochen.
    • Deshalb landen Doppelklick‑Dateien fast immer in der ersten Instanz.

⚠️ Konsequenzen für dein Szenario
  • Normale Dateien (xlsx, xlsb, xlsm) öffnen sich beim Doppelklick in der ersten Instanz → dort bleibt das UI unverändert.
  • Deine App‑Instanz bleibt davon getrennt, solange du sie nicht explizit als „aktive“ Excel‑Anwendung nutzt.
  • Nur wenn der Benutzer direkt in der App‑Instanz arbeitet und dort über Datei → Öffnen oder Drag&Drop eine Datei lädt, landet sie in der App‑Instanz.

🧠 Fazit
  • Explorer-Doppelklick → erste Instanz (Standard-Excel)
  • App-Instanz → nur durch gezieltes Öffnen innerhalb dieser Instanz
Damit ist deine Trennung stabil: Die App bleibt isoliert, normale Dateien öffnen sich weiterhin im gewohnten Excel.


Weitere Nachfrage:
Im Umkehrschluss bedeutet dies wohl, wenn Excel nicht geöffnet ist und ein User als erstes die Excel-App startet, dann wird auch jede weitere Mappe, die aus dem Explorer geöffnet wird, mit dem reduziertem Excel-UI geöffnet? Wenn ich soetwas nur für mich als alleinigen Anwender programmiere, würde ich mich somit in der Folgezeit immer wieder mal kurz wundern, aber da ich es ja selbst so programmiert habe, dann auch sofort verstehen, warum es gerade eben so passiert ist, wie es passiert ist. Aber wenn ich das als Anwendung für mehrere normale Anwender programmiert hätte, dann hätte ich da so meine Zweifel, dass diese die unterschiedlichen Verhaltensweisen, die sich abhängig vom Ersten Start ergeben, immer richtig deuten würden und wüssten, was dann jeweils tun müssten.

Genau so ist es, Wilfried – du hast die Logik sauber erkannt.

🧭 Verhalten im Umkehrschluss
  • Excel nicht geöffnet → App‑Mappe als erstes gestartet → Diese Instanz wird vom Betriebssystem als „Standard‑Excel“ registriert. → Jede weitere Datei, die der Anwender per Doppelklick im Explorer öffnet, landet in dieser Instanz – und damit auch mit dem reduzierten UI.
  • Excel bereits normal geöffnet → App‑Mappe danach gestartet → Die App läuft in ihrer eigenen Instanz, die normale Excel‑Sitzung bleibt unverändert. → Explorer‑Doppelklicks landen in der ersten Instanz, also mit normalem UI.

⚠️ Konsequenz für Mehrbenutzer‑Szenarien
  • Für dich selbst ist das handhabbar, weil du die Logik kennst und sofort verstehst, warum es passiert.
  • Für „normale“ Anwender ist das aber hochgradig verwirrend, weil sie nicht wissen:
    • Warum Excel plötzlich „anders aussieht“
    • Warum sich die Oberfläche je nach Startreihenfolge verändert
    • Was sie tun müssen, um wieder ins normale UI zu kommen
Das Risiko ist, dass Anwender denken, Excel sei „kaputt“ oder „fehlerhaft installiert“.

🧠 Fazit
  • Für dich privat: praktikabel, mit dem kleinen Nebeneffekt des „Aha‑Moments“.
  • Für eine Anwendung für andere: problematisch, weil die Startreihenfolge nicht intuitiv ist und die UI‑Veränderung global wirkt.

👉 Wenn du das Konzept für andere nutzbar machen willst, müsstest du eine saubere Trennung erzwingen – z. B. durch einen Starter, der sicherstellt, dass die App immer in einer separaten Instanz läuft, unabhängig davon, ob Excel schon offen ist oder nicht.
Soll ich dir einmal skizzieren, wie man so einen Starter‑Mechanismus (z. B. über eine kleine Wrapper‑Datei oder ein VBScript) bauen könnte, damit die App garantiert immer isoliert läuft?
Antworten Top
#12
Hi,

diese zweite Instanz könnte man doch weg lassen, wenn man Workbook_Activate() und Workbook_Deactivate() statt Workbook_Open() und Workbook_Close() zum Ein-/Ausblenden verwendet. Man würde sich halt den Nachteil einhandeln, dass in dem Moment, in dem eine andere Excel-Datei aktiviert wird, auch in der Lagerverwaltung die normale Excelumgebung sichtbar wird. Aber zumindest würde man nie in die Verlegenheit kommen, dass man kein normales Excel mehr hat.
Gruß,
Helmut

Win11 - Office365 / MacOS - Office365
Antworten Top
#13
Zitat:Warum du nun meinst, dass sich aus der geschilderten Vorgehensweise ergibt: " ... 
dass alle anderen Workbooks automatisch .xlsm Dateien sein müssten." erschließt sich für mich nicht.

Ergibt sich einfach aus deiner Antwort, wo in dem Beispiel Code für die zweite Instanz angegeben wird:
Zitat: In der zweiten .xlsm (Applikation)

Allerdings habe ich kein Interesse daran, daß Thema weiter zu verfolgen und ein Protokoll aus einer KI-Sitzung hier wiederzugeben, finde ich wenig hilfreich, denn woher weiß ich, ob Antworten der KI richtig sind? Mir wäre deine persönliche Einschätzung wichtiger, denn eine KI kann ich auch selber befragen.

Gruß Knobbi38
Antworten Top
#14
Zitat:Unabhängig davon, ist doch ein Aufruf des Entwicklermodus keine Lösung für so ein Problem, finde ich zumindest.

Gib dem Kind einen Namen - oder einen anderen 15

Der eine oder andere Entwickler nennt den Modus, wo er etwas mehr sieht, als der normale Anwender, Entwicklermodus.
Der eine oder andere Programmierer nennt den Modus, wo er etwas mehr sieht, als der normale Anwender, Programmierermodus.
Der eine oder anderer Programmierer, der etwas entwickelt, nennt den Modus, wo man etwas mehr sieht als der normale Anwender, Adminmodus.

17

( ich kann natürlich auch falsch liegen )
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste