Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi OLE mit Excel 365 (https://www.delphipraxis.net/208929-ole-mit-excel-365-a.html)

Waaaghboss85 30. Sep 2021 13:30

OLE mit Excel 365
 
Hallo zusammen,

seit der Umstellung von Excel 2010 auf Excel 365 (lokal installiert) bekomme ich bei der Benutzung des OleObjects folgende Fehlermeldung:

Klasse nicht registriert, ProgID: „Excel.Application“

Mein Code in vereinfachter Form sieht wie folgt aus:

Delphi-Quellcode:
procedure FillXLS;
var
  ExcelApp: OleVariant;
begin
  ExcelApp := CreateOleObject('Excel.Application'); // <-- hier kommt der Fehler
  ExcelApp.Workbooks.Open('C:\sample.xlsx');
  ExcelApp.Cells[3, 3].Value := 'Hallo Welt';
end;
Die Programme laufen auf Systemen mit Excel 2010 tadellos. Meine Frage ist, welche Änderungen muss ich vornehmen, damit ich die Kommunikation via OLE in Excel 365 weiterhin nutzen kann?


Mit freundlichen Grüßen,
Waaaghboss85

hoika 30. Sep 2021 13:42

AW: OLE mit Excel 365
 
Hallo,
gibt es bei Excel365 "Komplettinstallation"?
Dann wäre das die richtige Installationsart.

Es gibt auch "vollständige Reparatur" oder so ähnlich.

Olli73 30. Sep 2021 13:46

AW: OLE mit Excel 365
 
Vielleicht hilft dir das hier weiter (Registry-Eintrag):

https://stackoverflow.com/questions/...e-installation

Oder du musst die 32 bit Version von Office installieren.

Papaschlumpf73 30. Sep 2021 13:49

AW: OLE mit Excel 365
 
Excel muss natürlich lokal installiert sein. Der Fehler tritt leider immer mal wieder auf. Konnte bisher jedoch immer mit der Office-Schnellreparatur wieder behoben werden.

Waaaghboss85 30. Sep 2021 21:18

AW: OLE mit Excel 365
 
Auf die Installationsart habe ich leider keinen Einfluss, da dieses Office-Packet automatisiert installiert wurde.
Genauso wenig habe ich die Möglichkeit Änderung, sprich eine Reparatur durchzuführen, da diese Möglichkeit administrativ blockiert würde.

Das mit den Registry Einträgen werde ich ausprobieren.

@Papaschlumpf73
Was meintest du mit, tritt leider immer mal wieder auf?
Ist das ein bekannter Bug, was normalerweise nicht passieren sollte und ich habe Pech gehabt :shock:, oder wie muss ich das verstehen?

Schonmal vielen Dank für die Antworten. :)

Papaschlumpf73 30. Sep 2021 21:41

AW: OLE mit Excel 365
 
Ja, der Fehler taucht so alle 3 bis 9 Monate wieder auf. Möglicherweise nach irgendwelchen Updates. Seit Windows 8 weiß ich schon gar nicht mehr, wo ich das überhaupt sehen kann. Soll MS doch selber danach suchen. Nach 20 Jahren Windows immer wieder umbauen. Völlig planlos diese Firma. Ich meide Windows wo ich nur kann. Wenigstens ist die Schnellreparatur von Microsoft 365 (heißt ja auch nicht mehr Office 365) in wenigen Minuten durch. Blöd, wenn das bei euch gesperrt ist.

Waaaghboss85 1. Okt 2021 06:22

AW: OLE mit Excel 365
 
Ich habe ein 32-Bit Excel auf einem 64-Bit Win10 und habe den Tipp mit der Registry von Olli73 druchgeführt. Leider ohne Erfolg. :cry:

Aber ich habe die Aussage von Papaschlumpf73 zum Anlass genommen und habe aus Excel heraus (Kontoeinsellungen) nach Updates gesucht, gefunden und installiert und siehe da, es klappt. :-D


Vielen Dank für die hilfreichen Tipps und Beste Grüße,
Waaaghboss85

hoika 1. Okt 2021 08:44

AW: OLE mit Excel 365
 
Hallo,
Zitat:

nach Updates gesucht
was waren das vor Updates?

PS:
Gut, dass es bei Dir jetzt klappt.

Bernhard Geyer 1. Okt 2021 08:47

AW: OLE mit Excel 365
 
Da wir bei unseren Kunden auch öfters mal den Fall haben, das die OLE-Schnittstelle kaputt ist (Diverse Probleme damit),
hatten wir uns entschlossen einen native Unterstützung (umschaltbar) einzubauen

Bisher hat kein Kunde gemeckert, das es mit der von Flexel geladenen/geschriebenen Dateien Probleme gäbe.

https://www.tmssoftware.com/site/flexcel.asp

Kostet zwar ein paar € - Sind aber längst du eingesparte Supportstunden (die u.U. nicht den Kunden in Rechnung stellbar sind) wieder drin.

Waaaghboss85 1. Okt 2021 10:15

AW: OLE mit Excel 365
 
Mein aktueller Build ist der mit Veröffentlichungsdatum 14. September 2021 und vor dem Update hatte ich wahrscheinlich den Build vom 10. August 2021.

https://docs.microsoft.com/de-de/off...5-apps-by-date

Zitat:

Da wir bei unseren Kunden auch öfters mal den Fall haben, das die OLE-Schnittstelle kaputt ist (Diverse Probleme damit),
hatten wir uns entschlossen einen native Unterstützung (umschaltbar) einzubauen

Bisher hat kein Kunde gemeckert, das es mit der von Flexel geladenen/geschriebenen Dateien Probleme gäbe.

https://www.tmssoftware.com/site/flexcel.asp

Kostet zwar ein paar € - Sind aber längst du eingesparte Supportstunden (die u.U. nicht den Kunden in Rechnung stellbar sind) wieder drin.

Die struktuelle Umstellung auf eine Komponente habe ich auch in Betracht gezogen (danke für den Link), aber ich wollte erstmal nach einer "einfachen Lösung" suchen, da ich aktuell nicht die Zeit dafür habe, alle Programme umzucoden.
Deshalb bin ich froh, die Ursache für mein Problem gefunden zu haben und kann nur hoffen, dass MS in diese Richtung nicht wieder verschlimmbessert. :stupid:


Alle Zeitangaben in WEZ +1. Es ist jetzt 19:54 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz