vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
NEU! sevCoolbar 3.0 - Professionelle Toolbars im modernen Design!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2025
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

Visual-Basic Einsteiger
VB6: mehrere Excel-Prozesse - Probleme beim Schließen 
Autor: megatommy
Datum: 15.08.05 17:01

Hallo an alle Leser,

hab gerade ein Problem mit VB6 und Excel, bei dem ich
noch keine Lösung gefunden habe:

Ich öffne aus meinem Programm heraus eine Excel-Tabelle,
somit auch einen Excel-Prozess, der auch im Taskmanager
angezeigt wird und im Hintergrund super funktioniert.

Öffnet nun jemand eine Excel-Datei während mein Programm
läuft, erscheint diese Excel-Datei auch im Vordergrund
in der gewohnten Excel-Umgebung. Allerdings kommt nun
gleichzeitig ein zweites Fenster auf, indem der durch mein
Programm initiierte Prozess zu sehen ist.

1. Frage: Kann man das unterbinden?

Schließt nun der Benutzer die von ihm geöffnete Excel-Datei
wieder (über das rote Kreuz oben rechts, spricht Excel
komplett beenden), geht Excel auch brav und artig
zu und es verbleibt im Taskmanager der durch mein
Programm gestartete "alte" Excel-Prozess übrig. Soweit
sogut, nur gibt es jetzt einen Laufzeitfehler 424, Objekt
nicht vorhanden. Anscheinend geht durch das Schließen des
Excel durch den Benutzer die Objektzuordnung in meinem
Programm verloren.

2. Frage: Kann man das verhindern? Oder muß man diesen
Fehler bewußt abfragen und wenn er auftaucht,
mit Set... die Excel-Objektzuordnungen erneut
zuweisen? Oder gar einen neuen Excel-Prozess
starten?

Im folgenden mal der Quelltext für die Initialisierung
des Excel-Prozesses:

' Variablen (in enem Modul gespeichert)
Public xclApp As Object ' As Object
Public boolAppLoad As Boolean
Public xclWbk As Object ' As Object
Public boolWbkLoad As Boolean
Public xclSht As Object ' As Object
Public strFile As String


' Datei benennen
strFile = Form1.path + "\Test.mqd"

' Excel referenzieren
Set xclApp = GetObject(, "Excel.Application")

' Excel jetzt starten
Set xclApp = CreateObject("Excel.Application")

''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
xclApp.EnableEvents = False 'schnellere verarbeitung
xclApp.DisplayAlerts = False 'geschwätzigkeit abstellen
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

' Workbook referenzieren
Set xclWbk = xclApp.Workbooks.Item(strFile)

' Workbook öffnen
Set xclWbk = xclApp.Workbooks.Open(strFile, _
, , , , , , , , , , , False)

' Erste Tabelle referenzieren
Set xclSht = xclWbk.Worksheets(1)

Verarbeitung.....


Ich bedanke mich im Voraus für alle Lösungsvorschläge,
Gruß Thomas
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
VB6: mehrere Excel-Prozesse - Probleme beim Schließen1.659megatommy15.08.05 17:01
Re: VB6: mehrere Excel-Prozesse - Probleme beim Schließen952Lord_Duke16.08.05 10:46

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2025 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel