Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

GetObject findet offene Instanz nicht

26 views
Skip to first unread message

Ahmed Martens

unread,
Mar 30, 2013, 4:02:52 AM3/30/13
to
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

Claus Busch

unread,
Mar 30, 2013, 5:31:11 AM3/30/13
to
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

Ahmed Martens

unread,
Mar 30, 2013, 5:39:37 AM3/30/13
to
Hallo Claus,
Am Sat, 30 Mar 2013 10:31:11 +0100 schrieb Claus Busch:

> 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


also ich habe jetzt auch einmal mit

Set xlObj = GetObject("C:\Users\Ahmed\Desktop\Mappe1.xlsx",
"Excel.Application")

versucht. Diese Datei ist ge�ffnet und dennoch wird diese nicht
gefunden.

Ich begreife das einfach nicht.

Claus Busch

unread,
Mar 30, 2013, 5:50:01 AM3/30/13
to
Hallo Ahmed,

Am Sat, 30 Mar 2013 10:39:37 +0100 schrieb Ahmed Martens:

> also ich habe jetzt auch einmal mit
>
> Set xlObj = GetObject("C:\Users\Ahmed\Desktop\Mappe1.xlsx",
> "Excel.Application")
>
> versucht. Diese Datei ist ge�ffnet und dennoch wird diese nicht
> gefunden.

aber es wird versucht sie nochmals zu �ffnen?
Warum schlie�t du nicht Excel und �ffnest dann neu ohne die Abfrage?


Mit freundlichen Gr��en
Claus Busch

Ahmed Martens

unread,
Mar 30, 2013, 6:53:23 AM3/30/13
to
Am Sat, 30 Mar 2013 10:50:01 +0100 schrieb Claus Busch:

> Hallo Ahmed,
>
> Am Sat, 30 Mar 2013 10:39:37 +0100 schrieb Ahmed Martens:
>
>> also ich habe jetzt auch einmal mit
>>
>> Set xlObj = GetObject("C:\Users\Ahmed\Desktop\Mappe1.xlsx",
>> "Excel.Application")
>>
>> versucht. Diese Datei ist ge�ffnet und dennoch wird diese nicht
>> gefunden.
>
> aber es wird versucht sie nochmals zu �ffnen?
> Warum schlie�t du nicht Excel und �ffnest dann neu ohne die Abfrage?

weil die Excel-Datei sp�ter von einem Fremdprogramm erstellt wird und
ich auf diese offene Instanz von meinem Programm verweisen m�chte.

Ich werde das ganze aber jetzt anders angehen.
Ich erstelle mir einfach ein Tool unter VBNet. Dort funktioniert
komischerweise der Verweis auf eine bereits ge�ffnete Instanz.
Ich vermute einmal, dass mein Programm irgendetwas vermurkst hat.

Claus Busch

unread,
Mar 30, 2013, 7:28:22 AM3/30/13
to
Hallo Ahmed,

Am Sat, 30 Mar 2013 11:53:23 +0100 schrieb Ahmed Martens:

> Ich werde das ganze aber jetzt anders angehen.
> Ich erstelle mir einfach ein Tool unter VBNet. Dort funktioniert
> komischerweise der Verweis auf eine bereits ge�ffnete Instanz.
> Ich vermute einmal, dass mein Programm irgendetwas vermurkst hat.

du kannst auch mal hier rein schauen:
http://msdn.microsoft.com/de-de/library/1f3ys1f9(v=vs.80).aspx
oder hier:
http://www.microsoft.com/germany/technet/datenbank/articles/600682.mspx

Ahmed Martens

unread,
Mar 31, 2013, 5:43:39 AM3/31/13
to
Hallo Claus,

also es ist schon komisch. Jetzt wo ich ein kleines Tool in VBNet
erstellt habe, funktioniert auch mein Hauptprogramm richtig. Vielleicht
kam es immer nur in der VB-IDE zu diesem Fehler und nicht in der
kompilierten Endfassung.

Lange Rede, kurzer Sinn! Jetzt funktioniert alles einwandfrei, auch wenn
nicht ganz nachvollziehbar.

Vielen Dank f�r Deine Hilfe.

Frohe Ostern.
0 new messages