| |

VB.NET - FortgeschritteneRe: Excel Tabelle anlegen und editieren - Verzweiflung pur | |  | Autor: lurch | Datum: 01.04.09 16:29 |
| Habe es zuerst in VB.Net versucht, bin allerdings gescheitert, in VB Script bin ich schlicht und ergreifend nur richtig schlecht, trotz der Ähnlichkeit zu VB.Net (in dem ich wie du vll. schon bemerkt hast auch nicht gerade der Guru schlechthin bin :P ).
Mit Offset habe ich gearbeitet da Cells Range etc. dubioserweise nicht funktioniert haben.
Aber zu deiner Lösung:
VIELEN DANK! Das hat mir jetzt echt den Tag gerettet zu sehen wie das 5 mal hintereinander ausgeführt wurde ohne einen Absturz
Jetzt habe ich eigentlich (bis jetzt zumindest ;) ) nur noch ein Problem:
Das Programm soll automatisiert im Hintergrund auf einem Server laufen, die Datei mit den Daten für die Tabelle "überwachen" (will ich mit FileSystemWatcher lösen also den Code einfach ins .changed packen) und bei einer Änderung loslegen. Wenn jetzt allerdings diese Datei 2mal an einem Tag geändert wird, versucht Excel die alte Datei zu überschreiben, damit rückt das Programm allerdings in den Vordergrund und mit automatisert ist es dann auch nicht mehr so weit her... Gibts eine Möglichkeit einfach die Abfrage automatisch zu verneinen, ansonsten würde ich einfach vor dem Speichern eine If Abfrage machen ob die Datei schon existiert und dann eine (2) hintendranhängen oder gibt es da elegantere Methoden?
EDIT:
Habe jetzt mal ein neues Projekt erstellt mit deinem Code und meinen Code (der im "alten" Programm prima funktioniert hat) hinzugefügt. Leider stürzt das Programm jetzt sofort ab. Hier mal mein Code, oben und unten ist von dir damit du einen Überblick hast wo ich das eingefügt hab, vll. ist da ja schon der Fehler.
With ws.Cells(3, 4)
.Value = "Count Out:"
.Font.Bold = True
End With
Dim datum As Integer = 4
Dim Time As Integer = 4
Dim CIn As Integer = 4
Dim COut As Integer = 4
Dim flag As Boolean = False
Dim sYear As String = System.DateTime.Now.Year.ToString
Dim sMonth As String = System.DateTime.Now.Month.ToString
Dim sDay As String = System.DateTime.Now.Day.ToString
datum = datum + 1
Time = Time + 1
CIn = CIn + 1
COut = COut + 1
Dim CameraIni As String = My.Computer.FileSystem.ReadAllText( _
"C:\RR-Engineering\Export\Data\camera.ini")
Dim lines() As String = CameraIni.Split(Environment.NewLine)
Dim CountIn As String = lines(19).Substring(15)
'Dim CountOut As String = lines(20).Substring(16)
ws.Cells(CIn, 2).Value = CountIn
' ws.Cells(COut, 3).Value = CountOut
Try
wb.SaveAs(Datei, True)
Catch fehler As Exception
MsgBox(fehler.ToString)
End Try
wb.Close()
ws = Nothing
wb = Nothing
xl.Quit()
xl = Nothing Das interessante daran ist, dass der Code so wie er oben steht wunderbar ausgeführt wird, kommentier ich aber eine der beiden auskommentierten Zeilen (oder gar beide) wieder ein, ist Sabbatt. Die Datei hat tatsächlich so viele Zeilen, in meinem alten Programm hat genau dieser Code auch einwandfrei funktioniert. Trotzdem bekomme ich "Eine Ausnahme (erste Chance) des Typs "System.ArgumentOutOfRangeException" ist in mscorlib.dll aufgetreten."
Ausserdem überspringt der Debugger im Einzelschritt die Zeilen
Dim wb As Microsoft.Office.Interop.Excel.Workbook
Dim ws As Microsoft.Office.Interop.Excel.Worksheet ist das nur ein "Schöhnheitsfehler" oder wird der Code dort tatsächlich nicht ausgeführt, wenn ja weiß jemand warum?
Mit freundlichen Grüßen,
lurch
Beitrag wurde zuletzt am 01.04.09 um 16:48:23 editiert. |  |
 | 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! sevEingabe 3.0 
Einfach stark!
Ein einziges Eingabe-Control für alle benötigten Eingabetypen und -formate, inkl. Kalender-, Taschenrechner und Floskelfunktion, mehrspaltige ComboBox mit DB-Anbindung, ImageComboBox u.v.m. 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
|
|