Schön guten Tag,
ich habe mir VS2013 gekauft, nachdem ich mit VS2010 Express gute Arbeiten die ich mit Delphi auch zu Beginn erzielte auch schafte. Meine Delphikentnisse sind leider auch mittlerweile nach 4 Jahren eingestaubt. Ich habe dort mit der Personal Edition programmiert, den Binarie durfte ich aber nicht freigeben. Dies sah in VS2010 Express anders aus. Nun entschloss ich mich Systemnah zu Programmieren. Auch habe ich mit VS2013 Pro und Windows 8.1 Pro erworben. Office nutze ich hingegen in der office 365 Fassung (wegen Updates)
Mein erstes Problem bestand darin, das ich immer wieder eine Nullreferenz bei der Erstellung eines Worksheet erhielt, als ich es zu Object deklarierte, lief die Anwendung an. Ich finde negativ, das mir die Membereigenschaften und -methoden nicht mehr dargestellt werden, weil dies mir doch die Arbeit von dem Suchen her erleichtert, da ich noch kein Routinierter Nutzer bin.
Ich habe in Proejkte->Verweise das Häckchen bei Microsoft.Office.Interop.Excel in der Version 15.0.0.0
Nun wenn ich folgenden Source kompiliere funktioniert dieser auf meiner Maschine wunderbar.
Auf einer Maschine wo Windows 7 und Office 14 (2010) läuft geht dieser nicht. Nun meine Idee war, vielleicht liegt es ja am Office. Aber ich kann doch nicht Office 2003 installieren weil ich dafür keine Lizenz habe. Der Windows 7 PC wird von meiner Bildungseinrichtung administriert, da ich derzeit eine Umschulung zum IT-Kaufmann mache. Auf dem Computer erscheint, das das Programm nicht mehr funktioniert, es gibt die möglichkeit das Programm zu schließen. Liegt das nun wirklich am Excel oder mache ich was falsch?
Meine Anwendung erstellt derzeit das kleine 1mal1. Es ist sinnlos, es sollte nur die Funktionalität zeigen. Später soll nur gelesen werden, von mehren Dateien aber bis dahin, scheint eine Anpassung nötigt zu sein, damit erstmal eine Datei richtig funktioniert.
Ich hoffe mir kann man helfen, da ich den Fehler nicht finde bzw. eine Korrekte Einstellung/Einrichtung korrekt läuft.
So hier nun die Form-Klasse
Liebe Grüße
dlosse
ich habe mir VS2013 gekauft, nachdem ich mit VS2010 Express gute Arbeiten die ich mit Delphi auch zu Beginn erzielte auch schafte. Meine Delphikentnisse sind leider auch mittlerweile nach 4 Jahren eingestaubt. Ich habe dort mit der Personal Edition programmiert, den Binarie durfte ich aber nicht freigeben. Dies sah in VS2010 Express anders aus. Nun entschloss ich mich Systemnah zu Programmieren. Auch habe ich mit VS2013 Pro und Windows 8.1 Pro erworben. Office nutze ich hingegen in der office 365 Fassung (wegen Updates)
Mein erstes Problem bestand darin, das ich immer wieder eine Nullreferenz bei der Erstellung eines Worksheet erhielt, als ich es zu Object deklarierte, lief die Anwendung an. Ich finde negativ, das mir die Membereigenschaften und -methoden nicht mehr dargestellt werden, weil dies mir doch die Arbeit von dem Suchen her erleichtert, da ich noch kein Routinierter Nutzer bin.
Ich habe in Proejkte->Verweise das Häckchen bei Microsoft.Office.Interop.Excel in der Version 15.0.0.0
Nun wenn ich folgenden Source kompiliere funktioniert dieser auf meiner Maschine wunderbar.
Auf einer Maschine wo Windows 7 und Office 14 (2010) läuft geht dieser nicht. Nun meine Idee war, vielleicht liegt es ja am Office. Aber ich kann doch nicht Office 2003 installieren weil ich dafür keine Lizenz habe. Der Windows 7 PC wird von meiner Bildungseinrichtung administriert, da ich derzeit eine Umschulung zum IT-Kaufmann mache. Auf dem Computer erscheint, das das Programm nicht mehr funktioniert, es gibt die möglichkeit das Programm zu schließen. Liegt das nun wirklich am Excel oder mache ich was falsch?
Meine Anwendung erstellt derzeit das kleine 1mal1. Es ist sinnlos, es sollte nur die Funktionalität zeigen. Später soll nur gelesen werden, von mehren Dateien aber bis dahin, scheint eine Anpassung nötigt zu sein, damit erstmal eine Datei richtig funktioniert.
Ich hoffe mir kann man helfen, da ich den Fehler nicht finde bzw. eine Korrekte Einstellung/Einrichtung korrekt läuft.
So hier nun die Form-Klasse
VB.NET-Quellcode
- Imports Excel = Microsoft.Office.Interop.Excel
- Public Class Form1
- Private objXls As New Excel.Application
- Private xlsWS As New Object
- Public Sub StartExcel(ByVal Path As String)
- objXls.Visible = False
- objXls.Workbooks.Open(Path)
- xlsWS = objXls.ActiveSheet
- End Sub
- Private Sub DoSomething()
- xlsWS = objXls.ActiveSheet
- For n = 1 To 10
- For i = 1 To 10
- xlsWS.Cells(n, i).value = n * i
- Debug.Print((n * i))
- Next i
- Next n
- GetAllTabs()
- End Sub
- Private Sub GetAllTabs()
- For Each ws As Excel.Worksheet In objXls.Sheets
- Debug.Print(ws.Name)
- Next
- End Sub
- Public Sub CloseExcel()
- objXls.ActiveWorkbook.Save() 'Speichert die aktuellen Änderungen
- objXls.ActiveWorkbook.Close() 'Schließt die Arbeitsmappe
- objXls.DisplayAlerts = False
- objXls.Quit()
- End Sub
- Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
- OpenFileDialog1.ShowDialog()
- StartExcel(OpenFileDialog1.FileName)
- DoSomething()
- CloseExcel()
- End Sub
- End Class
Liebe Grüße
dlosse