Hallo zusammen,
ich hoffe mir kann hier jemand weiterhelfen. Ich bin gerade dabei ein Programm zu schreiben das Daten aus einer .ini ausliest und diese dann schön verpackt in eine (davor neu erstellte) Excel Tabelle schreibt.
Leider funktioniert das ganze überhaupt nicht so wie ich mir das vorstelle ;) Im Prinzip funktioniert alles, allerdings nur ab und zu mal. Mein Programm stürzt (im Debugmodus von Visual Studio) mal ab bevor eine Zeile Code ausgeführt wurde, dann geht mal alles einwandfrei und bei nächstem mal überspringt er mir einfach mehrere Zeilen Code - das alles selbstverständlich ohne ein wiederkehrendes Muster oder sonstige Logik
Ich sitze schon seit Tagen an dem Problem und komm leider effektiv nicht weiter, bzw. finde einfach den Fehler nicht. Hier mal etwas Code, vielleicht (ziemlich sicher) werdet ihr ja aus dem ganzen schlauer als ich
Die neue Excel Datei erstelle ich über ein .vbs, welches ich mit "Shell" in meinem "richtigem" Programm ausführ. Der Code für das Script ist:
dtmDate = Date
strMonth = Month(Date)
strDay = Day(Date)
strYear = Year(Date)
strFileName = "C:\1\" & strDay & "-" & strmonth & "-" & strYear & ".xls"
Set objExcel = CreateObject("Excel.Application")
objExcel.Visible = True
Set objWorkbook = objExcel.Workbooks.Add()
objWorkbook.SaveAs(strFileName)
objExcel.Quit Den Excel Zugriff mache ich hiermit:
Dim xlApp As Microsoft.Office.Interop.Excel.Application
Dim xlMappe As Microsoft.Office.Interop.Excel.Workbook
Dim xlBlatt As Microsoft.Office.Interop.Excel.Worksheet
Dim xlZelle As Microsoft.Office.Interop.Excel.Range
xlApp = New Microsoft.Office.Interop.Excel.Application
xlApp.Visible = False
xlMappe = xlApp.Workbooks.Open(strfilename)
xlBlatt = xlMappe.Worksheets(1)
xlZelle = xlBlatt.Range("A1")
xlZelle.Offset(0, 0).Value = "Aimetis In/Out Counter:"
xlZelle.Offset(0, 0).Font.FontStyle = "lucida fax"
xlZelle.Offset(0, 0).Font.Underline = True
xlZelle.Offset(0, 0).Font.Bold = True
xlZelle.Offset(0, 0).Font.Size = 12
xlZelle.Offset(2, 0).Value = "Datum:"
xlZelle.Offset(2, 0).Font.Bold = True
MsgBox("a")' <-- als test eingefügt, alle par ausführungen wird
' der code hier einfach übersprungen (die msgbox erscheint
' nicht)
xlZelle.Offset(2, 2).Value = "Count In:"
xlZelle.Offset(2, 2).Font.Bold = True
xlZelle.Offset(2, 3).Value = "Count Out:"
xlZelle.Offset(2, 3).Font.Bold = True
xlZelle.Offset(datum, 0).Value = "=HEUTE()"
xlZelle.Offset(CIn, 2).Value = CountIn
xlZelle.Offset(COut, 3).Value = CountOut
xlMappe.Save()
xlMappe.Close()
xlApp = Nothing
xlApp.Quit() Achja ich arbeite mit Visual Studio 2008. Schonmal Vielen Dank für die Hilfe im Vorraus!
Mit freundlichen Grüßen,
lurch
Beitrag wurde zuletzt am 01.04.09 um 15:04:00 editiert. |