04.12.2025, 02:00
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
⚠️ Konsequenzen für dein Szenario
🧠 Fazit
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
⚠️ Konsequenz für Mehrbenutzer‑Szenarien
🧠 Fazit
👉 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?
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.
- Wenn deine erste Instanz (normales Excel mit UI) noch läuft, wird die neue Mappe dort geöffnet.
- 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.
- Weitere Instanzen sind isoliert und werden nicht automatisch vom Explorer angesprochen.
⚠️ 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
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
- Warum Excel plötzlich „anders aussieht“
🧠 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?
