| |

Visual-Basic EinsteigerVB6: 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 |  |
 | 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 |
  |
|
Neu! sevDTA 3.0 Pro 
SEPA mit Kontonummernprüfung
Erstellen von SEPA-Dateien mit integriertem BIC-Verzeichnis und Konto- nummern-Prüfverfahren, so dass ungültige Bankdaten bereits im Vorfeld ermittelt werden können. Weitere InfosTipp des Monats Oktober 2025 Matthias KozlowskiUmlaute konvertierenErsetzt die Umlaute in einer Zeichenkette durch die entsprechenden Doppelbuchstaben (aus ä wird ae, usw.) Access-Tools Vol.1 
Über 400 MByte Inhalt
Mehr als 250 Access-Beispiele, 25 Add-Ins und ActiveX-Komponenten, 16 VB-Projekt inkl. Source, mehr als 320 Tipps & Tricks für Access und VB
Nur 24,95 EURWeitere Infos
|
|
|
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
|
|