1. Liebe Forumsgemeinde,

    aufgrund der Bestimmungen, die sich aus der DSGVO ergeben, müssten umfangreiche Anpassungen am Forum vorgenommen werden, die sich für uns nicht wirtschaftlich abbilden lassen. Daher haben wir uns entschlossen, das Forum in seiner aktuellen Form zu archivieren und online bereit zu stellen, jedoch keine Neuanmeldungen oder neuen Kommentare mehr zuzulassen. So ist sichergestellt, dass das gesammelte Wissen nicht verloren geht, und wir die Seite dennoch DSGVO-konform zur Verfügung stellen können.
    Dies wird in den nächsten Tagen umgesetzt.

    Ich danke allen, die sich in den letzten Jahren für Hilfesuchende und auch für das Forum selbst engagiert haben. Ich bin weiterhin für euch erreichbar unter tti(bei)pcwelt.de.
    Dismiss Notice

Excel 2003 / Datei ohne Focus öffnen

Discussion in 'Office-Programme' started by brum, Aug 24, 2007.

Thread Status:
Not open for further replies.
  1. brum

    brum Kbyte

    Hallo zusammen

    Gibt es eine Möglichkeit, eine Excel-Datei im Hintergrund zu öffnen, also den Focus nicht erhält.

    Bisher habe ich die Datei (mittels Makro) geöffnet. Dann aber wieder die vorher aktive Datei wieder aktiviert. (Diese Variante finde ich nicht optimal.)

    Gruss
    Bruno
     
  2. Hascheff

    Hascheff Moderator

    Hallo brum,
    gibt es nicht dafür eine Methode SetFocus? Damit kannst du zwar nicht die Mappe in den Hintergrund schieben, abere eine andere in den Vordergrund.
    Dann gibt es noch den Menübefehl "Ausblenden" (dazu evtl. die Eigenschaft "Visible"). Eine augeblendete Mappe verliert natürlich automatisch den Focus.
     
  3. brum

    brum Kbyte

    Vielleicht noch zur besseren Verständlichkeit: Ich will eine Datei bereits öffnen, die ich aber erst nach dem Schliessen der ersten Datei benutzen will.

    Gruss
    Bruno
     
  4. Urs2

    Urs2 Megabyte

    Zuerst die Zweite und dann die Erste öffnen (lassen)?

    Gruss Urs
     
  5. brum

    brum Kbyte

    Geht leider nicht, da die zweite Datei mittels Makro aus der ersten geöffnet werden soll...

    Gruss
    Bruno
     
  6. Hascheff

    Hascheff Moderator

    Ist die "erste" immer die gleiche Mappe?
     
  7. Urs2

    Urs2 Megabyte

    1. Du lässt die Zweite per Schaltfeld in der Ersten öffnen, damit sie von der ersten verwendet werden kann? Oder >
    2. Beide werden immer gleichzeitig geöffnet, und bearbeitet,wobei der Focus zuerst auf der Ersten liegen soll?
    - anschliessend, nach Schliessen der Ersten, soll die Zweite den Focus erhalten?
    Oder etwas anderes?

    - Was gefällt denn nicht an Deiner Lösung im Eröffnungsbeitrag?

    - Die Zweite mit einem BeforeClose in der Ersten öffnen geht nicht, weil sie vorher schon gebraucht wird?

    - Prinzipiell nur die Zweite öffnen, die aber ein AutoOpen zum Oeffnen der Ersten enthält?

    - Die Erste mit einem BeforeClose versehen, das den Focus (bei anderen geöffneten Dateien) auf die Zweite setzt?

    Fragen, Fragen...

    Gruss Urs
     
  8. Hascheff

    Hascheff Moderator

    Hallo Urs2,
    wie ich brum kenne, weiß er beim Öffnen der ersten noch nicht, wie die als zweites zu öffnende Datei heißt. Den Namen der Datei nimmt das Makro vielleicht aus der aktiven Zelle. Deswegen meine letzte Frage. Ich halte es sogar für möglich, dass das Makro mehrmals ausgeführt wird, also gäbe es mit BeforeClose auch ein Problem.
     
  9. Urs2

    Urs2 Megabyte

    @Hasheff - Jetzt verstehe ich Deine vorherige Frage.

    Mit x-beliebigen ersten und zweiten Dateien könnte ich mir jetzt aber nur eine Schaltfläche in der Symbolleiste (oder einem Menüeintrag) vorstellen. Das dazu gehörende Makro müsste dann die aktive Zelle entsprechend verarbeiten.

    Warten auf brum...

    Gruss Urs
     
  10. brum

    brum Kbyte

    Hallo Hascheff, hallo Urs

    @Hascheff: Es ist zwar nicht die gleiche Mappe, aber die beiden Dateien sind voneinander abhängig. Deshalb kann ich die zweite Datei nicht vor der ersten öffnen.

    @Urs2: Es ist zwar keine Schaltfläche, sondern ein Shortcut.

    Mein Problem ist, dass ich an der ersten Datei (sofort) weiterarbeiten will, und ich warten muss, bis das Fenster nach dem Öffnen der zweiten Datei wieder aktiv ist. Dauert zwar nicht lange, aber ich dachte, man könne es noch verbessern.

    Danke für eure Beiträge. Ich werde es wohl bei meiner Lösung belassen.

    Gruss
    Bruno
     
  11. Hascheff

    Hascheff Moderator

    Es geht dir also weniger um den unnötigen Klick als vielmehr um den Zeitverlust, bis Excel den Öffnungsvorgang beendet hat und wieder auf Eingaben reagiert? Das wird sich wohl nicht vermeiden lassen.
     
  12. Beverly

    Beverly Halbes Megabyte

    Hi Bruno,

    du kannst zwar eine andere Arbeitsmappe quasi "unsichtbar" öffnen

    Code:
    Option Excplict
    Public wbMappe As Workbook
    
    Sub andere_mappe_oeffnen()
        Application.ScreenUpdating = False
        Set wbMappe = GetObject(ThisWorkbook.Path & "\deine_andere_mappe.xls")
        Application.ScreenUpdating = True
    End Sub
    
    aber in der Zeit während des Öffnens kannst du dennoch nicht in der ersten Mappe weiterarbeiten, sparst allerdings das Aktivieren des Fensters ein. Du darfst aber nicht vergessen, die andere Arbeitsmappe per Code wieder zu schließen, da sie andernfalls in der jeweiligen Session nicht mehr gestartet werden kann (sie ist ja schon offen), sondern erst wenn du Excel wieder neu startest.
     
  13. Urs2

    Urs2 Megabyte

    @brum – ungelöste Probleme ärgern mich, mit Excel 2003 habe ich mal versucht…

    "Erste.xls" – enthält nichts ausser zwei Makros mit:
    Code:
    Workbooks.Open "c:\…\Zweite-leer.xls" [resp. Zweite-voll.xls]
    Workbooks("Erste.xls").Activate
    "Zweite-leer.xls" – enthält gar nichts

    "Zweite-voll.xls" – 1MB, mit vielen Daten, die beim Oeffnen aktualisiert werden.

    Makro aus der Ersten öffnet die Zweite und gibt den Focus an die erste zurück >
    - bei der leeren Zweiten sieht man nur ein Blinzeln am Bildschirm, sonst nichts.
    - bei der vollen Zweiten sieht man halt wie sie ihre Daten aktualisiert…

    Multitasking innerhalb Excel geht nicht, also blockiert die Arbeit der Zweiten das ganze Excel, ob sichtbar oder nicht (wie auch Beverly schon schrieb).

    Folgender Code in Erste.xls eingefügt…
    Code:
    Private Sub Workbook_Open()
        Workbooks.Open "C:\...\Zweite.xls"
        Workbooks("Erste.xls").Activate
    End Sub
    
    Private Sub Workbook_BeforeClose(Cancel As Boolean)
        Workbooks("Zweite.xls").Activate
    End Sub
    …könnte das Oeffnen der Zweiten “verschönern”, wenn diese zum Aktualisieren ihrer Daten wirklich sehr viel Zeit benötigen sollte. Falls die Erste auch "Eröffnungsarbeiten" erledigt, muss das natürlich nachher geschehen.
    Es wird zwar gleich viel Zeit benötigt, aber dafür während des ersten Oeffnens und nicht mitten in der Arbeit…

    Gruss Urs
     
Thread Status:
Not open for further replies.

Share This Page