| |

Visual-Basic EinsteigerAnwendungs oder Objektorientierter Fehler | |  | Autor: Lord_Duke | Datum: 23.08.06 12:21 |
| Aloa,
ich habe ien Programm das Daten umwandelt und dann in eine Excel_Tabelle kopiert. Dafür habe ich folgenden Code und bei dem Durchlauf mit 12000 Einträger in Grid bricht das reinschreiben bei etwa 50% ab und als ErrorDescription bekomme ich "Anwendungs oder Objektorientierter Fehler"
On Error GoTo Ende
Dim lngMin As Long
Dim lngStd As Long
Dim lngTag As Long
Dim RestTag As Long
Dim Geliefert As String
Dim WunschDatum As String
Dim TransferDatum As String
Dim Dif1 As String
Dim Dif2 As String
Dim objXLApp As Object
Dim i As Long
Dim Testos As Long
Dim B As String
Set objXLApp = CreateObject("Excel.Application")
objXLApp.Visible = False
objXLApp.EnableEvents = True
objXLApp.Workbooks.Open ExcelPfad
i = 2
Testos = MSHFlexGrid1.Rows + 1
ProgressBar2.Max = Testos + 1
ProgressBar2.Min = 0
ProgressBar2.Value = 0
Do While i <> Testos
Geliefert = CStr(PPSTime.MSHFlexGrid1.TextMatrix(i, 66))
WunschDatum = CStr(PPSTime.MSHFlexGrid1.TextMatrix(i, 7))
TransferDatum = CStr(PPSTime.MSHFlexGrid1.TextMatrix(i, 5))
If (Geliefert <> "") And (WunschDatum <> "") And (TransferDatum <> "") Then
' Zeit-Differenz in Minuten
lngMin = DateDiff("n", CDate(TransferDatum), _
CDate(Geliefert))
lngTag = lngMin / 1440
RestTag = lngMin Mod 1440
lngStd = RestTag / 60
lngMin = RestTag Mod 60
Dif1 = lngTag & ":" & lngStd & ":" & lngMin
lngMin = DateDiff("n", CDate(WunschDatum), _
CDate(Geliefert))
lngTag = lngMin / 1440
RestTag = lngMin Mod 1440
lngStd = RestTag / 60
lngMin = RestTag Mod 60
Dif2 = lngTag & ":" & lngStd & ":" & lngMin
Else
Dif1 = ""
Dif2 = ""
End If
B = "A" & i
objXLApp.Worksheets(1).Range(B) = MSHFlexGrid1.TextMatrix(i, 2)
B = "B" & i
objXLApp.Worksheets(1).Range(B) = MSHFlexGrid1.TextMatrix(i, 22)
B = "C" & i
objXLApp.Worksheets(1).Range(B) = MSHFlexGrid1.TextMatrix(i, 5)
B = "D" & i
objXLApp.Worksheets(1).Range(B) = MSHFlexGrid1.TextMatrix(i, 7)
B = "E" & i
objXLApp.Worksheets(1).Range(B) = MSHFlexGrid1.TextMatrix(i, 66)
B = "F" & i
objXLApp.Worksheets(1).Range(B) = Dif1
B = "G" & i
objXLApp.Worksheets(1).Range(B) = Dif2
ProgressBar2.Value = i
i = i + 1
DoEvents
Loop
objXLApp.ActiveWorkbook.Close savechanges:=True
objXLApp.Quit
Dim lngHWnd As Long
Set objXLApp = Nothing MfG Lord_Duke
a.k.a. Loki
Design is 4 your Life and not for the others
________________________________________________________________
Windows XP Prof. SP 2 @ 2X 3,45 GHz P4 D ( 830) // DDR2 1024 MB //
GeForce 6600 GT Silent Pipe // 500 GB HDD |  |
 | 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
|
|