| |

VB.NET - FortgeschritteneRe: Excel Tabelle anlegen und editieren - Verzweiflung pur | |  | Autor: lurch | Datum: 02.04.09 14:30 |
| Jap wunderbar erklärt
Jetzt funktioniert wirklich alles, mein einziges Problem ist jetzt folgendes:
Ich verwende eine CheckedListBox in der Zahlen von 1-x stehen. Jede Zahl steht für eine andere Datei, genau gleich aufgebaut, der gleiche Name nur eben in einem anderem Ordner - praktischerweise auch von 1-x benannt. Man soll jetzt in der CLB auswählen können zB 1, 3 und 7 und diese dann "exportieren".
Ich habe versucht das ganze mit einer Vorschleife und ein par Variablen zu lösen, das funktioniert allerdings nur bei der ersten Datei, danach bekomme ich: "Der Objektverweis wurde nicht auf eine Objektinstanz festgelegt. Eine Ausnahme (erste Chance) des Typs "System.NullReferenceException" ist in WindowsApplication1.exe aufgetreten."
Der Code dazu sieht so aus:
Private Sub Export() Handles Button1.Click
Dim timestamp As String = My.Computer.FileSystem.ReadAllText( _
"C:\Export\Data\timestamp.dll")
If System.DateTime.Now.Hour = "0" Then
If timestamp = System.DateTime.Now.DayOfYear Then
Exit Sub
Else
Dim xl As New Microsoft.Office.Interop.Excel.Application
Dim wb As Microsoft.Office.Interop.Excel.Workbook
Dim ws As Microsoft.Office.Interop.Excel.Worksheet
wb = xl.Workbooks.Add
Dim kamera As String
Dim ctr As Integer = 0
Dim zähler As Integer = CheckedListBox1.CheckedItems.Count
Do Until ctr = zähler
kamera = CheckedListBox1.CheckedItems(ctr).ToString
ctr = ctr + 1
My.Computer.FileSystem.CreateDirectory("C:\Export\Exceltabellen\" & _
kamera)
Dim Datei As String = "C:\RR-Engineering\Export\Exceltabellen\" & _
kamera & "\" & Format(Now, "yyyy-MM-dd_HH_mm_ss") & _
".xls"
ws = wb.Worksheets(1)
With ws.Cells(1, 1)
.Value = "Aimetis In/Out Counter:"
.Font.FontStyle = "lucida fax"
.Font.Underline = True
.Font.Bold = True
.Font.Size = 12
End With
With ws.Cells(3, 1)
.Value = "Datum:"
.Font.Bold = True
End With
With ws.Cells(3, 3)
.Value = "Count In:"
.Font.Bold = True
End With
With ws.Cells(3, 4)
.Value = "Count Out:"
.Font.Bold = True
End With
With ws.Cells(5, 1)
.value = "=HEUTE()"
End With
'Dim datum As Integer = 4
'Dim zeit 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
'zeit = zeit + 1
CIn = CIn + 1
COut = COut + 1
Dim CameraIni As String = My.Computer.FileSystem.ReadAllText( _
"C:\1\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, 3).Value = CountIn
ws.Cells(COut, 4).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
My.Computer.FileSystem.WriteAllText("C:\Export\Data\timestamp.dll", _
System.DateTime.Now.DayOfYear, False)
End If
Else
Exit Sub
End If
abc = True
Loop
End Sub Nochmal ein dickes Danke
Mit freundlichen Grüßen,
lurch
Beitrag wurde zuletzt am 02.04.09 um 14:33:49 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 |
  |
|
Neu! sevCommand 4.0 
Professionelle Schaltflächen im modernen Design!
Mit nur wenigen Mausklicks statten auch Sie Ihre Anwendungen ab sofort mit grafischen Schaltflächen im modernen Look & Feel aus (WinXP, Office, Vista oder auch Windows 8), inkl. große Symbolbibliothek. 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
|
|