Jak tworzyć przenośne pliki z łączami?

Dokumenty cyfrowe możemy w bardzo prosty sposób przenosić pomiędzy komputerami. Jednak po wykonaniu kopii może okazać się, że odwołania do innych plików przestały działać. Z artykułu dowiemy się, dlaczego tak się dzieje i jak temu zapobiec.

Ścieżki absolutne i ścieżki względne

Kluczem do zrozumienia tego problemu jest rozróżnienie ścieżek na absolutne i względne. Ścieżka to inaczej lokalizacja pliku lub katalogu na dysku twardym (puryści wybaczą mi, że pomijam system plików).

Ścieżki absolutne to inaczej ścieżki pełne. Zawierają one wszystkie informacje niezbędne do jednoznacznego zlokalizowania poszukiwanego pliku. Ich przykładem jest C:\Documents and Settings\Użytkownik\Pulpit\plik.odt. Czytając ją od lewej do prawej schodzimy „w dół” hierarchii katalogów.

Ścieżki względne z kolei tworzone są w odniesieniu do aktualnego pliku. Są one zrozumiałym dla komputera odpowiednikiem sformułowań takich jak „bieżący katalog” czy „katalog nadrzędny”. Ścieżka taka informuje nas, ile kroków dzieli obecny plik od dokumentu docelowego; sama w sobie nie mówi jednak, gdzie dokładnie na dysku znajduje się plik docelowy.

Odnośniki do plików identyfikowanych za pomocą ścieżek absolutnych będą działać dopóty, dopóki ich umiejscowienie nie uległo zmianie. Wystarczy jednak drobna różnica w nazwie jednego tylko katalogu, aby plik docelowy nie mógł zostać odnaleziony. Pozwala to na dowolne przenoszenie pliku z odwołaniami, ale tylko w obrębie naszego dysku twardego. Ponieważ na innych komputerach katalogi będą miały inne nazwy, ścieżki absolutne przestaną być poprawne. To właśnie ich wykorzystanie jest odpowiedzialne za większość problemów z przenośnością dokumentów.

Rozwiązaniem jest zastosowanie ścieżek względnych. Dzięki pominięciu fragmentu pełnej ścieżki, pliki docelowe będą mogły być odnalezione nawet po skopiowaniu na inny komputer. Ich wykorzystanie powoduje jednak, że musimy przenosić wszystkie powiązane ze sobą dokumenty jako całości — jeżeli tylko zmieni się relacja między plikami, ścieżki względne przestaną działać.

Podsumowując, ze ścieżek absolutnych powinniśmy korzystać tylko wtedy, gdy często przenosimy pliki pomiędzy różnymi katalogami, ale nigdy nie opuszczają one naszego komputera. Jeżeli jednak zamierzamy wysłać komuś nasze pliki, konieczne jest zastosowanie ścieżek względnych.

Teraz, kiedy już znamy źródło i rozwiązanie problemów podczas przenoszenia dokumentów, pozostaje nam odpowiedzieć na najważniejsze pytanie: w jaki sposób utworzyć ścieżki względne w LibreOffice?

Odpowiedź zależy od tego, z jaką konkretnie sytuacją mamy do czynienia. Poniżej przyjrzymy się najpopularniejszym z nich.

Odnośniki do innych dokumentów LibreOffice

Najważniejsza jest opcja Adresy URL w formacie względnym dla systemu plików dostępna w oknie NarzędziaOpcje...Ładuj/ZapiszOgólne. Sposób jej ustawienia jest brany pod uwagę w chwili zapisu pliku i wpływa na charakter wszystkich ścieżek w dokumencie. Gdy opcja ta jest zaznaczona, wymuszone zostają ścieżki względne; gdy zaś odznaczona — ścieżki absolutne.

Dotyczy to zdecydowanej większości odnośników, między innymi:

  • hiperłączy do innych dokumentów,
  • odwołań do komórek w innych skoroszytach arkusza kalkulacyjnego,
  • dokumentów potomnych w dokumencie głównym,
  • ustawień baz danych,
  • łączy do obiektów OLE.

Eksport do plików PDF

Jednak opisana wyżej opcja nie wpływa na generowanie plików PDF. Nawet jeżeli ją zaznaczyliśmy, hiperłącza do innych dokumentów będą zawierały ścieżki absolutne. Aby temu zaradzić, podczas eksportu do formatu PDF należy na karcie Łącza zaznaczyć opcję Eksportuj względne adresy URL do systemu plików.

Warto także zwrócić uwagę na inną obecną tam opcję, Konwertuj odwołania dokumentu do docelowych plików PDF. Jej zaznaczenie powoduje, że wszystkie hiperłącza wskazujące na pliki pakietu biurowego kierować będą do plików PDF o identycznej nazwie. Dla przykładu: łącze do pliku Uzupełnienie.odt w wynikowym pliku PDF odwoływać będzie do pliku Uzupełnienie.pdf.

Obiekty OLE

Podczas tworzenia obiektu OLE, domyślnie LibreOffice wykonuje kopię wskazanego fragmentu dokumentu i osadza ją w pliku. Dzięki temu nie musimy się martwić o błędy w ścieżkach, ale zawartość takiego obiektu nie uwzględnia zmian dokonanych w dokumencie źródłowym. Jeżeli nam na nich zależy, podczas wstawiania obiektu (WstawObiektObiekt OLE...Utwórz z pliku) musimy zaznaczyć opcję Łącze do pliku.

W efekcie LibreOffice zapisze odnośnik do pliku źródłowego. To, jakiego rodzaju ścieżki użyje, zależy od opisanego wcześniej sposobu konfiguracji programu.

Odświeżanie zawartości pobranej z innych dokumentów

Jeżeli fragmenty naszego dokumentu są pobierane z innych plików, w chwili otwarcia LibreOffice zapyta, czy ma je odświeżyć. Jeżeli się zgodzimy, wszystkie zmiany w powiązanych dokumentach zostaną uwzględnione. Co jednak w sytuacji, gdy odmówiliśmy, a później zmieniliśmy zdanie?

Rozwiązaniem jest wybranie z menu EdycjaŁącza.... Pojawi się okno zawierające listę wszystkich odnośników do innych plików. Wystarczy zaznaczyć którąś z pozycji i kliknąć przycisk Aktualizuj po prawej stronie, aby pobrać jego aktualną zawartość.

Na liście tej działają także modyfikatory lewego przycisku myszy (Ctrl oraz Shift) oraz skrót klawiaturowy Ctrl + A. Za ich pomocą można w prosty sposób odświeżyć wiele pozycji jednocześnie.

Zamiennie możemy skorzystać z pozycji w menu NarzędziaAktualizujAktualizuj wszystko, która nie działa jednak w programie Calc (nie powoduje pobrania aktualnych wartości komórek z innych skoroszytów).

Poprawa istniejących odnośników

Czasami chcemy zmienić pliki, z których pobierana jest zawartość naszego dokumentu. W wyjątkowych sytuacjach zdarza się także, że niektóre pliki identyfikowane są za pomocą ścieżek względnych, a inne za pomocą ścieżek absolutnych (lub odwrotnie).

W takiej sytuacji powinniśmy otworzyć okno EdycjaŁącza, wskazać ścieżkę na liście i wybrać przycisk Modyfikuj.... Ponowne wskazanie pliku zmusi program do powtórnego odczytania ścieżki, co powinno naprawić błąd.

Innym rozwiązaniem jest ręczna edycja zawartości pliku. Interesują nas wtedy wartości atrybutów xlink:href. Zwróćmy przy tym uwagę, że bieżący katalog jest identyfikowany za pomocą ../.

Podobał Ci się ten artykuł? Zapisz się na listę subskrybentów i otrzymuj informacje o następnych

Komentarzy: 1

  • Kasia pisze:

    Mogę prosić o pomoc? Mam problem z dodawaniem łączy w Calcu.

    Mam plik X w którym mam arkusze A i B. W arkuszu B mam tabelę: w jednej kolumnie produkty, w drugiej odpowiadające im ceny. W komórkę z ceną wpisuję ścieżkę komórki z ceną danego produktu w pliku Y, też Calc. Ścieżka wygląda mniej więcej w ten sposób:
    ‚file://komp/folder/folder2/nowy_cennik_2016.ods’#$’Rowery Romet’.E$9

    Plik X jest utworzony w taki sposób, aby arkuszu A wybierając w komórce z rozwijanej listy (funkcja poprawności danych) nazwę produktu, automatycznie w komórce obok, poprzez funkcję „Wyszukaj pionowo” pojawiała się jego cena.
    Problem pojawia się, kiedy w komórce A wstawiam dodatkowe wiersze powyżej danej komórki (a przynajmniej w takiej sytuacji udało mi się ten problem zaobserwować). Mianowicie zupełnie zmienia mi się zawartość komórek ze ścieżką w Arkuszu B. Przeskakują na inne komórki w pliku Y. Dopiero aktualizacja danych, przywraca takie wartości, jakie powinny być.
    Czy spotkałeś się już z taką sytuacją? Co może być jej przyczyną? Dodam jeszcze, że plik Y jest chroniony przed zmianami.