Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
Anzeige
Archiv - Navigation
836to840
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
836to840
836to840
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Zweites Excel öffnen

Zweites Excel öffnen
20.01.2007 12:00:53
Peter
Guten Morgen
Die meisten User im Geschäft haben tagtäglich ihr Excel mit speziellen Files geöffnet und dabei persönliche Einstellungen (Optionen) gesetzt.
Öffnen sie nun noch eine von mir programmierte Bestellliste, wird diese im bereits laufenden Excel installiert und teilweise werden die individuellen Optionen geändert.
1. Wie kann ich meiner Bestellliste per VBA mitgeben, dass, wenn bereits ein Excel geöffnet ist, meine Datei in einem separaten Excel automatisch geöffnet wird.
2.Die Datei ist schreibgeschützt. Wie kann ich diese Abfrage unterdrücken?
Kann mir jemand bitte weiterhelfen?
Freundliche Grüsse
Peter

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zweites Excel öffnen
20.01.2007 12:44:46
Matthias
Hallo Peter,
ich habe mal ein kleines VB-Programm erstellt, welches eine Mappe in einer neuen Excel-Instanz öffnet. Werte wie Dateipfad, Kennwort, u.a. sind parametrisierbar:
https://www.herber.de/bbs/user/39803.zip
Näheres in der Datei readme.txt im Archiv.
Wenn du noch Fragen hast, dann melde dich nochmal.
Gruß Matthias
AW: Zweites Excel öffnen
20.01.2007 18:22:01
Peter
Hallo Matthias
Dein Programm läuft super! Vielen Dank.
Es funktioniert zwar nur in einer Richtung: Wenn andere Applikationen in einem Excel bereits geöffnet sind, wird durch dein Programm ein neues Excel gestartet. Umgekehrt geht es aber nicht.
Dies ist für meine Anwendung aber auch nicht relevant, da die User dieses Programm nur zwischendurch mal aufrufen, eine Liste abfüllen und via Button an das Outlook weitersenden. Dann schliesst das Programm automatisch.
Freundliche Grüsse
Peter
Anzeige
AW: Zweites Excel öffnen
20.01.2007 18:41:35
Matthias
Hallo Peter,
Wenn andere Applikationen in einem Excel bereits geöffnet sind, wird durch dein Programm ein neues Excel gestartet. Umgekehrt geht es aber nicht.
einen Weg dazu gibt es noch, wenn er auch etwas "unsauber" (s.u.) ist.
In "DieseArbeitsmappe":

Private Sub Workbook_Deactivate()
Dim n As String
If Workbooks.Count > 1 Then
Application.EnableEvents = False
With ActiveWorkbook
n = .FullName
.Close savechanges:=False
End With
Application.EnableEvents = True
Dim xlApp As Object
Set xlApp = CreateObject("Excel.Application")
On Error Resume Next
xlApp.Workbooks.Open Filename:=n
If Err.Number > 0 Then
xlApp.Quit
Else
xlApp.Application.Visible = True
End If
Set xlApp = Nothing
End If
End Sub

Wenn also die Mappe deaktiviert wird, wird die Zahl der offnen Mappe verglichen. Ist sie größer als 1, so wurde offensichtlich eine weitere Mappe geöffnet. Diese wird nun einfach wieder geschlossen und in einer neuen Instanz geöffnet.
Unsauber deshalb, weil z.B. eine Workbook_Open-Prozedur so zweimal gestartet wird, was z.B. bei einem Begrüßungsschirm etwas komisch ausschaut...
Bei "normalen" Excel-Dateien gibt es jedoch i.d.R. keine Probleme, außer dass für jede auf diese Art geöffnete Mappe eine neue Excel-Instanz gestartet wird.
Gruß Matthias
Anzeige
AW: Zweites Excel öffnen
22.01.2007 12:32:21
Peter
Hallo Matthias
Vielen Dank für den zweiten Vorschlag in VBA.
Ich werde beide Varianten gerne testen und mich anschliessend für eine entscheiden.
Freundliche Grüsse
Peter
AW: Zweites Excel öffnen
22.01.2007 12:36:58
Matthias
Hallo Peter,
das ist kein entweder-oder, sondern ein sowohl als auch.

  • die Exe-Datei startet deine Mappe in einer eigenen Instanz
  • der VBA-Code startet andere Mappen, die nach deiner geöffnet werden, in einer eigenen Instanz.

Gruß Matthias

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige