Tomasz Frydryk

Tomasz Frydryk Właściciel, Domino
Solutions

Temat: OLE w dokumencie

Mam następujący problem, być może ktoś się z czymś takim zetknął.
W aplikacji przechowuję dokumenty MSWord w postaci obiektów OLE. Obiekty są uruchamiane przy otwieraniu dokumentu. Wszystko działa pięknie, zachowuje kolejne wersje dokumentu, uaktualnia się itd.
Jeden z pracowników ma Offica 2007, wszyscy pozostali 2003. I pojawił się problem: dokumenty utworzone przez tego z Officem 2007 nie dają się otworzyć u pozostałych. Gdy podejrzę w Debugerze właściwości obiektu OLE nie ma on właściwości Class. I taki też jest komunikat (Object's application or class is not available). Co ciekawe, na stacji z Office 2007 obiekt się uruchamia.
Lotus Notes w wersjach 8.0.1 i 8.0.2, baza na serwerze 8.0.1 na Linuxie.
Obiekt tworzę w dokumencie przez:
Set uobj=ubody.EmbedObject( EMBED_OBJECT, "Word.Document", "", "Umowa" )
Tomasz Frydryk

Tomasz Frydryk Właściciel, Domino
Solutions

Temat: OLE w dokumencie

Już sobie poradziłem.
Zmieniłem sposób tworzenia obiektu OLE na
Set uobj=ubody.EmbedObject( EMBED_OBJECT, "Word.Document.8", "", "Umowa" )
Po zainstalowaniu pakietu zgodności z 2007 dla Office 2000 zaczęło pokazywać we właściwościach obiektu OLE właściwość Class.
Trochę to wszystko dziwne, ale dziwienie się światu to cecha mędrców... :)
Marcin Biel

Marcin Biel Delivery Manager

Temat: OLE w dokumencie

pierwsze co mi przychodzi do głowy to to, że Office 2007 zapisuje natywnie pliki jako .docx, .xlsx etc. Czy machiny z Office 2003 mają poprawkę umożliwiającą przeglądanie właśnie .docx?
Chodzi mi dokłanie o poprawkę Microsoft Office Compatibility Pack for Word, Excel, and PowerPoint File Formats
Tomasz Frydryk

Tomasz Frydryk Właściciel, Domino
Solutions

Temat: OLE w dokumencie

To właśnie ciekawostka przyrodnicza. Maszyny z 2003 mają odpowiedni Compatibility Pack. Dokumenty docx z załączników uruchamiają się poprawnie. Ale obiekty OLE już nie.
W Relase Notes znalazłem informację, że jest to znany problem i workaround polega na tym, że można zapisać dokument w formacie MSWord 97, a następnie ręcznie utworzyć obiekt OLE z pliku.
Może gdyby pogrzebać w rejestrze Windows dało by się zmusić Worda 2000 z Compatibility Pack do otwarcia OLE. Bo sam format powinien zrozumieć. Chociaż z drugiej strony przy otwieraniu docx w Wordzie 2000 pojawia się komunikat: Konwertuję dokument.
W każdym razie wymuszenie konkretnej wersji obiektu OLE rozwiązało mój problem.
Wojciech Kroczak

Wojciech Kroczak DYSANT Software Sp.
z o.o.

Temat: OLE w dokumencie

A może warto użytkownikowi korzystającemu z Office 2007 ustawić w preferencjach MS Office domyślne zapisywanie plików w formacie MS Office 2003
Tomasz Frydryk

Tomasz Frydryk Właściciel, Domino
Solutions

Temat: OLE w dokumencie

Wojciech Kroczak:
A może warto użytkownikowi korzystającemu z Office 2007 ustawić w preferencjach MS Office domyślne zapisywanie plików w formacie MS Office 2003
To nic nie daje, ole są inaczej tworzone...

Następna dyskusja:

F9 w dokumencie "response"




Wyślij zaproszenie do