| |

Visual-Basic EinsteigerDas Range - Objekt | |  | Autor: superzivi | Datum: 13.12.02 01:10 |
| Hallo!
Folgendes Problem:
ich öffne Excel von VB z.B. mit
Public xlApp as Object
Set xlApp = CreateObject("Excel.Application.9")
xlApp.Workbooks.Open App.Path & "\test.xls"
(oder ähnliches, z.B. Set xlApp = New Excel.Application usw.)
Dann laufen diverse Prozesse ab, die z.B. das Worksheet mit Daten aus einer Access - View füllen, Spalten, Farben, Rahmen, usw. einrichten.
Wenn ich Excel nun aus Excel beende, bleibt natürlich Ecxel als Task aktiv. Kein Problem, wenn ich aus VB Excel wieder starte, kommt ein Handling, das genau das kontrolliert und bei Bedarf den Speicher erst freigibt (Set xlApp = Nothing), bevor Ecxel neu gestartet wird, da ich ansonsten Probleme mit der Anzeige bekomme, langes Thema.
Problem:
Das funktioniert alles solange, wie ich kein Range - Objekt in meinen Subs verwende.
Ich kann schreiben was ich will, z.B.
Private Sub Fill_test()
Dim i As Integer
With xlApp.ActiveSheet
For i = 1 To 2
.Cells(1, i).Interior.ColorIndex = 30
Next i
End With
End Sub
Warum so umständlich? Genau das ist das Problem:
würde ich etwa
Private Sub Fill_test()
With xlApp.ActiveSheet
.Range(Cells(1, 1), Cells(1, 2)).Cells.Interior.ColorIndex = 30
End With
schreiben, was wesentlich komfortabler ist, und mehr Sinn macht, läuft beim 2. Aufruf
Set xlApp = Nothing
ins Leere, sprich Excel bleibt als Task aktiv, wird nochmal gestartet, an Stelle
.Range blabla
bekomme ich "Die Methode "Cells" für das Object "-Global" ist fehlgeschlagen.
Hat mit meinem Handling nix zu tun! Muss wohl irgendwie das Range - Object noch entladen, oder liege ich da völlig falsch?
Danke für Hilfe |  |
 | 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 |
  |
|
vb@rchiv CD Vol.6 vb@rchiv Vol.6
Geballtes Wissen aus mehr als 8 Jahren vb@rchiv!
Online-Update-Funktion Entwickler-Vollversionen u.v.m.Jetzt zugreifen Tipp des Monats Oktober 2025 Matthias KozlowskiUmlaute konvertierenErsetzt die Umlaute in einer Zeichenkette durch die entsprechenden Doppelbuchstaben (aus ä wird ae, usw.) Neu! sevPopUp 2.0 
Dynamische Kontextmenüs!
Erstellen Sie mit nur wenigen Zeilen Code Kontextmenüs dynamisch zur Laufzeit. Vordefinierte Styles (XP, Office, OfficeXP, Vista oder Windows 8) erleichtern die Anpassung an die eigenen Anwendung... Weitere 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
|
|