O tym, że nowsze wersje Excela nie są zgodne ze starymi, mówi się od lat. Zazwyczaj problemy daje się obejść, eksportując skoroszyt w starym formacie, poprawiając kod makropoleceń i wykonując niektóre obiekty, takie jak schematy organizacyjne na nowo (!) w innej wersji pakietu oraz przestawiając na stałe Excela na stary, sprawdzony format. Obiektów rysunkowych nie da się sensownie przekleić przez schowek. Problem dotyczy także opcji kopiuj – wklej między dwiema instancjami tej samej wersji programu – nie przechodzi obiekt w wysokiej jakości, ze wszystkimi atrybutami.
Proszę zrobić eksperyment – otworzyć w Excelu 2010 skoroszyt zawierający na jednym arkuszu sformatowane dane, jakiś wykres i grafikę, a następnie skopiować odpowiedni obszar i wkleić do nowego pliku. Działa. Teraz otwieramy nową instancję Excela, powtarzamy operację, wklejając do niej całość i … nie działa. Wklejone są dane, ale bez formatowania. Problem występuje także przy kopiowaniu między Excelem zainstalowanym lokalnie, a tym, który pracuje w środowisku terminalowym.
Mimo to, że dane przechodzą przez schowek w binarnym formacie BIFF12 (zzipowany pakiet zgodny z OPC, z obiektami .bin), Excel musi przesyłać jakoś te informacje wewnętrznie, w obrębie jednej instancji. Poza instancją – nie potrafi. Błąd ten pojawił się w Excelu 2007 i w najnowszej wersji jest równie dokuczliwy. Ku mojemu zdziwieniu ani Lotus Symphony, jak i OpenOffice nie ma tego problemu, tam kopiuj – wklej działa między wersjami, instancjami, a nawet maszynami.
Gdy szukałem jakiegoś rozwiązania tego problemu, znalazłem tylko mnóstwo pytań i kilka analiz przyczyn, między innymi tę stronę. Wpis blogowy potwierdził także moje spostrzeżenia, że problem pojawił się razem z Offisem 2007 i nie występuje w StarOffisie czy OpenOffisie.
Aż się prosi zadać tutaj kilka pytań:
Dlaczego nie naprawiono tego błędu w najnowszej wersji Excela, chociaż błąd jest znany od początku bety Office 2007? Dlaczego Microsoft Excel rejestruje binarny format BIFF12 w schowku a potem z niego nie może skorzystać? Dlaczego nie przesyła tych danych w OOXMLu, umożliwiając przy okazji aplikacji klienckiej integrację z Excelem przez schowek przy wykorzystaniu OOXML? Nie wiem.
W przypadku zewnętrznych aplikacji zintegrowanych z Excelem (na przykład pobierających sformatowane informacje, przetwarzających je i umieszczających gotowe wykresy w arkuszu przez schowek), będzie to problem. Na razie firmy pracują na Offisie 2003 i nie kwapią się z migracją do najnowszej wersji. Nic dziwnego, oprócz zmiany interfejsu użytkownika, wymagającej dodatkowego szkolenia, pojawiają się problemy ze zgodnością z arkuszami i aplikacjami.