Live-Forum - Die aktuellen Beiträge
Datum
Titel
17.04.2024 18:57:33
17.04.2024 16:56:58
Anzeige
Archiv - Navigation
500to504
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
500to504
500to504
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Isolierte Excel Instanz

Isolierte Excel Instanz
14.10.2004 17:31:32
Henry
Hallo zusammen,
ich habe folgendes Problem und hoffe, es kann mir irgendjemand einen Tipp geben:
Ich habe ein Add-In erstellt, dass einen komplett neuen Menüaufbau und besondere Funktionen beinhaltet. (Ist für eine Berichtsportallösung)
Nun möchte ich aber verhindern, dass die Anwender über den Explorer eine Excel-Datei öffnen und diese dann in der Excelinstanz mit den (durch das Add-In) geänderten Menüs ausgeführt wird. Stattdessen sollte eine neue Instanz ohne das besagte Add-In gestartet werden oder die Datei in einer vielleicht bereits bestehenden Excel-Instanz (in der auch das Add-In nicht aktiv ist) geöffnet werden. Ich vermute mal, man wird die Instanzenzuordnung beim Doppelklick im Explorer nicht beeinflussen können (oder doch?), könnte mir aber vorstellen, dass man diese Datei vielleicht in eine neue Instanz überleiten kann, oder?
Hat jemand da eine Idee, wie das zu realisieren ist? Oder einen Tipp, wo ich suchen kann?
Vielen Dank im Voraus und viele Grüße
Henry

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Isolierte Excel Instanz
14.10.2004 17:50:43
Matthias
Hallo Henry,
ich hab mal was ähnliches mit einer Mappe (also keinem Add-In) benötigt.
Wird 1:1 bei dir nicht funktionieren, aber vielleicht sind Anregungen dabei:
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 New 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
Gruß Matthias
Anzeige
AW: Isolierte Excel Instanz
Henry
Hallo Matthias,
Vielen Dank für den Code! Das ist doch genau der workaround, den ich meinte. Super!
Da ich einen eingegrenzten Bereich von Workbooks habe, die über das Add-In angesteuert
werden können, dürfte es nicht schwer sein, das Makro entsprechend anzupassen.
Danke Dir!
Grüße
Henry
AW: Isolierte Excel Instanz
Bert
Ganz schlecht: Dim xlApp As New Excel.Application
Bert
AW: Isolierte Excel Instanz
15.10.2004 07:46:10
Matthias
Hallo Bert:
ganz gut dagegen: deine konstruktive Kritik!
Hast du nicht ein paar Worte übrig, was daran so schlecht ist?
Gruß Matthias
AW: Isolierte Excel Instanz
Henry
Hallo Ihr beiden,
ich vermute, Bert meinte die implizite Zuweisung.
Von der sauberen Programmierung her ist es ordentlicher, erst die Zeigervariable
(Dim xlApp as Excel.Application) zu definieren und dann mit "Set xlApp = New Excel.Application" fortzufahren.
Stimmt's Bert?
Wäre aber wirklich in Foren angebracht, diese Kritik näher zu erläutern...
Grüße
Henry
Anzeige
AW: Isolierte Excel Instanz
15.10.2004 11:12:34
Matthias
Hallo Henry,
vielen Dank für den Hinweis!
Ich werde es in Zukunft beherzigen.
Gruß Matthias
AW: Isolierte Excel Instanz
Bert
Dim xlApp as Object
Set xlApp = CreateObject("Excel.Application")
Selbst MS warnt davor sogenannte "Stehaufmännchen" Objekte mit As New zu erzeugen,
die schwer wieder zu entsorgen sind.
Bert
AW: Danke, Bert - o.T.
15.10.2004 12:17:59
Matthias
-

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige