| |
VB.NET - Ein- und UmsteigerWindows 10 (Entwicklung) und Windows (UserUmgebung) | | | Autor: Marja | Datum: 18.04.18 10:30 |
| Hallo zusammen,
nun dachte ich, dass ich alles richtig gemacht habe und ich bereits auf Win10 entwickeln kann, die User aber unter Win7 dann das Frontend ganz normal benutzen können und schon taucht der erste Fehler auf.
Der Fehler tritt auf, wenn ich Daten via Excel exportieren möchte.
Unhandled execption has occurred in your application. If you click Continue will ignore this error and attempt to contuine. If you click Quit, the application will Close immediately.
Could not load file or assembly 'Microsoft.Office.Interop.Excel. Version=15.0.0.0. Culture= neutral. PublicKey Token=71e9bce111e9429c' or one of ist dependencies. Das System kann die angegebene Datei nicht finden.
Unter Win7 läuft Office 2013 und unter Win10 läuft Office 2016. Wie kann ich das nun am güngstigsten so variable gestalten ohne das ich für Win10 und Win7 jeweils eine Frontend erstellen muss? Unter den Verweisen lege ich das ja fest fest. Kann ich das irgendwie auch variabel gestalten? Wenn die Frontend unter Win7 gestartet wird soll er auf Office 2013 zurückgreifen, wird die gleiche Frontend unter Win10 gestartet dann soll er auf Office 2016 zurückgreifen?
Hoffe auf Eure Hilfe
Gruß Marja | |
Re: Windows 10 (Entwicklung) und Windows (UserUmgebung) | | | Autor: Marja | Datum: 18.04.18 12:09 |
| Wie meinst Du das?
Ungebunden, dass ich das nicht als festen Verweis hinterlege? | |
Re: Windows 10 (Entwicklung) und Windows (UserUmgebung) | | | Autor: effeff | Datum: 18.04.18 13:12 |
| Genau. Ungebunden ist ohne festen Verweis. Das sieht dann z. B. so aus:
Dim x As Object
Dim wb As Object
Dim ws As Object
x=CreateObject("Excel.Application")
wb=x.Workbooks.Add()
ws=wb.Sheets("Tabelle1")
ws.Cells(1, 1).Value="Hier steht was"
wb.SaveAs("d:\irgendwas.xlsx")
wb.Close
ws=Nothing
sb=Nothing
x.Quit
x=Nothing EALA FREYA FRESENA | |
Re: Windows 10 (Entwicklung) und Windows (UserUmgebung) | | | Autor: Franki | Datum: 19.04.18 02:33 |
| Hallo,
du hast da einen Gedankenfehler, denn es gibt verschiedene Windwos und Office Versionen die erst mal nichts miteinander zu tun haben. Unter Win10 kann ja jede kompatible Office Version laufen, unter Win7 ebenfalls. Du müsstest also beides abfragen.
Nur dann und auch nur dann wenn du ein Feature der jeweiligen Wndwows- oder Office Version absolut voraus setzt mußt du genau prüfen. In den allermeisten Fälle ist es egal welche Windows oder Office Version da grade läuft.
Gruß
Frank | |
Re: Windows 10 (Entwicklung) und Windows (UserUmgebung) | | | Autor: Marja | Datum: 24.04.18 06:53 |
| Super noch einmal, das funktioniert soweit alles ganz gut (Sorry das ich mich jetzt erst melde, aber es gibt immer mal wieder ein paar Fehler die ich korrigieren muss).
Nun läuft das wie gesagt ungebunden ganz gut (warum habe ich das vorher nur nicht gemacht?)
Allerdings habe ich für einen Fortschrittsbalken aus Excel immer die Anzahl der Zeilen ermittelt.
Dadurch das ich nun ungebunden arbeite, kommt es hier zu einem Fehler.
'Excel einbinden
Dim sImportMaxPGR As Integer
Dim xlsApp As Object
Dim xlsWb As Object
Dim xlsSh As Object
xlsApp = CreateObject("Excel.Application")
xlsWb = xlsApp.Workbooks.add()
xlsSh = xlsWb.ActiveSheet
xlsApp.Visible = False Nun Frage ich die Anzahl der Zeilen in Excel ab, also die letzte beschrieben.
sImportMaxPGR = xlsSh.Cells.SpecialCells( _
xlsApp.XlCellType.xlCellTypeLastCell).Row - 1 Nun kommt es hier zu einem Fehler "Der öffentliche Member XICellType für den Typ ApplicationClass wurde nicht gefunden". Könnt ihr mir hier bitte nochmal helfen? Wenn ich nun auf Eigenschaften aus Excel zugreifen möchte muss ich doch mit xlsApp arbeiten oder?
Gruß
Marja | |
Re: Windows 10 (Entwicklung) und Windows (UserUmgebung) | | | Autor: effeff | Datum: 24.04.18 13:55 |
| Moin!
Du kannst leider beim Late Binding keine Methoden benutzen, die ein Early Binding bereitstellt. Es gibt zwar Konstanten, die Du stattdessen benutzen kannst, doch in Deinem Fall kenne ich die nicht. Ich suche die letzte beschriebene Zeile z. B. so:
Dim x As Object
Dim wb As Object
Dim sh As Object
Dim GefZelle As Object
Dim Row As Integer = 0
x = CreateObject("Excel.Application")
wb = x.workbooks.open("d:\juhu.xlsx")
sh = wb.sheets("Tabelle1")
GefZelle = sh.columns("A:A").find(What:="")
If GefZelle Is Nothing Then
MessageBox.Show("Es wurde keine leere Zelle gefunden!")
Else
Row = GefZelle.row - 1
MessageBox.Show("Die gesuchte Zeile befindet sich in Zeile :" & Row)
End If EALA FREYA FRESENA | |
| 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 |
|
|
sevGraph (VB/VBA)
Grafische Auswertungen
Präsentieren Sie Ihre Daten mit wenig Aufwand in grafischer Form. sevGraph unterstützt hierbei Balken-, Linien- und Stapel-Diagramme (Stacked Bars), sowie 2D- und 3D-Tortendiagramme und arbeitet vollständig datenbankunabhängig! Weitere InfosTipp des Monats 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-2024 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
|
|