GetObject findet offene Instanz nicht

30/03/2013 - 09:02 von Ahmed Martens | Report spam
Hallo Leute,

in einem VB6-Modul verwende ich folgenden Code zum Instanzieren einer
offenen Excel-Instanz. Diese funktioniert aber nicht richtig:

<Code Auszug>
Dim xlObj As Excel.Application, objActiveWkb As Excel.Workbook,
objXLSheet As Excel.Worksheet

On Error Resume Next
'Verweis auf offenen Excel
Set xlObj = GetObject(, "Excel.Application")
'Wenn kein Excel, dann neu öffnen

If xlObj Is Nothing Then
Set xlObj = CreateObject("Excel.Application")

With xlObj
.Application.Visible = False
Set objActiveWkb = .Workbooks.Add
Set objXLSheet = objActiveWkb.Sheets(1)
End With

Else
With xlObj
'.Application.Visible = False
Set objActiveWkb = .ActiveWorkbook
Set objXLSheet = objActiveWkb.Sheets.Add
End With
End If

On Error GoTo Excel_Export_Error

<Ende Code Auszug>

Folgender Fehler tritt auf:

1. Ist bereits eine Instanz geöffnet, wird diese nicht gefunden, sondern
mein Code öffnet *immer* eine eigene neue Instanz.

2. Ist diese einmal geöffnet worden, wird diese jetzt immer wieder
richtig als geöffnet instanziert und es wird jetzt jedesmal in die
geöffnete Tabelle ein neues Sheet eingefügt.

Hat einer eine Idee woran es liegen kann?
Ich verwende diesen Code in einem VB6-Programm.

Kann mir einer vielleicht helfen?
Vielen Dank im voraus.

Gruß Ahmed

Antworten bitte nur in der Newsgroup
Windows 7 64bit Home Premium
Office Prof. 2010
 

Lesen sie die antworten

#1 Claus Busch
30/03/2013 - 10:31 | Warnen spam
Hallo Ahmed,

Am Sat, 30 Mar 2013 09:02:52 +0100 schrieb Ahmed Martens:

in einem VB6-Modul verwende ich folgenden Code zum Instanzieren einer
offenen Excel-Instanz. Diese funktioniert aber nicht richtig:



[Code ausgeschnitten]

Die GetObject-Funktion wird benötigt, wenn eine Komponente bereits in
einer Datei abgespeichert wurde und nun wieder aktiviert werden soll.
CreateObject(ProgID)
GetObject([Pfadname] , (ProgID]
Sehr wahrscheinlich wird dir deswegen eine neue Instanz geöffnet.


Mit freundlichen Grüßen
Claus Busch
Win XP Prof SP3 / Vista Ultimate SP2
Office 2003 SP3 /2007 Ultimate SP3

Ähnliche fragen