Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Word 2016 und OLE (https://www.delphipraxis.net/187433-word-2016-und-ole.html)

Harry Stahl 28. Nov 2015 23:20

Word 2016 und OLE
 
Stelle gerade fest, dass unter Word 2016 der Zugriff über OLE nicht mehr funktioniert (unter Word 2013 geht es).

Z.B. das geht nicht mehr:

Delphi-Quellcode:
  ww8 := GetActiveOleObject('Word.Application'); // Das geht noch
  ww8.ActiveDocument.FormFields.Shaded := false; // da kommt eine Fehlermeldung
Geladen ist zum Ausführungszeitpunkt tatsächlich ein Dokument mit Formfeldern. Es wird aber der Fehler zurückgegeben, dass der Befehl nicht zur Verfügung steht, weil kein Dokument geöffnet sei.

Makros etc. ist in den Word-Einstellungen aktiviert.

Weiß Jemand Abhilfe?

Harry Stahl 29. Nov 2015 15:12

AW: Word 2016 und OLE
 
OK, anscheinend bin ich nicht der einzige Delphi-Entwickler mit dem Problem:

https://social.technet.microsoft.com...ice2016ITProDE

Aber leider keine Lösung in Sicht (Oma Google brachte nichts zu Tage).

Wäre aber dumm, wenn Delphi-Programme bei der OLE-Automation fürs aktuelle Office-Paket passen müssten...:(

Ich verwende hier gerade Delphi XE7 mit einem 32-Bit-Programm.

Harry Stahl 29. Nov 2015 18:12

AW: Word 2016 und OLE
 
So ein Mist. Wenn man den oben genannten Source-Code in ein 64-Bit-Programm packt, funktioniert es.

Sollte es denn das tatsächlich so sein, dass MS keine 32-Bit OLE-Automation mehr im Office 2016 64-Bit Fassung unterstützen will? Office 2016 wird es ja wohl auch im 32-Bit-Format für 32-Bit-Windows geben. Müsste also prüfen, ob Office ein 32-Bit oder 64-Bit Fassung hat.

Für den Fall muss ich mir also im Moment erstmal den Code in ein Extra 64-Bit-Programm oder DLL packen, damit ich die Adressenübergabe an Word 2016 unterstützen kann.

Kann man eigentlich von einem 32-Bit-Programm eine 64-Bit DLL aufrufen, wohl eher nicht, oder?

Habe bislang, wenn ich 64-Bit Funktionen benötigte, das immer mit 64-Bit Hilfsprogrammen gelöst.

EDIT: Seltsam: Jetzt funktioniert wieder alles?

Chemiker 29. Nov 2015 21:23

AW: Word 2016 und OLE
 
Hallo Harry Stahl,

ich habe selber noch nicht mit Office 2016 gearbeitet, bin noch nicht dazu gekommen es zu installieren.
Um das Problem etwas einzugrenzen, kann man mit Excel 2016 mit VBA das Word 2016 über OLE steuern?
Aus Erfahrung benutze ich kein geöffnetes Word, sondern öffne eine eigene Word-Instanz es könnte zum Beispiel sein, dass eine weitere Word-Instanz nicht sichtbar im Speicher ist und diese Angesprochen wird.

Bis bald Chemiker

Bernhard Geyer 29. Nov 2015 21:36

AW: Word 2016 und OLE
 
Ist den die Version auch schon aktiviert? Ich hatte das auch früher mal bein einer Installation die noch nicht aktivier/registriert war.

Harry Stahl 29. Nov 2015 22:53

AW: Word 2016 und OLE
 
Ja, ist aktiviert. Ich vermute mal, dass möglicherweise das Word noch nicht voll installiert war. Es handelt sich hier um das Office 365, das ich erst gestern hier auf dem PC installiert hatte. Das installiert erst mal so die grundsätzlichen Dinge, weitere benötigte Sachen werden nachgeladen.

Vielleicht war ja tatsächlich noch nicht alles vollständig da, was für die OLE-Automation benötigt wird.

Seltsam. Lege ich mal unter obskures Computer-Zeugs ab.:roll::wink:

himitsu 30. Nov 2015 09:25

AW: Word 2016 und OLE
 
Microsoft hat da ständig Probleme.

MAPI und Mailanhänge geht bei Outlook nicht so gut, also haben wir uns dafür einen .NET-Wrapper geschrieben.
Auch den brauchen wir in 32 Bit und 64 Bit, damit er mit Outlook richtig funktioniert.


Letztendlich mußt du da aufpassen, denn es gibt 3 Zustände, die man prüfen muß, da es überall andere Probleme geben kann.
32 Bit-Ziel-Programm auf 32-Bit Windows
64 Bit-Ziel-Programm auf 32-Bit Windows
32 Bit-Ziel-Programm auf 64-Bit Windows
64 Bit-Ziel-Programm auf 64-Bit Windows

bzw.
32 Bit-Ansteuerprogramm und 32 Bit-Ziel-Programm auf 32-Bit Windows
32 Bit-Ansteuerprogramm und 64 Bit-Ziel-Programm auf 32-Bit Windows
32 Bit-Ansteuerprogramm und 32 Bit-Ziel-Programm auf 64-Bit Windows
32 Bit-Ansteuerprogramm und 64 Bit-Ziel-Programm auf 64-Bit Windows
64 Bit-Ansteuerprogramm und 32 Bit-Ziel-Programm auf 32-Bit Windows
64 Bit-Ansteuerprogramm und 64 Bit-Ziel-Programm auf 32-Bit Windows
64 Bit-Ansteuerprogramm und 32 Bit-Ziel-Programm auf 64-Bit Windows
64 Bit-Ansteuerprogramm und 64 Bit-Ziel-Programm auf 64-Bit Windows

Phoenix 30. Nov 2015 10:02

AW: Word 2016 und OLE
 
Microsoft Empfiehlt seinen Nutzern, eher die 32-bit Version von Office zu nutzen, insbesondere wenn Plugins verwendet werden: https://support.office.com/de-DE/art...e-6c6f49b8d261

Aber davon abgesehen: Ja, auch OLE is am Ende des Tages nur COM, und da sollten beide Ende die gleiche Bittigkeit aufweisen. Du müsstest also vorher prüfen, ob Du ein 32 oder 64 bit Office hast und dann die entsprechende Version Deiner Automatisierung installieren lassen.

PatrickByTechDo 8. Mai 2018 05:49

AW: Word 2016 und OLE
 
Hallo Leute,

Gibt es mittlerweile eine Lösung, Office 2016 Dokument in einem OleContainer zu öffnen?

Ich verzweifel gerade daran,weil das Office 2016 das Dokument versucht ausserhalb meines OleContainer zu öffnen und das schlägt auch noch fehl. Zudem wird an den Dateiname immer MyDok(2).docx angehangen. Warum auch immer!?!!!??!!

Ich hatte etwas gelesen, dass es deshalb nicht funktioniert, weil man dazu ein Manifest benötigt. Wegen der Virtualisierung! Aber leider habe ich dazu keine Antwort finden können.

Lg


Alle Zeitangaben in WEZ +1. Es ist jetzt 07:18 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