Es gibt 14 Antworten in diesem Thema. Der letzte Beitrag () ist von Bahaoth.
Open Strict on lässt spätes Binden nicht zu
Hallo,
nachdem ich nun mir angewöhnt habe Open Strict On habe ich bei meiner " In EXEL SPEICHER FUNKTION"
ein paar Fehler.
Die Fehleranzeige ist: Open Strict On lässt spätes Binden nicht zu.
Wie kann ich das beheben?
Du kannst in den richtigen Typ casten. Mit mehr Code gibt's bessere Antworten.
VB.NET-Quellcode
Function Speichernex() AsBoolean
Dim oExcel AsObject
Dim oBook AsObject
Dim oSheet AsObject
Dim SPfad AsString
Dim S1, S2, S3, S4, S5, S6 AsString
oExcel =CreateObject("Excel.Application")
oBook = oExcel.Workbooks.Add
oSheet = oBook.Worksheets(1)
oSheet.Range("A1").Value ="Netz:"
oSheet.Range("A2").Value ="Art:"
oSheet.Range("A3").Value ="p/n:"
oSheet.Range("A4").Value ="Schritte:"
oSheet.Range("A1:A4").Font.Bold =True
oSheet.Range("D1").Value ="maxDelta:"
oSheet.Range("D1").Font.Bold =True
oSheet.Range("A6").Value ="Durchgang"
oSheet.Range("B6").Value ="Geschafft"
oSheet.Range("C6").Value ="Verbessert"
oSheet.Range("D6").Value ="Durchläufe"
oSheet.Range("E6").Value ="n. Geschafft"
oSheet.Range("F6").Value ="g.Verbesserung"
oSheet.Range("A6:F6").Font.Bold =True
oSheet.Range("B1").Value = Netz.ToString
oSheet.Range("B2").Value = Art.ToString
oSheet.Range("B3").Value = pon.ToString
oSheet.Range("B4").Value = schritte.ToString
oSheet.Range("D1").Value = maxDelta.ToString
For i AsInteger=0To (schritte -1)
S1 ="A"+ (i +7).ToString
S2 ="B"+ (i +7).ToString
S3 ="C"+ (i +7).ToString
S4 ="D"+ (i +7).ToString
S5 ="E"+ (i +7).ToString
S6 ="F"+ (i +7).ToString
oSheet.Range(S1).Value = i +1
oSheet.Range(S2).Value = ex(i +1, 0)
oSheet.Range(S3).Value = ex(i +1, 1)
oSheet.Range(S4).Value = ex(i +1, 2)
oSheet.Range(S5).Value = ex(i +1, 3)
oSheet.Range(S6).Value = ex(i +1, 4)
Next
'Save the Workbook and Quit Excel
SPfad = O1 +"\Protokoll.xls"
oBook.SaveAs(SPfad)
oExcel.Quit()
Wo tritt der Fehler auf?
oExcel.Workbooks
oBook.Worksheets
oSheet.Range
oBook.SaveAs
oExcel.Quit
also bei allem xD
Dim oExcel As Object
Dim oBook As Object
Dim oSheet As Object
Du musst dem Compiler schon sagen, was das ist.
Ich kann dir das leider nicht sagen, weil ich noch nicht mit Excel und VB gearbeitet hab.
Aber ich nehme mal an, sowas wie oSheet as Worksheet oder so.
Gruß
manawyrm
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Manawyrm“ ()
Anstatt Object kannst Du direkt den richtigen Datentyp nehmen
also nicht
VB.NET-Quellcode
Dim oExcel AsObject
Dim oBook AsObject
Dim oSheet AsObject
sondern
VB.NET-Quellcode
Dim xlExcel AsNew Excel.Application
Dim xlBook As Excel.Workbook = xlExcel.Workbooks.Add
Dim xlSheet As Excel.Worksheet =CType(xlBook.Worksheets(1), Excel.Worksheet)
Dort bekomme ich Fehler bei:
Excel.Application
Excel.Workbook
Excel.Worksheet
Das Excel.Irgendwas nicht definiert ist.
Muss ich irgendwas importieren?
Sorry, hab vergessen zu erwähnen. Verweis auf Excel Object Library und
VB.NET-Quellcode
Imports Microsoft.Office.Interop
Die fehler bleiben leider,
ebenfalls wird das Import Grün unterstrichen
Hast du einen Verweis darauf gesetzt?
1. heißt es Imports
2. Ist der Verweis auf Excel Object Library vorhanden?
Öhm Öhm Öhm
ich bin ein totaler blutigher Anfänger, was ist ein Verweis xD
Mit Verweis bindest Du externe Klassenbibliotheken ein, die deiner Anwendung zusätzliche Klassen, Methoden, etc. zur Verwendung bereitstellen. In diesem konkreten Fall geht es um die Methoden und Objekten aus Excel-VBA.
Um einen Verweis zu setzen:
-> Rechte Maustate auf Projektname -> Verweis hinzufügen -> COM - Registerkarte -> Excel ....
Danke für die Gedult und die Erklärungen.
Klappt alles